0001 function estimate_source_current_meg(p)
0002
0003
0004
0005
0006
0007 disp(mfilename);
0008
0009
0010 time_signal = [0 0.3];
0011 time_noise = [-0.3 0];
0012
0013
0014 current_dir = fullfile(p.proj_root, p.meg_dirname, p.current_dirname);
0015 if exist(current_dir, 'dir') ~= 7
0016 mkdir(current_dir);
0017 end
0018
0019 for ta = 1:length(p.task_list)
0020
0021
0022 clear bp
0023 bayes_parm = vb_set_bayes_default_parameters;
0024
0025
0026 bayes_parm.brainfile = fullfile(p.brain_dirname, [p.struct_name, '.brain.mat']);
0027 bayes_parm.areafile = fullfile(p.brain_dirname, [p.struct_name, '.area.mat']);
0028 bayes_parm.actfile = fullfile(p.brain_dirname, [p.struct_name, '.act.mat']);
0029 bayes_parm.megfile{1} = fullfile(p.meg_dirname, p.trial_dirname, ['rri_' p.task_list{ta} '.info.mat']);
0030 bayes_parm.basisfile = fullfile(p.meg_dirname, p.leadfield_dirname, [p.task_list{ta} '.basis.mat']);
0031 bayes_parm.megfile_baseline = bayes_parm.megfile;
0032
0033
0034 bayes_parm.area_key = 'Cortex';
0035 bayes_parm.act_key = p.prior{ta};
0036 bayes_parm.prior_weight = p.prior_weight(ta);
0037
0038
0039 [~, ~, time_info] = vb_load_meg_data(fullfile(p.proj_root, bayes_parm.megfile{1}));
0040 time = time_info.time;
0041
0042
0043 [~, from] = min(abs(time-time_signal(1)));
0044 [~, to] = min(abs(time-time_signal(2)));
0045 bayes_parm.twin_meg = [from to];
0046 bayes_parm.Tperiod = to-from+1;
0047 bayes_parm.Tnext = to-from+1;
0048
0049
0050 [~, from] = min(abs(time-time_noise(1)));
0051 [~, to] = min(abs(time-time_noise(2)));
0052 bayes_parm.twin_noise = [from to];
0053 bayes_parm.twin_baseline = [from to];
0054
0055 bayes_parm.patch_norm = ON;
0056
0057
0058 bayes_parm.bayesfile = fullfile(p.meg_dirname, p.current_dirname, [p.task_list{ta} '.bayes.mat']);
0059
0060
0061 bayes_parm = vb_set_noise_estimation_model(bayes_parm, p.proj_root);
0062
0063
0064 vb_job_vb(p.proj_root, bayes_parm)
0065
0066
0067
0068
0069
0070 current_parm.megfile = bayes_parm.megfile;
0071 current_parm.bayesfile = bayes_parm.bayesfile;
0072
0073
0074 current_parm.trial_average = ON;
0075
0076
0077 a = vb_load_meg_data(fullfile(p.proj_root, current_parm.megfile{1}));
0078 current_parm.twin_meg = [1 size(a, 2)];
0079 current_parm.Tperiod = size(a, 2);
0080
0081
0082 current_parm.currfile = fullfile(p.meg_dirname, p.current_dirname, [p.task_list{ta} '.curr.mat']);
0083
0084
0085 vb_job_current(p.proj_root, current_parm);
0086 end
0087
0088
0089
0090
0091