diff --git a/batch/exec_func/ef_gen_m.m b/batch/exec_func/ef_gen_m.m index 2f95f4d47276b8d6c57bcc33d97dd47a24110ad8..c83b836fc97fba1c81b9d3dcdef26f44a5a9f604 100644 --- a/batch/exec_func/ef_gen_m.m +++ b/batch/exec_func/ef_gen_m.m @@ -102,6 +102,29 @@ if ~strcmp(job_struct.batch_config.software,'none') || ~strcmp(job_struct.batch_ % save cBatchFName m file... [cPath,root_dfn,cExt]=fileparts(job_struct.batch_dfn{bfni}); c_mfn=[root_hfn,'_',root_dfn,'.m']; + + % New Naming Scheme to use batch config jobname swapstring + try + c_mfn = key_strswap(job_struct.batch_config.job_name,'batch_dfn',char(job_struct.batch_dfn)); + c_mfn = key_strswap(c_mfn,'batch_hfn',char(job_struct.batch_hfn)); + c_mfn = [c_mfn,'.m']; + c_mfn = strtrim(c_mfn); + catch + %If there sting is not acceptable default to: + [cPath,root_dfn,cExt]=fileparts(job_struct.batch_dfn{bfni}); + c_mfn=[root_hfn,'_',root_dfn,'.m']; + end + + if strcmp(c_mfn,'.m') + %If they did not use a batch config containing jobname default to: + [cPath,root_dfn,cExt]=fileparts(job_struct.batch_dfn{bfni}); + c_mfn=[root_hfn,'_',root_dfn,'.m']; + end + + if length(c_mfn) >= 64 + error('Script name too long! Please change your job name config.') + end + fidM=fopen(fullfile(job_struct.context_config.log,job_struct.m_path,c_mfn),'w');%WRITE M FILE TO LOG PATH... fwrite(fidM,batchStr,'char'); fclose(fidM); diff --git a/batch/pop_func/pop_runhtb.m b/batch/pop_func/pop_runhtb.m index 6270510d706669588219607644cedbd23f780160..2ae37ad887efa4f25aefd58cbe426b5c16c7408a 100644 --- a/batch/pop_func/pop_runhtb.m +++ b/batch/pop_func/pop_runhtb.m @@ -118,9 +118,9 @@ if nargin < 4 'set(findobj(gcbf,''tag'',''edt_hfn''),''string'',htb_fname);']} ... %2 history file push button {'Style', 'edit', 'tag','edt_hfp'} ... %3 history path edit box {'Style', 'edit', 'max', 500, 'tag', 'edt_hfn'} ... %4 history file edit box - {'Style', 'pushbutton','string','Data files', ... + {'Style', 'pushbutton','string','Data files or ESS Capsule', ... 'callback', ... - ['[input_fname, input_fpath] = uigetfile(''*.**'',''Select data files:'',''*.*'',''multiselect'',''on'');', ... + ['[input_fname, input_fpath] = uigetfile(''*.**'',''Select data files or ESS metadata XML file:'',''*.*'',''multiselect'',''on'');', ... 'if isnumeric(input_fname);return;end;', ... 'set(findobj(gcbf,''tag'',''edt_dfp''),''string'',input_fpath);', ... 'set(findobj(gcbf,''tag'',''lst_dfn''),''string'',input_fname);']} ... %5 data file push button @@ -202,12 +202,51 @@ if ischar(htb_fname) htb_fname=cellstr(htb_fname); end +% ESS Capsule Loading +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % if a single input data file is chosen convert the input_fname string into a cell array... if ischar(input_fname) input_fname=cellstr(input_fname); + +% Load Capsule +if all(input_fname{1}(end-3:end) == '.xml') + + % Load Level 2 Capsule + disp('Checking Level of ESS...'); + if any(strfind(input_fname{1},'Level2')) || any(strfind(input_fname{1},'level2'))... + || any(strfind(input_fname{1},'Level_2')) || any(strfind(input_fname{1},'level_2')) + % load the container in to a MATLAB object + % Looking For any of these in the file name + % Level2, level2, Level_2, level_2 + obj = level2Study('level2XmlFilePath', input_fpath); + disp('Level 2 Loaded'); + filenames = []; + % get all the recording files + filenames = obj.getFilename; + for i = 1:length(obj.studyLevel2Files.studyLevel2File) + filenames{i} = obj.studyLevel2Files.studyLevel2File(i).studyLevel2FileName; + disp([filenames{i} ' was found']); + end + + % Load Level 1 Capsule + else + obj = level2Study('level1XmlFilePath', input_fpath); + disp('Level 1 Loaded'); + filenames = []; + % get all the recording files + filenames = obj.getFilename; + for i = 1:length(obj.level1StudyObj.sessionTaskInfo) + filenames{i} = obj.level1StudyObj.sessionTaskInfo(i).dataRecording(1).filename; + disp([filenames{i} ' was found']); + end + disp('Please check the ESS compatibility with Batching') + end + + input_fname = filenames'; end - +end %End of solo file selected if statement +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% START BATCHING PROCEDURE... for hi=1:length(htb_fname) %% DO FOR EACH HISTORY FILES FILE...