[Mne_analysis] Multitapers and DICS

Alexandre Gramfort alexandre.gramfort at telecom-paristech.fr
Wed May 25 21:14:26 EDT 2016
Search archives:

hi Andrea,

thanks for clarifying. I created an issue on github:

https://github.com/mne-tools/mne-python/issues/3249

hopefully someone will look into it soon.

Alex


On Wed, May 25, 2016 at 9:31 AM, Andrea Brovelli
<andrea.brovelli at univ-amu.fr> wrote:
> Hi Alexandre,
> yes, exactly.
> In order to compute the single-trial power at the source level at a single
> frequency, the steps I normally use (in Fieldtrip) are:
> 1) Multitaper at the sensor level: compute complex-valued estimates of
> spectral measures Xsensor(n, t, k) , for each trial n, time t, and taper k.
> The cross-spectral density matrices, however, is computed across trials
> (average csd).
> 2) DICS: compute complex-value spectral measures at the source level,
> Xsource(s, t, k) =  A * Xsensor(n, t, k) , where A(t) is the real-valued
> spatial filter that transforms the data from the sensor to source level,
> which is computed from the real part of the csd in (1). The Xsource(s, t, k)
> is calculated for each source s, time t, and taper k
> 3) The single-trial power at each source location is computed by multiplying
> the complex spectral estimates with their complex conjugate, and averaged
> over tapers k. Psource(s, t) = <   Xsource dot Xsource(s, t, k) * > over k
> 4) Finally, I log-transform the power values to make the data approximate
> Gaussian and lowpass filtered at 50 Hz to reduce noise. Then, the
> single-trial mean power and SD in the baseline period (i.e., multiple
> estimates of noise) are computed for each source and trial, and used to
> z-transform single-trial event-related power time courses.
>
> I hope this is clear. If you want a detailed description you can read the
> paragraph "Single-trial HGA at BAs" in the Methods in this paper:
> http://www.jneurosci.org/content/35/37/12643.short
>
> However, I am not familiar with MNE yet, I am slowly learning. So, I don't
> know exactly how I could contribute to implement this. But I can help ! Just
> let me know.
>
> bye
> Andrea
>
>
> Le 25/05/2016 à 13:46, Alexandre Gramfort a écrit :
>
> hi Andrea,
>
> hum I think you're right.
>
> If I follow what you're saying we should have a noise_csds per
> frequency and per taper. Then compute the STCs for each taper and then
> average. Is that what you have in mind?
>
> Alex
>
> On Tue, May 24, 2016 at 6:21 AM, Andrea Brovelli
> <andrea.brovelli at univ-amu.fr> wrote:
>
> Dear all,
> I have a question regarding the use of multitapers and DICS.
> As far as I know, the power spectral density using multitaper is the mean
> power averaged across tapers (e.g., equation 6 in the paper from Mitra and
> Pesaran http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1300074/pdf/9929474.pdf)
> At the source level, using DICS for example, I assume that we should compute
> the power for each taper and then average across tapers to get the mean
> power estimate for each source.
> While looking at the example on "Compute source power using DICS beamfomer"
> (http://martinos.org/mne/stable/auto_examples/inverse/plot_dics_source_power.html#sphx-glr-auto-examples-inverse-plot-dics-source-power-py),
> however it looks like that you compute the mean cross-spectral density
> averaged across tapers (which has complex values), and then you use it to
> compute the power at the source level.
> Is that the case ?
> If yes, would it be possible to modify it so to:
> 1) keep the csd for each taper
> 2) apply the spatial filter for each taper to the channel data to compute
> the source power for each taper
> 3) average source power across tapers
>
> Here are the lines of code I refer to in the Example
>
> # Computing the data and noise cross-spectral density matrices
> # The time-frequency window was chosen on the basis of spectrograms from
> # example time_frequency/plot_time_frequency.py
> # As fsum is False compute_epochs_csd returns a list of CrossSpectralDensity
> # instances than can then be passed to dics_source_power
> data_csds = compute_epochs_csd(epochs, mode='multitaper', tmin=0.04,
> tmax=0.15,
>                                fmin=15, fmax=30, fsum=False)
> noise_csds = compute_epochs_csd(epochs, mode='multitaper', tmin=-0.11,
>                                 tmax=-0.001, fmin=15, fmax=30, fsum=False)
>
> # Compute DICS spatial filter and estimate source power
> stc = dics_source_power(epochs.info, forward, noise_csds, data_csds)
>
>
> Thanks a lot,
> Best,
> Andrea
>
> _______________________________________________
> Mne_analysis mailing list
> Mne_analysis at nmr.mgh.harvard.edu
> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>
>
> The information in this e-mail is intended only for the person to whom it is
> addressed. If you believe this e-mail was sent to you in error and the
> e-mail
> contains patient information, please contact the Partners Compliance
> HelpLine at
> http://www.partners.org/complianceline . If the e-mail was sent to you in
> error
> but does not contain patient information, please contact the sender and
> properly
> dispose of the e-mail.
>
> _______________________________________________
> Mne_analysis mailing list
> Mne_analysis at nmr.mgh.harvard.edu
> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>
>
>
> _______________________________________________
> Mne_analysis mailing list
> Mne_analysis at nmr.mgh.harvard.edu
> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>
>
> The information in this e-mail is intended only for the person to whom it is
> addressed. If you believe this e-mail was sent to you in error and the
> e-mail
> contains patient information, please contact the Partners Compliance
> HelpLine at
> http://www.partners.org/complianceline . If the e-mail was sent to you in
> error
> but does not contain patient information, please contact the sender and
> properly
> dispose of the e-mail.
>



More information about the Mne_analysis mailing list