[FieldTrip] How to impove dics realfilter solution

Gio Piantoni g.piantoni at nin.knaw.nl
Tue Sep 25 12:21:54 CEST 2012

Hi Björn,

It's not surprising that the results are pretty bad after using real
filters. The fourier transform and DICS are intrinsically
complex-valued, so using only the real part means throwing away half
of the information (and getting meaningless results).

The realfilter option was implemented in order to allow to pass the
time-domain signal through the complex-value spatial filter and obtain
a "virtual electrode". A virtual electrode with complex values is
"weird to say the least", see:
Robert considered it an error in the algorithm and fixed it by
providing the realfilter option. However, to me it seems more correct
to think that complex spatial filters requires complex input (i.e.
frequency-domain signal), so don't use DICS spatial filters on
time-domain real-valued MEG recordings to generate time-domain virtual
electrodes. If you want time-domain virtual electrodes, use LCMV
spatial filters centered at the location of interest. Other smart
people might disagree though.

I suggest not to use realfilter option at all, but I'd be happy to
hear other meaningful applications of this option.

Hope this helps,


On Fri, Sep 14, 2012 at 10:23 AM, Björn Herrmann <bherrmann at cbs.mpg.de> wrote:
> Dear fieldtrip user,
> I am using the DICS beamformer to localize a 3Hz FFT power topographical distribution (using a neuromag system). The topographies are very clear auditory in single subjects, thus it shouldn't be a problem finding the "right" solution. When I use the beamformer to obtain complex-value spatial filters, the solution looks very good (using NAI). No problem here. However, using cfg.dics.realfilter = 'yes', i.e. the spatial filter will have real values, the localization completely breaks down, sometimes even finding a strong peak in the opposite hemisphere than visible in the sensor topography (the head is centered in the sensor array).
> Does someone have a suggestion how to improve the solution using realfilter = 'yes'. I use the following settings. They are rather standard I guess.
> cfg = [];
> cfg.method            = 'dics';
> cfg.frequency         = 3;
> cfg.dics.projectnoise = 'yes';
> cfg.dics.lambda       = '5%';
> cfg.dics.keepfilter   = 'yes';
> cfg.dics.realfilter   = 'yes';
> cfg.dics.fixedori     = 'no';
> If someone has a suggestion, I would appreciate it.
> Thanks in advance,
> best,
> Björn
> _______________________________________________
> fieldtrip mailing list
> fieldtrip at donders.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip

More information about the fieldtrip mailing list