0001 function vb_megfile_remove_offset(megfile,megfile_new,baseline)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025 const = vb_define_const;
0026
0027 if nargin<1, help vb_megfile_remove_offset; end
0028
0029 MEGinfo = vb_load_meg_info(megfile);
0030
0031
0032 if nargin<3 || isempty(baseline),
0033 Tbase = 1:MEGinfo.Pretrigger;
0034 else
0035 Tbase = baseline(1):baseline(2);
0036 end
0037
0038
0039 for i=1:MEGinfo.Nrepeat
0040 load_spec.TrialNumber = i;
0041 load_spec.ActiveChannel = false;
0042
0043 load_spec.ChannelType = const.DATA_TYPE_MAIN;
0044 meg_data = vb_load_meg_data(megfile,load_spec);
0045
0046 load_spec.ChannelType = const.DATA_TYPE_EXTRA;
0047 ext_data = vb_load_meg_data(megfile,load_spec);
0048
0049 load_spec.ChannelType = const.DATA_TYPE_REFERENCE;
0050 ref_data = vb_load_meg_data(megfile,load_spec);
0051
0052 offset = mean(meg_data(:,Tbase),2);
0053 meg_data = meg_data-repmat(offset,[1 size(meg_data,2)]);
0054 new_data.bexp(:,:,i) = meg_data;
0055 new_data.bexp_ext(:,:,i) = ext_data;
0056 new_data.refmg(:,:,i) = ref_data;
0057 end
0058
0059 vb_msrmnt_store_data(megfile,new_data,[],megfile_new);
0060