📄 batch_pls_analysis.m
字号:
if exist('plslog.m','file')
switch pls
case 1
plslog('Batch ERP Mean-Centering Analysis');
case 2
plslog('Batch ERP Non-Rotated Analysis');
case 3
plslog('Batch ERP Behavior Analysis');
case 4
plslog('Batch ERP Multiblock Analysis');
end
end
switch pls
case 1
PLSoptions.ContrastFile = [];
PLSoptions.ismean = 1;
PLSoptions.iscontrast = 0;
PLSoptions.isbehav = 0;
PLSoptions.ismultiblock = 0;
case 2
PLSoptions.ContrastFile = contrasts;
PLSoptions.ismean = 0;
PLSoptions.iscontrast = 1;
PLSoptions.isbehav = 0;
PLSoptions.ismultiblock = 0;
case 3
PLSoptions.ContrastFile = [];
PLSoptions.ismean = 0;
PLSoptions.iscontrast = 0;
PLSoptions.isbehav = 1;
PLSoptions.ismultiblock = 0;
% for bcol=1:size(behavdata, 2)
% PLSoptions.behavname = ...
% [PLSoptions.behavname, {['behav', num2str(bcol)]}];
% end
PLSoptions.behavdata = behavdata;
PLSoptions.behavname = behavname;
for g = 1:length(group_files)
load(PLSoptions.profiles{g}, 'selected_subjects');
count = sum(selected_subjects) * sum(selected_cond);
PLSoptions.behavdata_lst{g} = behavdata(1:count, :);
behavdata(1:count, :) = [];
end
PLSoptions.BehavDataCol = size(PLSoptions.behavdata, 2);
case 4
PLSoptions.ContrastFile = [];
PLSoptions.ismean = 1;
PLSoptions.iscontrast = 0;
PLSoptions.isbehav = 1;
PLSoptions.ismultiblock = 1;
% for bcol=1:size(behavdata, 2)
% PLSoptions.behavname = ...
% [PLSoptions.behavname, {['behav', num2str(bcol)]}];
% end
PLSoptions.behavdata = behavdata;
PLSoptions.behavname = behavname;
for g = 1:length(group_files)
load(PLSoptions.profiles{g}, 'selected_subjects');
count = sum(selected_subjects) * sum(selected_cond);
PLSoptions.behavdata_lst{g} = behavdata(1:count, :);
behavdata(1:count, :) = [];
end
PLSoptions.BehavDataCol = size(PLSoptions.behavdata, 2);
end
if(exist(result_file, 'file')==2)
disp(['WARNING: File ',result_file,' is overwritten.']);
end
erp_analysis(PLSoptions.ismean, ...
PLSoptions.ishelmert, PLSoptions.iscontrast, ...
PLSoptions.isbehav, ...
PLSoptions.BehavDataCol, PLSoptions.ContrastDataCol, ...
PLSoptions.posthoc, PLSoptions.profiles, ...
PLSoptions.save_datamat, ...
PLSoptions.num_perm, PLSoptions.num_boot, PLSoptions.Clim, ...
PLSoptions.system, PLSoptions.ContrastFile, ...
PLSoptions.cond_selection, ...
PLSoptions.behavdata_lst, PLSoptions.behavname, ...
PLSoptions.ismultiblock, PLSoptions.bscan, ...
PLSoptions.output_file);
if exist('progress_hdl','var') & ishandle(progress_hdl)
close(progress_hdl);
end
elseif ~isempty(findstr(first_file, '_STRUCTdatamat.mat')) % STRUCT
PLSoptions.profiles = [group_files{:}];
PLSoptions.num_perm = num_perm;
PLSoptions.num_boot = num_boot;
PLSoptions.posthoc = [];
PLSoptions.Clim = clim;
PLSoptions.save_datamat = save_data;
PLSoptions.cond_selection = selected_cond;
PLSoptions.behavname = {};
PLSoptions.behavdata = [];
PLSoptions.behavdata_lst = {};
PLSoptions.bscan = bscan;
PLSoptions.output_file = result_file;
if exist('plslog.m','file')
switch pls
case 1
plslog('Batch STRUCT Mean-Centering Analysis');
case 2
plslog('Batch STRUCT Non-Rotated Analysis');
case 3
plslog('Batch STRUCT Behavior Analysis');
case 4
plslog('Batch STRUCT Multiblock Analysis');
end
end
switch pls
case 1
PLSoptions.ContrastFile = [];
PLSoptions.ismean = 1;
PLSoptions.iscontrast = 0;
PLSoptions.isbehav = 0;
PLSoptions.ismultiblock = 0;
case 2
PLSoptions.ContrastFile = contrasts;
PLSoptions.ismean = 0;
PLSoptions.iscontrast = 1;
PLSoptions.isbehav = 0;
PLSoptions.ismultiblock = 0;
case 3
PLSoptions.ContrastFile = [];
PLSoptions.ismean = 0;
PLSoptions.iscontrast = 0;
PLSoptions.isbehav = 1;
PLSoptions.ismultiblock = 0;
% for bcol=1:size(behavdata, 2)
% PLSoptions.behavname = ...
% [PLSoptions.behavname, {['behav', num2str(bcol)]}];
% end
PLSoptions.behavdata = behavdata;
PLSoptions.behavname = behavname;
for g = 1:length(group_files)
load(PLSoptions.profiles{g}, 'selected_subjects');
count = sum(selected_subjects) * sum(selected_cond);
PLSoptions.behavdata_lst{g} = behavdata(1:count, :);
behavdata(1:count, :) = [];
end
case 4
PLSoptions.ContrastFile = [];
PLSoptions.ismean = 1;
PLSoptions.iscontrast = 0;
PLSoptions.isbehav = 1;
PLSoptions.ismultiblock = 1;
% for bcol=1:size(behavdata, 2)
% PLSoptions.behavname = ...
% [PLSoptions.behavname, {['behav', num2str(bcol)]}];
% end
PLSoptions.behavdata = behavdata;
PLSoptions.behavname = behavname;
for g = 1:length(group_files)
load(PLSoptions.profiles{g}, 'selected_subjects');
count = sum(selected_subjects) * sum(selected_cond);
PLSoptions.behavdata_lst{g} = behavdata(1:count, :);
behavdata(1:count, :) = [];
end
end
if(exist(result_file, 'file')==2)
disp(['WARNING: File ',result_file,' is overwritten.']);
end
struct_analysis(PLSoptions.isbehav, ...
PLSoptions.profiles, PLSoptions.num_perm, ...
PLSoptions.num_boot, PLSoptions.Clim, ...
PLSoptions.posthoc, ...
PLSoptions.cond_selection, PLSoptions.behavname, ...
PLSoptions.behavdata, PLSoptions.behavdata_lst, ...
PLSoptions.ContrastFile, ...
PLSoptions.iscontrast, PLSoptions.ismean, ...
PLSoptions.save_datamat, ...
PLSoptions.ismultiblock, PLSoptions.bscan, ...
PLSoptions.output_file);
if exist('progress_hdl','var') & ishandle(progress_hdl)
close(progress_hdl);
end
elseif ~isempty(findstr(first_file, '_PETdatamat.mat')) % PET
PLSoptions.profiles = [group_files{:}];
PLSoptions.num_perm = num_perm;
PLSoptions.num_boot = num_boot;
PLSoptions.posthoc = [];
PLSoptions.Clim = clim;
PLSoptions.save_datamat = save_data;
PLSoptions.cond_selection = selected_cond;
PLSoptions.behavname = {};
PLSoptions.behavdata = [];
PLSoptions.behavdata_lst = {};
PLSoptions.bscan = bscan;
PLSoptions.output_file = result_file;
if exist('plslog.m','file')
switch pls
case 1
plslog('Batch PET Mean-Centering Analysis');
case 2
plslog('Batch PET Non-Rotated Analysis');
case 3
plslog('Batch PET Behavior Analysis');
case 4
plslog('Batch PET Multiblock Analysis');
end
end
switch pls
case 1
PLSoptions.ContrastFile = [];
PLSoptions.ismean = 1;
PLSoptions.iscontrast = 0;
PLSoptions.isbehav = 0;
PLSoptions.ismultiblock = 0;
case 2
PLSoptions.ContrastFile = contrasts;
PLSoptions.ismean = 0;
PLSoptions.iscontrast = 1;
PLSoptions.isbehav = 0;
PLSoptions.ismultiblock = 0;
case 3
PLSoptions.ContrastFile = [];
PLSoptions.ismean = 0;
PLSoptions.iscontrast = 0;
PLSoptions.isbehav = 1;
PLSoptions.ismultiblock = 0;
% for bcol=1:size(behavdata, 2)
% PLSoptions.behavname = ...
% [PLSoptions.behavname, {['behav', num2str(bcol)]}];
% end
PLSoptions.behavdata = behavdata;
PLSoptions.behavname = behavname;
for g = 1:length(group_files)
load(PLSoptions.profiles{g}, 'session_info');
count = session_info.num_subjects * sum(selected_cond);
PLSoptions.behavdata_lst{g} = behavdata(1:count, :);
behavdata(1:count, :) = [];
end
case 4
PLSoptions.ContrastFile = [];
PLSoptions.ismean = 1;
PLSoptions.iscontrast = 0;
PLSoptions.isbehav = 1;
PLSoptions.ismultiblock = 1;
% for bcol=1:size(behavdata, 2)
% PLSoptions.behavname = ...
% [PLSoptions.behavname, {['behav', num2str(bcol)]}];
% end
PLSoptions.behavdata = behavdata;
PLSoptions.behavname = behavname;
for g = 1:length(group_files)
load(PLSoptions.profiles{g}, 'session_info');
count = session_info.num_subjects * sum(selected_cond);
PLSoptions.behavdata_lst{g} = behavdata(1:count, :);
behavdata(1:count, :) = [];
end
end
if(exist(result_file, 'file')==2)
disp(['WARNING: File ',result_file,' is overwritten.']);
end
pet_analysis(PLSoptions.isbehav, ...
PLSoptions.profiles, PLSoptions.num_perm, ...
PLSoptions.num_boot, PLSoptions.Clim, ...
PLSoptions.posthoc, ...
PLSoptions.cond_selection, PLSoptions.behavname, ...
PLSoptions.behavdata, PLSoptions.behavdata_lst, ...
PLSoptions.ContrastFile, ...
PLSoptions.iscontrast, PLSoptions.ismean, ...
PLSoptions.save_datamat, ...
PLSoptions.ismultiblock, PLSoptions.bscan, ...
PLSoptions.output_file);
if exist('progress_hdl','var') & ishandle(progress_hdl)
close(progress_hdl);
end
else
error('There is error(s) in batch file, please read ''UserGuide.htm'' for help');
end
return; % batch_pls_analysis
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -