DICS, complex filter coeffcients and Virtual Electrodes

Eric Maris e.maris at DONDERS.RU.NL
Mon Feb 23 15:14:25 CET 2009


Dear FT-colleagues,


> Yes, by default the filter-coefficients are complex-valued, when
> using cfg.method = 'dics'. There's an option for sourceanalysis,
> cfg.realfilter which can be set to 'yes'. When cfg.realfilter =
> 'yes'. The filter-coefficients are computed from the real part of the
> cross-spectral density matrix only. The rationale behind this would
> be that 'true' sources only live in the real part of the csd-matrix
> in the first place, because the forward mapping from source to signal
> is instantaneous (hence also of course the real-valued leadfields).
> On the other hand, including extra information in the computation of
> your filters (i.e. allowing them to be complex, thus using also the
> imaginary part), probably influences the suppressive properties of
> the filter. This would mean that noise sources in your data (which
> are not necessarily at zero phase-lag) may be more effectively
> suppressed. So I am not sure which is 'the correct' way here.
> However, if you want to use DICS-based filters to project your sensor
> data, I would use the option cfg.realfilter = 'yes', to obtain more
> 'meaningful' voxel-level time courses (but not that these time-
> courses are only optimised for the frequency band on which the
> filters had been computed).


If you believe that the sensor signal is an instantaneous mapping of a
source signal, then complex filter weights do not make sense. You can
incorporate this constraint (Imag(filter)=0) in the calculation of your
filter weights from the complex CSD matrix and the real-valued leadfields.
After some linear algebra, you obtain that the solution to this constrained
least-squares minimization is equal to usual solution (see, van Veen et al,
IEEE-TBME; Gross et all, PNAS) but applied to Real(CSD) instead of the
complex-valued CSD matrix.



Kind regards,

Eric Maris




>
> > Next thing I thought about was to FFT the single trial, filter it
> > and then inverse FFT it, because the DICS filters are supposed to
> > work in the frequency domain. But that shouldn't work either,
> > because we have iFFT(filter(FFT(trial))) = iFFT(FFT(filter(trial)))
> > = filter(trial), because all operation are linear.
>
> This is true (so indeed that exercise is meaningless), but the
> subsequent estimate of power (i.e. squaring the fourier coefficients)
> is not linear. (power from the filtered data: abs(filter(FFT
> (trial))).^2 will be obviously different from filter(abs(FFT
> (trial)).^2) ).
>
> In general, if you want to approximate SAM, to me it would make more
> sense to use a time-domain beamformer in the first place, because
> DICS filters are optimised for a specific frequency bin in the first
> place. In other words, inverse-fft'ing the filtered sensor-fourier
> coefficients (across all frequencies) does not seem to make too much
> sense to me. This would boil down to bandpass-filtering your sensor
> data, calling timelockanalysis with cfg.covariance  = 'yes' and
> cfg.covariancewindow = [something]. Then sourceanalysis with
> cfg.method = 'lcmv', after which you can project your bp-filtered
> data through the filters.
>
>
> > Next thing I am puzzled about is that the Filters (A) times the
> > leadfield matrix (L) should be the identity matrix: AL=1 (see the
> > Gross, 2001, PNAS paper). If A is complex - as it is in Fieldtrip
> > -, then we would also have a complex leadfield, which seems odd to me.
>
> Not necessarily: the leadfield is always real-valued. If you
> interpret the product A*L just as a weighted sum of the complex
> numbers in A (weighted by L), the values in L can be such that the
> real part of the sum ends up to be 1, and the imaginary part ends up
> to be 0. (For your and my peace of mind you could try this by running
> sourceanalysis with cfg.keepfilter = 'yes' and cfg.realfilter = 'no'
> and cfg.keepleadfield = 'yes' and looking at a random filter*leadfield).
>
> Yours,
>
> Jan-Mathijs
>
> ----------------------------------
> The aim of this list is to facilitate the discussion between users of the
FieldTrip
> toolbox, to share experiences and to discuss new ideas for MEG and EEG
analysis.
> See also http://listserv.surfnet.nl/archives/fieldtrip.html and
> http://www.ru.nl/fcdonders/fieldtrip.

----------------------------------
The aim of this list is to facilitate the discussion between users of the FieldTrip  toolbox, to share experiences and to discuss new ideas for MEG and EEG analysis. See also http://listserv.surfnet.nl/archives/fieldtrip.html and http://www.ru.nl/fcdonders/fieldtrip.



More information about the fieldtrip mailing list