Beamformer of correlated sources

jan-mathijs schoffelen j.schoffelen at PSY.GLA.AC.UK
Fri Aug 15 15:27:47 CEST 2008

Dear Cristiano,

What do you exactly mean by 'not able to attenuate the main dipole'?
Do you mean attenuation of power, or of coherence?
The purpose of using several dipoles in your source model (be it one
location fixed and the other moving, or a symmetric dipole pair, or
whatever) before computing the beamformer weights will not lead to
The underlying idea of allowing the two locations in the spatial pass-
band, is to prevent the 'main dipole' from distorting the
reconstructed signal. Distortion of the reconstructed signal at the
second location of interest, will critically affect the cross-
spectral density with the reference signal, and thus the
reconstructed coherence. Importantly, the double dipole approach does
still not take the problem of filter leakage away and therefore will
generally not lead to a clear ccc-map. There will still be a 'dome'
of coherence around the reference location, unless you have a well-
specified condition to be able to compute a contrast (although this
poses problems in itself, because differences in estimated power lead
to different shapes of the 'domes').

As a remark on the side, recent work I did in this direction actually
made me realize that the absolute value of the simulated coherence
between a target dipole pair can be estimated quite accurately with a
beamformer (given appropriate snr, leadfield correlations etc), but
problems arise from the fact that other regions in the brain will
show even higher values of correlation.

I realize I did not provide any answers here but hopefully some food
for thought.



On Aug 15, 2008, at 3:08 PM, Cristiano Micheli wrote:

> About your last email:
> On Fri, 8 Aug 2008 14:30:38 +0200, jan-mathijs schoffelen
> <j.schoffelen at PSY.GLA.AC.UK> wrote:
>> Dear Cristiano,
>> Nice simulation in figure 1!
>> The way you did the second simulation is just the 'traditional' DICS,
>> giving you a huge mountain of coherence around the reference
>> location.
>> This will drown any other true cortico-cortical coherence to the
>> right hemisphere dipole. (Note that a double dipole approach will not
>> be of too
>> much help here, if you do a ccc-analysis with respect to your
>> reference: this is an important point in the paper you refer to. The
>> double dipole approach
>> will hopefully be able to unveil low coherence of the second dipole
>> to the reference, which is masked by the high power + high coherence
>> (one of these,
>> or perhaps both) in the reference dipole.)
>> As such, the double dipole approach is not yet implemented in a
>> straightforward way in the release-version of fieldtrip, but I will
>> be happy to give you some handles:
>> I would suggest to include the leadfield of the reference location in
>> the grid with precomputed leadfields which will be passed in the
>> configuration to sourceanalysis.
>> You have to concatenate the dipole-location specific leadfields with
>> the reference dipole's leadfield. This will give you leadfields of
>> dimensionality Nx6 (or Nx2 if you
>> have a reason to assume a fixed orientation).
>> Subsequently you can run sourceanalysis with cfg.keepfilter = 'yes'
>> and without cfg.refdip, to extract the filter coefficients. These
>> will have the dimensionality 6xN for each
>> double dipole, the first 3 rows corresponding to the location
>> specific location, and the last 3 rows corresponding to the reference
>> dipole.
> I  created a file named  'my_prepare_leadfield.m' and i
> concatenated the
> lead field as written (line 235):
> %   grid.leadfield{dipindx} = lf; %old
> %%%%%%%%%%%%%%%%%%% new
> lf2 = compute_leadfield([0 5 10], sens, vol, 'reducerank',
> cfg.reducerank,
> 'normalize', cfg.normalize,'normalizeparam',cfg.normalizeparam);
> grid.leadfield{dipindx} = [lf lf2];
> %%%%%%%%%%%%%%%%%%% new
> Then I run the DICS with the following settings as you adviced:
> cfg           = [];
> cfg.grid      = grid_;
> cfg.method    = 'dics';
> cfg.projectnoise = 'yes';
> cfg.reducerank = 2;
> cfg.lambda    = 0;
> cfg.refchan   = refch;
> cfg.frequency = 20;
> cfg.hdmfile   = 'mymodel.hdm';
> cfg.keepfilter= 'yes';
> sourcecond    = sourceanalysis(cfg, freqcond);
>> To then compute your 'dipole pair and reference channel'-based cross-
>> spectral density you have to sandwich the sensor-level cross-spectral
>> density (take care to have
>> the channel-order identical to the channel order in the filters)
>> between the augmented filters. You can augment the filters to
>> accommodate for the reference channel in
>> the following way: [filter zeros(size(filter,1),1);zeros(1,size
>> (filter,2)) 1]; (make sure to put the reference channel last in the
>> channel csd.
> Before doing it I think I will have to include Cf and Cr and Pr in
> the same
> matrix, but i am not sure.
> Namely: csd = filter * Cf_ * ctranspose(filter)
> with filt of dimensions 6X(N+1) channels after augmenting, and Cf_
> made of
> the contributions of MEG channel-channels cross-variance plus the
> contribution of MEG-EMG channels crossvariance Cr (column vector):
> Cf_ = [Cf,Cr;Cr' Pr];
>> From each sandwiched csd (7x7) you should be able to extract
>> anything you want. The top-left 6x6 block will contain the between
>> dipole csd (diagonal 3x3 blocks contain
>> the within dipole parameters from which power can be estimated: the
>> off-diagonal blocks contain the between dipole csd). The bottom right
>> value will contain the reference
>> signal power, and the 6x1 and 1x6 remaining vectors contain the
>> reference to dipole csds, in two groups of 3. The coherence can be
>> estimated (according to Joachim's 2001
>> PNAS-paper) in this case by: svd( csd(1:3,7))./ sqrt(svd(csd
>> (1:3,1:3))
>> *csd(7,7));
>> Good luck,
>> Jan-Mathijs
> This makes sense to me, considering also the literature (Dalal et
> al. 2006,
> Brookes et al. 2007), but I weight equally the contributions of two
> correlated dipoles, which can also have different amplitudes.
> This is why maybe my simulations are not able to attenuate the main
> dipole?
> Best
> Cristiano
> ----------------------------------
> 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
> archives/fieldtrip.html and

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 and

More information about the fieldtrip mailing list