[FieldTrip] Source Timecourse

Robert Oostenveld r.oostenveld at donders.ru.nl
Tue Aug 30 09:08:19 CEST 2011


Hi Tony

On 29 Aug 2011, at 18:33, Passaro, Antony D wrote:
> Thank you both for your feedback, I really appreciate it. Using the ft_sourcedescriptives function (and projectmom), I was able to extract the time-course for each source. I am still curious about the output though as it appears to represent the entire duration (including the baseline) of the epoch rather than the specified time-window defined during timelockanalysis (just prior to sourceanalysis).

Default behaviour is to construct the covariance and average for the whole timewindow, indeed including the baseline period. Depending on the experimental data, the LCMV filter can be optimized for a specific timewindow by computing the covariance only for that timewindow. Subsequently the filter can be applied to the whole timewindow (including baseline) or only to the timewindow of interest.

> That being the case, does this time-course represent the .pow estimated by the lcmv beamformer or is the nai?

source.avg.pow is the power estimated based on the data covariance window, not on the longer time window that you might pass through the filter. If you computed the covariance for a smaller timewindow (using ft_timelockanalysis), then only that is used for the power estimate. The same applies to the nai.

> Or is it simply a source representation of the gradiometers over the entire epoch? Another issue I came across concerns the source interpolation. It seems once I interpolate the sources using a template mri, only the pow and nai fields are interpolated....is there a way to also interpolate the mom field as well or is it a matter of backtracking to figure out which original source corresponds to each interpolated source?

The mom timecourse is indeed not interpolated, as that used to exceed the memory on many computers: the interpolated mom would consist of a full 3D volume at each timepoint of your ERF.

We are in the process of making some improvements to the source data structure, i.e. to its representation. The planning is mostly done, but implementation wise I don't know how far the code already is. I think you could work with the following to interpolate it

source.avg.momint = nan(length(source.pos,1), length(source.time));
for i=1:length(source.inside)
  indx = source.inside(i);
  source.avg.momint(indx,:) = source.avg.mom{indx};
  % the grid locations outside the brain keep their NaN
end

and then specify cfg.parameter = 'momint' in ft_sourceinterpolate.

best
Robert



More information about the fieldtrip mailing list