[FieldTrip] Magnitude of estimated source activity

Judy Zhu di.zhu3 at students.mq.edu.au
Mon Dec 2 09:01:38 CET 2019

Dear FieldTrip experts,

My name is Judy Zhu and I am a PhD student at Macquarie University in
Sydney, Australia.

I am using an LCMV beamformer in fieldtrip to estimate source activities
from MEG data. My aim is to compute the magnitude of brain activity in
selected ROIs over a timecourse, without worrying about the orientation of
that activity. I am using free dipole orientation for the beamformer
(cfg.lcmv.fixedori = 'no'), which gives me 3 spatial filters (1 on each
axis) for each source vertex. Then I use spatial_filter * ERF to obtain 3
timecourses for each vertex, and then take the norm at every time sample,
so that I eventually end up with 1 timecourse for this vertex. My
understanding is that, by keeping all 3 orientations, I would obtain (for
each orientation) a timecourse representing the absolute magnitude of
activity at that source vertex in that orientation, and hence the entire
timecourse should be positive. However, that is not the case - the
timecourse for each orientation always contain positive and negative
values. Is this as expected? What does the sign represent here?

Here's my code snippet:

cfg                 = [];
cfg.keeptrials      = 'no';
cfg.channel         = 'MEG';
cfg.grad            = grads;
cfg.senstype        = 'MEG';
cfg.method          = 'lcmv';
cfg.grid            = grid;
cfg.grid.unit       = 'cm';
cfg.headmodel       = headmodel;
%cfg.lcmv.lamda      = '5%';
cfg.lcmv.lamda      = '100%'; % regularisation parameter - set to 1 here
because our data is rank-reduced (due to rejecting ICA comps)
cfg.lcmv.fixedori   = 'no';
cfg.lcmv.keepfilter = 'yes';
cfg.lcmv.projectmom = 'no';
cfg.lcmv.normalize  = 'yes'; %corrects for depth bias?
source_combined = ft_sourceanalysis(cfg, erf_allconds); % create spatial

% spatial filter for a selected vertex
F = source_combined.avg.filter{vertex_idx};

% compute source timecourses in all 3 orientations for each condition
for i = conds
    VE.(cond_names{i}).avg = F(:,:) * erf.(cond_names{i}).avg(:,:); %
estimated source activity = filter * erf

When using "free orientation" in ft_sourceanalysis, is the orientation
information still embedded in the spatial filter generated? If so, how do I
extract just the magnitude information? I've had a look at the other fields
in the output, and these don't seem to be what I am after. The .mom field
seems to be an estimated timecourse for each vertex (i.e. spatial_filter *
ERF_averaged_over_all_conditions), and the .pow field contains a single
value for each vertex (averaged over time?)

Any advice would be highly appreciated!

Many thanks,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20191202/4478c824/attachment.html>

More information about the fieldtrip mailing list