[FieldTrip] lcmv beamform with common filter
Ninja Katja Horr
ninja78278 at aol.com
Thu Jan 24 17:11:33 CET 2013
Dear Fieldtrip-Users,
I am trying to do lcmv beamform sourceanalysis with a common filter for all conditions (same session, different trials defined with ft_preprocessing belong to different conditions,sequence of conditions randomly intermixed for each block).
However if I use the common filter calculated from one block (consisting of 57 trials) ft_sourceplot doesn't show any activity anymore (if I run each condition separately without common filters it is working).
Here is how I proceed:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% MAKE TIMELOCKANALYSIS FOR COMPLETE BLOCK
cfg = [];
cfg.channel='MEG';
cfg.keeptrials='yes';
cfg.blc='yes';
cfg.blcwindow = [-0.2 0]
data = ft_timelockanalysis(cfg,data);
cfg = [];
cfg.channel = 'MEG'
cfg.covariance ='yes';
cfg.covariancewindow = [0 0.2];
cfg.removemean = 'no';
cfg.keeptrials = 'yes';
timelock_post = ft_timelockanalysis(cfg,data);
cfg.covariancewindow = [-0.2 0];
timelock_pre = ft_timelockanalysis(cfg,data);
%MAKE SOURCEANALYSIS FOR COMPLETE BLOCK AND KEEP FILTER
cfg = [];
cfg.method = 'lcmv';
cfg.grid = grid.grid;
cfg.vol = vol.vol;
cfg.grad = grad.grad;
cfg.keeptrials='yes';
cfg.lcmv.lamda = '5%';
cfg.lcmv.keepfilter = 'yes';
source_post = ft_sourceanalysis(cfg,timelock_post);
source_pre = ft_sourceanalysis(cfg,timelock_pre);
source_post.avg.nai = source_post.avg.pow./source_pre.avg.pow;
%MAKE TIMELOCKANALYSIS OF SPECIFIC CONDITIONS
cfg = [];
cfg.trials=cond1; %this picks out the trials belonging to condition1
cfg.channel ='MEG';
cfg.keeptrials='yes';
cfg.blc = 'yes';
cfg.blcwindow = [-02 0];
data=ft_timelockanalysis(cfg,data);
cfg =[];
cfg.channel='MEG';
cfg.covariance='yes';
cfg.covariancewindow=[0 0.2];
cfg.removemean ='no';
cfg.keeptrials='yes';
timelock_post_cond1 = ft_timelockanalysis(cfg,data);
timelock_pre_cond1 = ft_timelockanalysis(cfg,data);
%MAKE SOUCEANALYSIS OF SPECIFIC CONDITION USING THE COMMON FILTER OF THE BLOCK
cfg = [];
cfg.method = 'lcmv';
cfg.grid = grid.grid;
cfg.grid.filter=source_post.avg.filter;
cfg.lcmv.keepfilter='no';
cfg.keeptrials = 'yes';
cfg.vol = vol.vol;
cfg.grad=grad.grad;
cfg.lcmv.lambda='5%';
source_post_cond1 = ft_sourceanalysis (cfg,timelock_post_cond1);
source_pre_cond1 = ft_sourceanalysis (cfg,timelock_pre_cond1);
source_post_cond1.avg.nai = source_post_cond1.avg.pow./source_pre_cond1.avg.pow;
%PLOT
source_post_cond1.pos = template.pos;
source_post_cond1.dim = template.dim;
source_post_cond1.xgrid = template.xgrid;
source_post_cond1.ygrid = template.ygrid;
source_post_cond1.zgrid = template.zgrid;
cfg = [];
cfg.parameter =' avg.nai';
interp_cond1 = ft_sourceinterpolate (cfg,source_post_cond1,mri);
cfg = [];
cfg.funparameter = 'nai';
cfg.method = 'ortho';
cfg.location = 'max';
cfg.funcolorlim = [1.5 2.0];
ft_sourceplot (cfg,interp_cond1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I also tried it using rawtrials, but with the same outcome (no activation visible in sourceplot).
As I said, doing the same thing for cond1 without using the common filter works perfectly fine.
Does anybody have an idea what might be my mistake?.
Thank you a lot for your help!
Ninja
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20130124/f70c8871/attachment.html>
More information about the fieldtrip
mailing list