Format NlmParamRadiusGui.m

This commit is contained in:
2024-07-25 15:03:45 -04:00
parent d1b7c87d0b
commit a3fa3f510e

View File

@@ -1,281 +1,247 @@
%% CALLED BY par4Gbl_Main8c.m %%
function NImParamRadiusGui(expDir) %, numOfPrtTimes) 122111replace removed
global SWsingleSc
global SWgrowthArea
%global selScan
global scan
global scLst
global ImParMat
%global CSearchRange
global CSrchRng
global defImParMat
global fhImRun
global fhconsole
global resDir
global ExpOutmat
global numRows;
global numCols;
global scanSize
global scanMax
defImParMat=[1, 1, 15, 34, 24, 1,0,0,1,14,1,18]; %Ncode ImRobot adaptation
if ImParMat(3)==0 || ImParMat(4)==0 ||ImParMat(5)==0 || ImParMat(10)==0 ||ImParMat(11)==0
ImParMat=defImParMat;
end
if size(ImParMat,2)<12
ImParMat(12)=18; %Default before user input CsearchRange value
msg= 'Data made before SearchRange user entry added (ImParMat(12). 18 was the set value and the current default.)';
end
%ImParMat=defImParMat; %Activate for INITIAL USE only
MPnum=1;
destPerMP=1;
selScan=1;
SWgrowthArea=1;
function NImParamRadiusGui(expDir)
global SWsingleSc
global SWgrowthArea
%global selScan
global scan
global scLst
global ImParMat
%global CSearchRange
global CSrchRng
global defImParMat
global fhImRun
global fhconsole
global resDir
global ExpOutmat
global numRows;
global numCols;
global scanSize
global scanMax
if exist(fullfile(resDir,'PTmats','NImParameters.mat'))
defImParMat=[1, 1, 15, 34, 24, 1,0,0,1,14,1,18]; %Ncode ImRobot adaptation
if ImParMat(3)==0 || ImParMat(4)==0 ||ImParMat(5)==0 || ImParMat(10)==0 ||ImParMat(11)==0
ImParMat=defImParMat;
end
if size(ImParMat,2)<12
ImParMat(12)=18; %Default before user input CsearchRange value
msg='Data made before SearchRange user entry added (ImParMat(12). 18 was the set value and the current default.)';
end
% ImParMat=defImParMat; %Activate for INITIAL USE only
MPnum=1;
destPerMP=1;
selScan=1;
SWgrowthArea=1;
if exist(fullfile(resDir,'PTmats','NImParameters.mat'))
load(fullfile(resDir,'PTmats','NImParameters'));
else
else
load NImParameters
end
ImParMat;
%end
%if ~exist('CSearchRange','var') || isempty(CSearchRange)
if ~isequal(exist(fullfile(resDir,'Fotos','CSearchRange.mat')),0)
end
ImParMat;
%if ~exist('CSearchRange','var') || isempty(CSearchRange)
if ~isequal(exist(fullfile(resDir,'Fotos','CSearchRange.mat')),0)
load(fullfile(resDir,'Fotos','CSearchRange'))
CSearchRange;
end
end
% yInitPos=0.30;
xPos=0.05;
btnWid=0.10;
btnHt=0.05;
spacing=0.02;% Spacing between the button and the next command's label
% yInitPos=0.30;
xPos=0.05;
btnWid=0.10;
btnHt=0.05;
spacing=0.02;% Spacing between the button and the next command's label
%====================================
% The ADD Groups button
btnNumber=1;
yPos=0.85-(btnNumber-1)*(btnHt+spacing);
btnPos=[xPos yPos-spacing btnWid btnHt];
fhImParm=gcf;
if exist('resDir','var')&& ~isempty(resDir)
btnNumber=1;
yPos=0.85-(btnNumber-1)*(btnHt+spacing);
btnPos=[xPos yPos-spacing btnWid btnHt];
fhImParm=gcf;
if exist('resDir','var')&& ~isempty(resDir)
set(fhImParm,'NumberTitle','off')
set(fhImParm,'Name',strcat('ImageAnalysis- ',char(resDir)))
else
else
set(fhImParm,'NumberTitle','off')
set(fhImParm,'Name','EASYconsole -Exp. Analysis NOT selected.')
end
end
btnNumber=5;
yPos=0.85-(btnNumber-1)*(btnHt+spacing);
btnPos=[xPos yPos-spacing btnWid btnHt];
srcRadius=ImParMat(10);
hedit=uicontrol(...
'Style', 'edit',...
'String',srcRadius,...
'Units','normalized',...
'Position', btnPos,... % [.002 .70 .08 .10],...
'callback',{@entryRadius}); % 'Position', [5 100 60 20])
btnNumber=5;
yPos=0.85-(btnNumber-1)*(btnHt+spacing);
btnPos=[xPos yPos-spacing btnWid btnHt];
srcRadius=ImParMat(10);
hedit = uicontrol(...
'Style', 'edit',...
'String',srcRadius,...
'Units','normalized',...
'Position', btnPos,... % [.002 .70 .08 .10],...
'callback',{@entryRadius}); % 'Position', [5 100 60 20])
function entryRadius(source,~)
user_entry = str2double(get(source,'string'));
function entryRadius(source,~)
user_entry=str2double(get(source,'string'));
if (isnan(user_entry)||(user_entry<12)||(user_entry>17))
errordlg('You must enter a numeric value between 12 and 17','Bad Input','modal')
return
errordlg('You must enter a numeric value between 12 and 17','Bad Input','modal')
return
end
Radius=user_entry;
ImParMat(10)= Radius;
ImParMat(10)=Radius;
Radius;
end
end
btnNumber=6;
yPos=0.85-(btnNumber-1)*(btnHt+spacing);
btnPos=[xPos yPos-spacing btnWid btnHt];
srcDither=ImParMat(6);
hedit=uicontrol(...
'Style', 'edit',...
'String',srcDither,...
'Units','normalized',...
'Position', btnPos,...
'callback',{@entryDither});
btnNumber=6;
yPos=0.85-(btnNumber-1)*(btnHt+spacing);
btnPos=[xPos yPos-spacing btnWid btnHt];
srcDither= ImParMat(6);
hedit = uicontrol(...
'Style', 'edit',...
'String',srcDither,...
'Units','normalized',...
'Position', btnPos,...
'callback',{@entryDither});
function entryDither(source,~)
user_entry = str2double(get(source,'string'));
function entryDither(source,~)
user_entry=str2double(get(source,'string'));
if (isnan(user_entry)||(user_entry<0)||(user_entry>5))
errordlg('You must enter a numeric value between 1 and 4','Bad Input','modal')
return
errordlg('You must enter a numeric value between 1 and 4','Bad Input','modal')
return
end
Dither=user_entry;
ImParMat(6)= Dither;
ImParMat(6)=Dither;
Dither;
end
%-------------------77777----------- Added July 7,2015 to allow Search Range constraint
btnNumber=7;
yPos=0.85-(btnNumber-1)*(btnHt+spacing);
btnPos=[xPos yPos-spacing btnWid btnHt];
try
CSrchRange=ImParMat(12);
CSrchRng=ImParMat(12);
catch %Legacy default value was 18 before being made a user input variable (ImParMat(12)). A preferable value now might be 12 or 14.
CSrchRange=18;
ImParMat(12)=18;
CSrchRng=ImParMat(12);
end
end
hSearchRange = uicontrol(...
'Style', 'edit',...
'String',CSrchRange,...
'Units','normalized',...
'Position', btnPos,...
'callback',{@CsearchRange});
btnNumber=7;
yPos=0.85-(btnNumber-1)*(btnHt+spacing);
btnPos=[xPos yPos-spacing btnWid btnHt];
try
CSrchRange=ImParMat(12);
CSrchRng=ImParMat(12);
catch %Legacy default value was 18 before being made a user input variable (ImParMat(12)). A preferable value now might be 12 or 14.
CSrchRange=18;
ImParMat(12)=18;
CSrchRng=ImParMat(12);
end
function CsearchRange(source,~)
user_entry = str2double(get(source,'string'));
hSearchRange=uicontrol(...
'Style', 'edit',...
'String',CSrchRange,...
'Units','normalized',...
'Position', btnPos,...
'callback',{@CsearchRange});
function CsearchRange(source,~)
user_entry=str2double(get(source,'string'));
if (isnan(user_entry)||(user_entry<1)||(user_entry>50)) %originally 18; 19_0729 increased
errordlg('You must enter a numeric value between 1 and 18 12->18 recommended. (ImParMat(12)))','Bad Input','modal')
return
errordlg('You must enter a numeric value between 1 and 18 12->18 recommended. (ImParMat(12)))','Bad Input','modal')
return
end
CSrchRng=user_entry;
end
end
%Ncode 12_0120 for reading in numeric folder names
nlist=dir(fullfile(expDir,'*'));
nnn=0;
for n=1:size(nlist,1)
% Ncode 12_0120 for reading in numeric folder names
nlist=dir(fullfile(expDir,'*'));
nnn=0;
for n=1:size(nlist,1)
if (~isempty(str2num(nlist(n).name)))
nnn=nnn+1;
PnumLst(nnn)= (str2num(nlist(n).name));
sl(nnn,1)={(nlist(n).name)};
nnn=nnn+1;
PnumLst(nnn)=(str2num(nlist(n).name));
sl(nnn,1)={(nlist(n).name)};
end
end
scanSize= size(sl,1);
scanMax= max(str2double(sl));
end
scanSize=size(sl,1);
scanMax=max(str2double(sl));
hListbox = uicontrol(...
'Style', 'listbox',...
'String',sort(sl),...
'value',[],...
'max',1000,...
'min',1,...
'Units','normalized',...
'Position', [.70 .40 .10 .60],...
'callback',{@load_listbox}); %'uiresume(gcbf)'); 'Position', [5 100 60 20])
hListbox=uicontrol(...
'Style', 'listbox',...
'String',sort(sl),...
'value',[],...
'max',1000,...
'min',1,...
'Units','normalized',...
'Position', [.70 .40 .10 .60],...
'callback',{@load_listbox}); %'uiresume(gcbf)'); 'Position', [5 100 60 20])
function load_listbox(source,~)
function load_listbox(source,~)
%global CSrchRng
%global CSrearchRange
userIndx = (get(source,'value'));
userStr = (get(source,'string'));
%scLstIndx= str2num(char(strrep(userStr(userIndx), 'Scan', '')))
userIndx=(get(source,'value'));
userStr=(get(source,'string'));
%scLstIndx=str2num(char(strrep(userStr(userIndx), 'Scan', '')))
user_entry=userStr(userIndx);
user_entry=userStr(userIndx);
scLst=user_entry;
if size(scLst,1)>1
%CSrchRng=num2str(ImParMat(12))
set(hSearchRange,'string',num2str(ImParMat(12)))
%CSrchRng=num2str(ImParMat(12))
set(hSearchRange,'string',num2str(ImParMat(12)))
else
try
CSrchRng=CSearchRange(str2double(scLst));
set(hSearchRange,'string',CSearchRange(str2double(scLst)))
catch
% CSrchRng=num2str(ImParMat(12))
% set(hSearchRange,'string',num2str(ImParMat(12)))
end
try
CSrchRng=CSearchRange(str2double(scLst));
set(hSearchRange,'string',CSearchRange(str2double(scLst)))
catch
% CSrchRng=num2str(ImParMat(12))
% set(hSearchRange,'string',num2str(ImParMat(12)))
end
end
end
%ImParMat(7)=MPnum
scLst;
end
scLst;
btnNumber=10;
yPos=0.85-(btnNumber-1)*(btnHt+spacing);
btnPos=[xPos yPos-spacing btnWid btnHt];
hedit8=uicontrol(...
'Style', 'pushbutton',...
'String',{'Continue'},...
'Units','normalized',...
'Position', btnPos,...
'callback','uiresume(gcbf)');
%*****************************************************************
%-------------------10 10 10 10-----------
% Labels
xLPos=0.175;
yPos=0;
btnWid=0.20;
btnNumber=10;
yPos=0.85-(btnNumber-1)*(btnHt+spacing);
btnPos=[xPos yPos-spacing btnWid btnHt];
hedit8 = uicontrol(...
'Style', 'pushbutton',...
'String',{'Continue'},...
'Units','normalized',...
'Position', btnPos,...
'callback','uiresume(gcbf)');
%------------------------------
%***************************************************************
%********LABELS******************************
% The Labels
xLPos=0.175;
yPos=0;
btnWid=0.20;
%-------------------55555-----------
lblNumber=5;
yPos=0.85-(lblNumber-1)*(btnHt+spacing);
btnPos=[xLPos yPos-spacing btnWid btnHt];
yPos=0.85-(lblNumber-1)*(btnHt+spacing);
btnPos=[xLPos yPos-spacing btnWid btnHt];
htxt=uicontrol(...
'Style', 'text',...
'String','Radius',... %'String','Width',...
'Units','normalized',...
'Position', btnPos);
htxt = uicontrol(...
'Style', 'text',...
'String','Radius',... %'String','Width',...
'Units','normalized',...
'Position', btnPos);
%-------------------66666-----------
lblNumber=6;
yPos=0.85-(lblNumber-1)*(btnHt+spacing);
btnPos=[xLPos yPos-spacing btnWid btnHt];
lblNumber=6;
yPos=0.85-(lblNumber-1)*(btnHt+spacing);
btnPos=[xLPos yPos-spacing btnWid btnHt];
htxt=uicontrol(...
'Style', 'text',...
'String','Dither',...
'Units','normalized',...
'Position', btnPos);
htxt = uicontrol(...
'Style', 'text',...
'String','Dither',...
'Units','normalized',...
'Position', btnPos);
%-------------------77777-----------
lblNumber=7;
yPos=0.85-(lblNumber-1)*(btnHt+spacing);
btnPos=[xLPos yPos-spacing btnWid btnHt];
htxt=uicontrol(...
'Style', 'text',...
'String','SearchRange',...
'Units','normalized',...
'Position', btnPos);
lblNumber=7;
yPos=0.85-(lblNumber-1)*(btnHt+spacing);
btnPos=[xLPos yPos-spacing btnWid btnHt];
uiwait(gcf);
for i=1:length(scLst)
CSearchRange(str2double(scLst(i)))=CSrchRng;
ImParMat(12)=CSrchRng;
end
htxt = uicontrol(...
'Style', 'text',...
'String','SearchRange',...
'Units','normalized',...
'Position', btnPos);
uiwait(gcf);
for i=1:length(scLst)
CSearchRange(str2double(scLst(i)))= CSrchRng;
ImParMat(12)= CSrchRng;
end
ImParMat;
CSearchRange;
try
ImParMat;
CSearchRange;
try
save('NImParameters','ImParMat')
% save('CSearchRange','CSearchRange')
catch
save(fullfile('\','NImParameters'),'ImParMat')
%save(fullfile('\','CSearchRange'),'CSearchRange')
% save('CSearchRange','CSearchRange')
catch
save(fullfile('\','NImParameters'),'ImParMat')
% save(fullfile('\','CSearchRange'),'CSearchRange')
end
save((fullfile(resDir,'PTmats','NImParameters')), 'ImParMat');
save((fullfile(resDir,'Fotos','CSearchRange')),'CSearchRange');
close
return
end
save((fullfile(resDir,'PTmats','NImParameters')), 'ImParMat');
save((fullfile(resDir,'Fotos','CSearchRange')),'CSearchRange');
close
return
end