From 9179846c041408c3ba4ea03e2d1deeb04ca46bcf Mon Sep 17 00:00:00 2001 From: Bryan Roessler Date: Tue, 23 Jul 2024 14:12:39 -0400 Subject: [PATCH] EASYconsole2.m reformat --- workflow/templates/easy/EASYconsole.m | 601 ++++++++++++------------- workflow/templates/easy/EASYconsole2.m | 450 ------------------ 2 files changed, 295 insertions(+), 756 deletions(-) mode change 100755 => 100644 workflow/templates/easy/EASYconsole.m delete mode 100644 workflow/templates/easy/EASYconsole2.m diff --git a/workflow/templates/easy/EASYconsole.m b/workflow/templates/easy/EASYconsole.m old mode 100755 new mode 100644 index 2b906f45..29fde932 --- a/workflow/templates/easy/EASYconsole.m +++ b/workflow/templates/easy/EASYconsole.m @@ -1,55 +1,19 @@ % Launch the MATLAB EASY console - -% From EstartConsole.m -clear; -clc; -global openExpfile -global openExppath -global newExpfile -global newExppath -global SWnewExp -global ExpOutmat -global ExpPath -global matDir -global resDir -global wCodeDir -global fhconsole -global ImParMat -global scan - -% Set working dir as the pwd -wCodeDir=pwd - -% Try to enter WCodeDir -function returnHome - global wCodeDir - try - cd(wCodeDir) - catch - msgbox('Failed to enter selected default directory so starting search at root.'); - if ispc - cd(fullfile('C:\')); - elseif (isunix | ismac) - cd(fullfile('/mnt/data')); - else - msgbox('Unknown platform') - end - end - -% Init function varargout = EASYconsole(varargin) % initialize global variables for function EASYconsole - global ExpOutmat - global ExpPath - global fhconsole - global resDir + %global ExpOutmat + %global ExpPath + %global fhconsole + %global resDir global wCodeDir - global ImParMat + %global ImParMat + + wCodeDir=pwd % changing directory to wCodeDir - returnHome + returnStartDir - %% GUI INTERFACE DESIGN %% + %% GUI INTERFACE DESIGN %% % beginning of GUI formation & design, see help GUI or help GUIDE in % command window for more information gui_Singleton = 1; @@ -68,7 +32,26 @@ function varargout = EASYconsole(varargin) else gui_mainfcn(gui_State, varargin{:}); end +end + +% Try to enter WCodeDir +function returnStartDir + global wCodeDir + try + cd(wCodeDir) + catch + msgbox('Failed to enter selected default directory so starting search at root.'); + if ispc + cd('C:\'); + elseif (isunix || ismac) + cd('/mnt/data'); + else + msgbox('Unknown platform') + end + end +end + % GUI % Easyconcole_OpeningFcn executes just before the EASYconsole GUI is made visible. % This function has no output args, see OutputFcn. @@ -77,13 +60,11 @@ function varargout = EASYconsole(varargin) % handles--structure with handles and user data (see GUIDATA) % varargin--input arguments to EASYconsole (see VARARGIN) function EASYconsole_OpeningFcn(hObject, ~, handles, varargin) - - global ExpOutmat - global ExpPath - global fhconsole - global resDir - global wCodeDir - global ImParMat + %global ExpOutmat + %global ExpPath + global fhconsole + global resDir + %global ImParMat % Choose default command line output for EASYconsole handles.output = hObject; @@ -101,8 +82,10 @@ function EASYconsole_OpeningFcn(hObject, ~, handles, varargin) else set(fhconsole,'Name','EASYconsole -Exp. Analysis NOT selected.') end +end -% Output + +%% EASYconsole OUTPUT FUNCTION %% % Outputs from this function are returned to the command line. % varargout--cell array for returning output args (see VARARGOUT); % hObject--handle to figure @@ -111,15 +94,18 @@ function EASYconsole_OpeningFcn(hObject, ~, handles, varargin) function varargout = EASYconsole_OutputFcn(~, ~, handles) % Get default command line output from handles structure varargout{1} = handles.output; +end %% CONSOLE BUTTON INTERFACES %% % File Button Interface function FileMenu_Callback(~, ~, ~) - returnHome + returnStartDir +end % Load Experiment Button Interface function LoadExp_Callback(~, ~, ~) - returnHome + returnStartDir +end % New Experiment Button Interface function NewExpDat_Callback(~, ~, ~) @@ -130,298 +116,301 @@ function NewExpDat_Callback(~, ~, ~) global ExpPath global matDir global resDir - global wCodeDir global fhconsole global scan - - % CREATE NEW EXPERIMENT % - try - questdlg('\fontsize{20} NAME the file and NAVIGATE to the directory with the image folders.','File Creation','OK', struct('Default','OK','Interpreter','tex')); - [newExpfile,newExppath] = uiputfile(' .mat'); - SWnewExp=1; - returnHome - newExpfilePref= strrep(newExpfile,'.mat',''); - resDirName=strcat('Results',datestr(now,29),newExpfilePref); - - % creation of the Results file - if ~exist(fullfile(newExppath,resDirName,'matResults')) - mkdir (fullfile(newExppath,resDirName,'matResults')); - end - - % assigning paths to global variables - resDir= fullfile(newExppath,resDirName); - matDir= fullfile(newExppath,resDirName,'matResults'); - ExpOutmat=fullfile(matDir,strcat(datestr(now,29),newExpfile)); - ExpPath= fullfile(newExppath); - % Added for 'parfor global' to preallocate 'scan' structure 20-0123 - nlist=dir(fullfile(ExpPath,'*')); - 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)}; - end - end - scanSize= size(sl,1); - scanMax= max(str2double(sl)); - clear scan; - scan(scanMax)= struct(); %changed for parfor global 20_0118 - save(ExpOutmat,'scan') - - % create 'PrintResults' file - if ~exist(fullfile(ExpPath,resDirName,'PrintResults')) - mkdir(fullfile(ExpPath,resDirName,'PrintResults')); - end - % copy 'figs' file and place it in ExpPath Directory - if ~exist(fullfile(ExpPath,resDirName,'figs')) - copyfile((fullfile(wCodeDir,'figs')), (fullfile(ExpPath,resDirName,'figs'))) - end - % create 'CFfigs' file - if ~exist(fullfile(ExpPath,resDirName,'CFfigs')) - mkdir(fullfile(ExpPath,resDirName,'CFfigs')); - end - % copy 'PTmats' file and place it in ExpPath Directory - if ~exist(fullfile(ExpPath,resDirName,'PTmats')) - copyfile((fullfile(wCodeDir,'PTmats')), (fullfile(ExpPath,resDirName,'PTmats'))) - end - % create 'Fotos' file - if ~exist(fullfile(ExpPath,resDirName,'Fotos')) - mkdir(fullfile(ExpPath,resDirName,'Fotos')); - clear sbdg % reduce possible retention of a previous job sdbg - sbdg= cell(1,scanMax); - save((fullfile(resDir,'Fotos','Nbdg')),'sbdg'); - end - % create backup 'Fotos' file - if ~exist(fullfile(ExpPath,resDirName,'Fotos','BkUp')) - mkdir(fullfile(ExpPath,resDirName,'Fotos','BkUp')); - end + % put all users on same working directory + returnStartDir - catch ME - returnHome - disp('Error Creating a New Experiment. Loc: EASYconsole.m Lines 106-197') - end + % Create a new experiment + try + questdlg('\fontsize{20} NAME the file and NAVIGATE to the directory with the image folders.','File Creation','OK', struct('Default','OK','Interpreter','tex')); + [newExpfile,newExppath] = uiputfile(' .mat'); + SWnewExp=1; - % set the title for fhconsole depending on existence - if exist('resDir','var')&&~isempty(resDir) - set(fhconsole,'Name',strcat('EASYconsole- ',char(resDir))) - else - set(fhconsole,'Name','EASYconsole -Exp. Analysis NOT selected.') - end + % Set paths + newExpfilePref= strrep(newExpfile,'.mat',''); + resDirName=strcat('Results',datestr(now,29),newExpfilePref); + resDir=fullfile(newExppath,resDirName); + matDir=fullfile(newExppath,resDirName,'matResults'); + ExpOutmat=fullfile(matDir,strcat(datestr(now,29),newExpfile)); + ExpPath=fullfile(newExppath); + + % create the the matResults dir + if ~exist(matDir) + mkdir (matDir); + end + + %***Added for 'parfor global' to preallocate 'scan' structure 20-0123***** + nlist=dir(fullfile(ExpPath,'*')); + 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)}; + end + end + scanSize= size(sl,1); + scanMax= max(str2double(sl)); + clear scan; + scan(scanMax)= struct(); %changed for parfor global 20_0118 + save(ExpOutmat,'scan') + + % create supporting dirs + dirs = {'PrintResults', 'CFfigs', 'Fotos', 'Fotos/BkUp'}; + for i = 1:length(dirs) + d = dirs{i}; + if ~exist(fullfile(ExpPath, resDirName, d), 'dir') + mkdir(fullfile(ExpPath, resDirName, d)); + end + end + + % templateDirs are stored in the easy template directory + templates = {'figs', 'PTmats'} + for i = 1:length(templates) + d = dirs{i}; + if ~exist(fullfile(ExpPath, resDirName, d), 'dir') + copyfile((fullfile(wCodeDir,d)), (fullfile(ExpPath,resDirName,d))); + end + end + + clear sbdg % reduce possible retention of a previous job sdbg + sbdg= cell(1,scanMax); + save((fullfile(resDir,'Fotos','Nbdg')),'sbdg'); + catch ME + returnStartDir + disp('Error Creating a New Experiment') + end + + % set the title for fhconsole depending on existence + if exist('resDir','var')&&~isempty(resDir) + set(fhconsole,'Name',strcat('EASYconsole- ',char(resDir))) + else + set(fhconsole,'Name','EASYconsole -Exp. Analysis NOT selected.') + end +end % Load a previous experiment -% Load Experiment Analysis directory/file structure function LoadDatFile_Callback(~, ~, ~) - global openExpfile - global openExppath - global SWnewExp - global ExpOutmat - global ExpPath - global matDir - global resDir - global wCodeDir - global fhconsole - global ImParMat + global openExpfile + global openExppath + global SWnewExp + global ExpOutmat + global ExpPath + global matDir + global resDir + global fhconsole + %global ImParMat - returnHome + returnStartDir - questdlg('\fontsize{20} Load file from ExpJobs/YourJob/YourResults/matResults','File Creation','OK', struct('Default','OK','Interpreter','tex')); - [openExpfile,openExppath] = uigetfile('.mat','Open Experiment folder and data storage .mat file name','MultiSelect','off'); - SWnewExp=0; - - ExpOutmat= fullfile(openExppath,openExpfile); - load(ExpOutmat); - - cd(openExppath) - cd ..; - resDir=pwd; - cd ..; - ExpPath=pwd; - cd (wCodeDir) - ExpPath= fullfile(ExpPath); - - - - if isfolder(fullfile(openExppath, '..','..','1')) %If Inovation Vrobot Then - if exist(fullfile(resDir,'PTmats','NImParameters.mat')) - load(fullfile(resDir,'PTmats','NImParameters.mat')); - else - curDir=pwd; - returnHome - load NImParameters.mat - cd(curDir) - end - else %If Epson 10Plate Scans Then> - if exist(fullfile(resDir,'PTmats','ImParameters.mat')) - load(fullfile(resDir,'PTmats','ImParameters.mat')); - else - curDir=pwd; - returnHome - load ImParameters.mat - cd(curDir) - end - end - - matDir= fullfile(openExppath,'\'); - mkdir(fullfile(matDir,'BkUp')); - - % create supporting files - if ~exist(fullfile(resDir,'PrintResults')) - mkdir(fullfile(resDir,'PrintResults')); - end - if ~exist(fullfile(resDir,'figs')) - mkdir(fullfile(resDir,'figs')); - end - if ~exist(fullfile(resDir,'CFfigs')) - mkdir(fullfile(resDir,'CFfigs')); - end - if ~exist(fullfile(resDir,'PTmats')) - mkdir(fullfile(resDir,'PTmats')); - end - if ~exist(fullfile(resDir,'Fotos')) - mkdir(fullfile(resDir,'Fotos')); - end - - clear scan - - if exist('resDir','var')&&~isempty(resDir) - fhconsole= gcf; - set(fhconsole,'Name',strcat('EASYconsole- ',char(resDir))) - else - set(fhconsole,'Name','EASYconsole -Exp. Analysis NOT selected.') - end + % TODO this entire try block needs work + try + % TODO this section is highly questionable + questdlg('\fontsize{20} Load file from ExpJobs/YourJob/YourResults/matResults','File Creation','OK', struct('Default','OK','Interpreter','tex')); + [openExpfile,openExppath] = uigetfile('.mat','Open Experiment folder and data storage .mat file name','MultiSelect','off'); + SWnewExp=0; + ExpOutmat= fullfile(openExppath,openExpfile); + load(ExpOutmat); + resdir=fullfile('../',openExppath) + ExpPath=fullfile('../../',openExppath) + if isfolder(fullfile(openExppath, '..','..','1')) %If Inovation Vrobot Then + if exist(fullfile(resDir,'PTmats','NImParameters.mat')) + load(fullfile(resDir,'PTmats','NImParameters.mat')); + else + curDir=pwd; + returnStartDir + load NImParameters.mat + cd(curDir) + end + else %If Epson 10Plate Scans Then> + if exist(fullfile(resDir,'PTmats','ImParameters.mat')) + load(fullfile(resDir,'PTmats','ImParameters.mat')); + else + curDir=pwd; + returnStartDir + load ImParameters.mat + cd(curDir) + end + end + + mkdir(fullfile(openExppath,'\BkUp')); + + % create supporting dirs + dirs = {'PrintResults', 'figs', 'CFfigs', 'PTmats', 'Fotos'} + for i = 1:length(dirs) + d = dirs{i} + if ~exist(fullfile(resDir, d), 'dir') + mkdir(fullfile(resDir, d)); + end + end + + catch + returnStartDir + end + + clear scan + + if exist('resDir','var')&&~isempty(resDir) + fhconsole= gcf; + set(fhconsole,'Name',strcat('EASYconsole- ',char(resDir))) + else + set(fhconsole,'Name','EASYconsole -Exp. Analysis NOT selected.') + end +end + + %% CALLBACKS %% + % callback for the 'Run' in the dropdown menu function run_Callback(~, ~, ~) - returnHome + returnStartDir +end function runPlateMapPintool_Callback(~, ~, ~) - returnHome - try - NImapPT - catch ME - returnHome - EASYconsole - end + returnStartDir + try + NImapPT + catch ME + returnStartDir + EASYconsole + end +end function NImCFcombo_Callback(~, ~, ~) - returnHome - try - par4Gbl_Main8c - catch - returnHome - EASYconsole - end + returnStartDir + try + par4Gbl_Main8c + catch + returnStartDir + EASYconsole + end +end function runPlateImAnal_Callback(~, ~, ~) - returnHome - try - NImStartupOnly - catch ME - returnHome - EASYconsole - end + returnStartDir + try + NImStartupOnly + catch ME + returnStartDir + EASYconsole + end +end function PlateCFit_Callback(~, ~, ~) - returnHome - try - NCstart - catch ME - returnHome - end + %global ExpOutmat + returnStartDir + try + NCstart + catch ME + returnStartDir + end +end function GenPrintouts_Callback(~, ~, ~) +end function uploadExcelMP2DB_Callback(~, ~, ~) +end function runDMPexcel_Callback(~, ~, ~) - try - DMPexcel2mat - catch ME - returnHome - EASYconsole - end + global ExpPath + try + DMPexcel2mat_2024winLinix %DMPexcel2mat_2023winLinix + catch ME + returnStartDir + EASYconsole + end +end function runResults_DBcombo_Callback(~, ~, ~) - try - DgenResults %similar but semicolons removed to restore so cmdLine display info. - %DgenResults %par4global -convert 1x1cell of 384cells to be like previous 1x384 cells CFparameter - catch ME - disp('Error in DgenResults') - returnHome - EASYconsole - end -% function Tools_Callback(~, ~, ~) + try + DgenResults240430 %similar but semicolons removed to restore so cmdLine display info. + %Dgen241010qhtcp %par4global -convert 1x1cell of 384cells to be like previous 1x384 cells CFparameter + catch ME + disp('Error in DgenResults240430') + returnStartDir + EASYconsole + end +end + +function Tools_Callback(~, ~, ~) +end function runOverlayPlots_Callback(~, ~, ~) - returnHome - try - DoverlayPlots2 - returnHome - EASYconsole - catch ME - returnHome - EASYconsole - end + returnStartDir + try + DoverlayPlots2 + returnStartDir + EASYconsole + catch ME + returnStartDir + EASYconsole + end +end function runFotoStrip_Callback(~, ~, ~) - returnHome - try - F_NImStartup_CentCir - returnHome - EASYconsole - catch ME - returnHome - EASYconsole - end + returnStartDir + try + F_NImStartup_CentCir + returnStartDir + EASYconsole + catch ME + returnStartDir + EASYconsole + end +end function runDisplayFig_Callback(~, ~, ~) - returnHome - try - UfigDisplay - catch ME - returnHome - EASYconsole - end + returnStartDir + try + UfigDisplay + catch ME + returnStartDir + EASYconsole + end +end function runViewParameters_Callback(~, ~, ~) - returnHome - try - % This was blank in original - catch ME - returnHome - EASYconsole - end + returnStartDir + try + catch ME + returnStartDir + EASYconsole + end +end function QkviewN_Callback(~, ~, ~) - global ExpPath - returnHome - try - try - cd fullfile(ExpPath) - catch - if ispc cd c:\ - else - cd (fullfile('~')); - end - end - QkviewImages - catch ME - returnHome - EASYconsole - end + returnStartDir + try + try + cd(fullfile(ExpPath)) + catch + if ispc + cd('C:\') + else + cd(fullfile('~')); + end + end + QkviewImages + catch ME + returnStartDir + EASYconsole + end +end function CFdisplay_Callback(~, ~, ~) - returnHome - try - NCsingleDisplay - returnHome - EASYconsole - catch ME - returnHome - EASYconsole - end + returnStartDir + try + NCsingleDisplay + returnStartDir + EASYconsole + catch ME + returnStartDir + EASYconsole + end +end \ No newline at end of file diff --git a/workflow/templates/easy/EASYconsole2.m b/workflow/templates/easy/EASYconsole2.m deleted file mode 100644 index 7e2c8a03..00000000 --- a/workflow/templates/easy/EASYconsole2.m +++ /dev/null @@ -1,450 +0,0 @@ -% Launch the MATLAB EASY console -function varargout = EASYconsole(varargin) - % initialize global variables for function EASYconsole - global ExpOutmat - global ExpPath - global fhconsole - global resDir - global wCodeDir - global ImParMat - - % changing directory to wCodeDir - returnHome - -%% GUI INTERFACE DESIGN %% - % beginning of GUI formation & design, see help GUI or help GUIDE in - % command window for more information - gui_Singleton = 1; - gui_State = struct('gui_Name', mfilename, ... - 'gui_Singleton', gui_Singleton, ... - 'gui_OpeningFcn', @EASYconsole_OpeningFcn, ... - 'gui_OutputFcn', @EASYconsole_OutputFcn, ... - 'gui_LayoutFcn', [] , ... - 'gui_Callback', []); - if nargin && ischar(varargin{1}) - gui_State.gui_Callback = str2func(varargin{1}); - end - - if nargout - [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); - else - gui_mainfcn(gui_State, varargin{:}); - end -end - - -% Try to enter WCodeDir -function returnHome - global wCodeDir - try - cd(wCodeDir) - catch - msgbox('Failed to enter selected default directory so starting search at root.'); - if ispc - cd(fullfile('C:\')); - elseif (isunix | ismac) - cd(fullfile('/mnt/data')); - else - msgbox('Unknown platform') - end - end -end - -% GUI -% Easyconcole_OpeningFcn executes just before the EASYconsole GUI is made visible. -% This function has no output args, see OutputFcn. -% hObject--handle to figure -% eventdata reserved - to be defined in a future version of MATLAB -% handles--structure with handles and user data (see GUIDATA) -% varargin--input arguments to EASYconsole (see VARARGIN) -function EASYconsole_OpeningFcn(hObject, ~, handles, varargin) - - global ExpOutmat - global ExpPath - global fhconsole - global resDir - global wCodeDir - global ImParMat - - % Choose default command line output for EASYconsole - handles.output = hObject; - - % Update handles structure - guidata(hObject, handles); - - %Figure header, Toolbar, etc. Setup - fhconsole=gcf; - set(fhconsole,'Toolbar','none'); - fhconsole=gcf; - - if exist('resDir','var')&&~isempty(resDir) - set(fhconsole,'Name',strcat('EASYconsole- ',char(resDir))); - else - set(fhconsole,'Name','EASYconsole -Exp. Analysis NOT selected.') - end -end - -%% EASYconsole OUTPUT FUNCTION %% -% Outputs from this function are returned to the command line. -% varargout--cell array for returning output args (see VARARGOUT); -% hObject--handle to figure -% eventdata reserved - to be defined in a future version of MATLAB -% handles--structure with handles and user data (see GUIDATA) -function varargout = EASYconsole_OutputFcn(~, ~, handles) - % Get default command line output from handles structure - varargout{1} = handles.output; -end - -%% CONSOLE BUTTON INTERFACES %% -% File Button Interface -function FileMenu_Callback(~, ~, ~) - returnHome -end - -% Load Experiment Button Interface -function LoadExp_Callback(~, ~, ~) - returnHome -end - -% New Experiment Button Interface -function NewExpDat_Callback(~, ~, ~) - global newExpfile - global newExppath - global SWnewExp - global ExpOutmat - global ExpPath - global matDir - global resDir - global wCodeDir - global fhconsole - global scan - - % put all users on same working directory - returnHome - - % Create a new experiment - try - questdlg('\fontsize{20} NAME the file and NAVIGATE to the directory with the image folders.','File Creation','OK', struct('Default','OK','Interpreter','tex')); - [newExpfile,newExppath] = uiputfile(' .mat'); - SWnewExp=1; - cd (wcode) - newExpfilePref= strrep(newExpfile,'.mat',''); - resDirName=strcat('Results',datestr(now,29),newExpfilePref); - - % creation of the Results file - if ~exist(fullfile(newExppath,resDirName,'matResults')) - mkdir (fullfile(newExppath,resDirName,'matResults')); - end - - % assigning paths to global variables - resDir= fullfile(newExppath,resDirName); - matDir= fullfile(newExppath,resDirName,'matResults'); - ExpOutmat=fullfile(matDir,strcat(datestr(now,29),newExpfile)); - ExpPath= fullfile(newExppath); - - %***Added for 'parfor global' to preallocate 'scan' structure 20-0123***** - nlist=dir(fullfile(ExpPath,'*')); - 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)}; - end - end - scanSize= size(sl,1); - scanMax= max(str2double(sl)); - clear scan; - scan(scanMax)= struct(); %[]; %changed for parfor global 20_0118 - save(ExpOutmat,'scan') - - % create 'PrintResults' file - if ~exist(fullfile(ExpPath,resDirName,'PrintResults')) - mkdir(fullfile(ExpPath,resDirName,'PrintResults')); - end - % copy 'figs' file and place it in ExpPath Directory - if ~exist(fullfile(ExpPath,resDirName,'figs')) - copyfile((fullfile(wCodeDir,'figs')), (fullfile(ExpPath,resDirName,'figs'))) - end - % create 'CFfigs' file - if ~exist(fullfile(ExpPath,resDirName,'CFfigs')) - mkdir(fullfile(ExpPath,resDirName,'CFfigs')); - end - % copy 'PTmats' file and place it in ExpPath Directory - if ~exist(fullfile(ExpPath,resDirName,'PTmats')) - copyfile((fullfile(wCodeDir,'PTmats')), (fullfile(ExpPath,resDirName,'PTmats'))) - end - % create 'Fotos' file - if ~exist(fullfile(ExpPath,resDirName,'Fotos')) - mkdir(fullfile(ExpPath,resDirName,'Fotos')); - clear sbdg % reduce possible retention of a previous job sdbg - sbdg= cell(1,scanMax); - save((fullfile(resDir,'Fotos','Nbdg')),'sbdg'); - end - % create backup 'Fotos' file - if ~exist(fullfile(ExpPath,resDirName,'Fotos','BkUp')) - mkdir(fullfile(ExpPath,resDirName,'Fotos','BkUp')); - end - - catch ME - returnHome - disp('Error Creating a New Experiment') - end - - % set the title for fhconsole depending on existence - if exist('resDir','var')&&~isempty(resDir) - set(fhconsole,'Name',strcat('EASYconsole- ',char(resDir))) - else - set(fhconsole,'Name','EASYconsole -Exp. Analysis NOT selected.') - end -end - - -% Load a previous experiment -function LoadDatFile_Callback(~, ~, ~) - global openExpfile - global openExppath - global SWnewExp - global ExpOutmat - global ExpPath - global matDir - global resDir - global wCodeDir - global fhconsole - global ImParMat - - returnHome - - % TODO this entire try block needs work - try - % TODO this section is highly questionable - questdlg('\fontsize{20} Load file from ExpJobs/YourJob/YourResults/matResults','File Creation','OK', struct('Default','OK','Interpreter','tex')); - [openExpfile,openExppath] = uigetfile('.mat','Open Experiment folder and data storage .mat file name','MultiSelect','off'); - SWnewExp=0; - ExpOutmat= fullfile(openExppath,openExpfile); - load(ExpOutmat); - cd(openExppath) - cd ..; - resDir=pwd; - cd ..; - ExpPath=pwd; - cd (wcode) - ExpPath= fullfile(ExpPath); - - if isfolder(fullfile(openExppath, '..','..','1')) %If Inovation Vrobot Then - if exist(fullfile(resDir,'PTmats','NImParameters.mat')) - load(fullfile(resDir,'PTmats','NImParameters.mat')); - else - curDir=pwd; - returnHome - load NImParameters.mat - cd(curDir) - end - else %If Epson 10Plate Scans Then> - if exist(fullfile(resDir,'PTmats','ImParameters.mat')) - load(fullfile(resDir,'PTmats','ImParameters.mat')); - else - curDir=pwd; - returnHome - load ImParameters.mat - cd(curDir) - end - end - - matDir= fullfile(openExppath,'\'); - mkdir(fullfile(matDir,'BkUp')); - - % create supporting files - if ~exist(fullfile(resDir,'PrintResults')) - mkdir(fullfile(resDir,'PrintResults')); - end - if ~exist(fullfile(resDir,'figs')) - mkdir(fullfile(resDir,'figs')); - end - if ~exist(fullfile(resDir,'CFfigs')) - mkdir(fullfile(resDir,'CFfigs')); - end - if ~exist(fullfile(resDir,'PTmats')) - mkdir(fullfile(resDir,'PTmats')); - end - if ~exist(fullfile(resDir,'Fotos')) - mkdir(fullfile(resDir,'Fotos')); - end - catch - returnHome - end - - clear scan - - if exist('resDir','var')&&~isempty(resDir) - fhconsole= gcf; - set(fhconsole,'Name',strcat('EASYconsole- ',char(resDir))) - else - set(fhconsole,'Name','EASYconsole -Exp. Analysis NOT selected.') - end -end - - -%% CALLBACKS %% - -% callback for the 'Run' in the dropdown menu -function run_Callback(~, ~, ~) - returnHome -end - -function runPlateMapPintool_Callback(~, ~, ~) - returnHome - try - NImapPT - catch ME - returnHome - EASYconsole - end -end - -function NImCFcombo_Callback(~, ~, ~) - returnHome - try - par4Gbl_Main8c - catch - returnHome - EASYconsole - end -end - -function runPlateImAnal_Callback(~, ~, ~) - returnHome - try - NImStartupOnly - catch ME - returnHome - EASYconsole - end -end - -function PlateCFit_Callback(~, ~, ~) - global ExpOutmat - returnHome - try - NCstart - catch ME - returnHome - end -end - - - -function GenPrintouts_Callback(~, ~, ~) -end - - -function uploadExcelMP2DB_Callback(~, ~, ~) -end - - -function runDMPexcel_Callback(~, ~, ~) - global ExpPath - try - DMPexcel2mat_2024winLinix %DMPexcel2mat_2023winLinix - catch ME - returnHome - EASYconsole - end -end - - -function runResults_DBcombo_Callback(~, ~, ~) - - try - DgenResults240430 %similar but semicolons removed to restore so cmdLine display info. - %Dgen241010qhtcp %par4global -convert 1x1cell of 384cells to be like previous 1x384 cells CFparameter - catch ME - disp('Error in DgenResults240430') - returnHome - EASYconsole - end -end - - -function Tools_Callback(~, ~, ~) -end - - -function runOverlayPlots_Callback(~, ~, ~) - returnHome - try - DoverlayPlots2 - returnHome - EASYconsole - catch ME - returnHome - EASYconsole - end -end - - -function runFotoStrip_Callback(~, ~, ~) - returnHome - try - F_NImStartup_CentCir - returnHome - EASYconsole - catch ME - returnHome - EASYconsole - end -end - - -function runDisplayFig_Callback(~, ~, ~) - returnHome - try - UfigDisplay - catch ME - returnHome - EASYconsole - end -end - - -function runViewParameters_Callback(~, ~, ~) - returnHome - try - catch ME - returnHome - EASYconsole - end -end - - -function QkviewN_Callback(~, ~, ~) - returnHome - try - try - cd(fullfile(ExpPath)) - catch - if ispc - cd('C:\') - else - cd(fullfile('~')); - end - end - QkviewImages - catch ME - returnHome - EASYconsole - end -end - - -function CFdisplay_Callback(~, ~, ~) - returnHome - try - NCsingleDisplay - returnHome - EASYconsole - catch ME - returnHome - EASYconsole - end -end \ No newline at end of file