diff --git a/workflow/templates/easy/NImParamRadiusGui.m b/workflow/templates/easy/NImParamRadiusGui.m index aebac776..e9e13518 100755 --- a/workflow/templates/easy/NImParamRadiusGui.m +++ b/workflow/templates/easy/NImParamRadiusGui.m @@ -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 - - -% 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 - - -%==================================== + 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 + % 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 - -hSearchRange = uicontrol(... - 'Style', 'edit',... - 'String',CSrchRange,... - 'Units','normalized',... - 'Position', btnPos,... - 'callback',{@CsearchRange}); + end - function CsearchRange(source,~) - user_entry = str2double(get(source,'string')); + 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 + + 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 + CSrchRng=user_entry; + 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]) - - function load_listbox(source,~) + 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,~) %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 - - %ImParMat(7)=MPnum - - end - scLst; - -%***************************************************************** -%-------------------10 10 10 10----------- + end -btnNumber=10; - yPos=0.85-(btnNumber-1)*(btnHt+spacing); - btnPos=[xPos yPos-spacing btnWid btnHt]; + 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)'); -hedit8 = uicontrol(... - 'Style', 'pushbutton',... - 'String',{'Continue'},... - 'Units','normalized',... - 'Position', btnPos,... - 'callback','uiresume(gcbf)'); + % Labels + xLPos=0.175; + yPos=0; + btnWid=0.20; - -%------------------------------ - -%*************************************************************** -%********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]; - -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]; - -htxt = uicontrol(... - 'Style', 'text',... - 'String','Dither',... - 'Units','normalized',... - 'Position', btnPos); -%-------------------77777----------- + 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); -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=6; + yPos=0.85-(lblNumber-1)*(btnHt+spacing); + btnPos=[xLPos yPos-spacing btnWid btnHt]; + htxt=uicontrol(... + 'Style', 'text',... + 'String','Dither',... + 'Units','normalized',... + 'Position', btnPos); + 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); -uiwait(gcf); -for i=1:length(scLst) - CSearchRange(str2double(scLst(i)))= CSrchRng; - ImParMat(12)= CSrchRng; -end - -ImParMat; -CSearchRange; -try + uiwait(gcf); + for i=1:length(scLst) + CSearchRange(str2double(scLst(i)))=CSrchRng; + ImParMat(12)=CSrchRng; + end + + 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 - - - - -