[Mne_analysis] computing peak frequency in source space
Luke Bloy
luke.bloy at gmail.com
Mon Sep 30 15:34:52 EDT 2013
Ahh I didn't know about make_fixed_length_events, that will come in very
handy.
From: Denis-Alexander Engemann [mailto:denis.engemann at gmail.com]
Sent: Monday, September 30, 2013 1:10 PM
To: Luke Bloy
Cc: Martin Luessi; <Mne_analysis at nmr.mgh.harvard.edu>
Subject: Re: [Mne_analysis] computing peak frequency in source space
Sorry Luke,
I did not get what you were looking for when reading your mail first. I'm
glad the example Martin posted does what you were looking for.
> so most of the inverse operator code in python runs into
> memory problems.
By the way when working with resting state data you can also generate epochs
using `mne.event.make_fixed_length_events` and compute source power on
epochs using `mne.minimum_norm.compute_source_psd_epochs` with the option
`return_generator` set to True. This will avoid loading all data into memory
by not returning a list of source estimates but a generator you can unfold
in a simple loop, such that only one source estimate is processed at a given
iteration.
Or you can pass it to functions that do the unpacking as required.
See this example:
http://martinos.org/mne/auto_examples/connectivity/plot_mne_inverse_coherenc
e_epochs.html#example-connectivity-plot-mne-inverse-coherence-epochs-py
Cheers,
Denis
On Mon, Sep 30, 2013 at 6:54 PM, Luke Bloy <luke.bloy at gmail.com> wrote:
That is exactly what I was looking for. Thanks.
Best,
Luke
-----Original Message-----
From: Martin Luessi [mailto:mluessi at nmr.mgh.harvard.edu]
Sent: Monday, September 30, 2013 12:55 PM
To: Luke Bloy
Cc: Denis-Alexander Engemann; mne_analysis at nmr.mgh.harvard.edu
Subject: Re: [Mne_analysis] computing peak frequency in source space
Hi Luke,
I think you want to either use compute_source_psd or (for raw data) or
compute_source_psd_epochs (for epoched data). The functions are in
mne.minimum_norm.time_frequency. There is an example here:
http://martinos.org/mne/auto_examples/time_frequency/plot_source_power_spect
<http://martinos.org/mne/auto_examples/time_frequency/plot_source_power_spec
trum.html>
rum.html
I hope this helps.
Martin
On 09/30/13 12:41, Luke Bloy wrote:
> Thanks for the quick reply Denis.
>
> I'm interested in the peak frequency within a band not the power
> timecourse of the band so source_band_induced_power isn't what I want.
> I also want to stick with MNE, as opposed to DICS or another
> beamformer, for localization since I will want to compare with mne/dspm
power estimates.
>
> The other complicating factor is that I'm using resting state data (~~
> 5 minutes), so most of the inverse operator code in python runs into
> memory problems. Otherwise I could just do apply_inverse and then work
> on the returned timecourses in the stc.
>
> once I have a time course for each source finding the peak frequency
> will be pretty straight forward using numpy.fft and numpy.fft.fftfreq.
>
> Hope this makes sense
> -Luke
>
>
>
> On Mon, Sep 30, 2013 at 12:14 PM, Denis-Alexander Engemann
> <denis.engemann at gmail.com <mailto:denis.engemann at gmail.com>> wrote:
>
> Hi Luke,
>
>
> On Mon, Sep 30, 2013 at 6:02 PM, Luke Bloy <luke.bloy at gmail.com
> <mailto:luke.bloy at gmail.com>> wrote:
>
> Hi all,
>
> I am interested in computing the peak frequency within a band
> for each source.
>
> So my first question is does this already exists somewhere?
>
>
>
> This example might be of interest.
>
>
> http://martinos.org/mne/auto_examples/time_frequency/plot_source_space
> _time_frequency.html#example-time-frequency-plot-source-space-time-fre
> quency-py
>
> Basically it returns source estimates per frequency band each of
> which can be visualized on e.g. a cortical surface.
>
> Another timely alternative is the DICS bearmformer recently added by
> Roman:
>
>
> https://github.com/mne-tools/mne-python/blob/master/examples/inverse/p
> lot_dics_source_power.py
>
>
> https://github.com/mne-tools/mne-python/blob/master/examples/inverse/p
> lot_dics_beamformer.py
>
> you can always use numpy.argmax and argsort functions to quickly
> navigate through peaks inside the resulting arrays.
>
>
> If not what would people suggest as a jumping off point for
> developing it. I was thinking of following apply_inverse in
> inverse.py until I get the final inverse operator (K in line
> 753) and then looping through each row (source) in K to compute
> the time course and peak power and frequency. Any other
> suggestions or downsides to this approach?
>
>
> Maybe let's first see whether what is implemented so far gives you
> what you're looking for.
>
> I hope this helps + cheers,
> Denis
>
> Thanks,
> Luke
>
>
>
> _______________________________________________
> Mne_analysis mailing list
> Mne_analysis at nmr.mgh.harvard.edu
> <mailto: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
>
--
Martin Luessi, Ph.D.
Research Fellow
Department of Radiology
Athinoula A. Martinos Center for Biomedical Imaging Massachusetts General
Hospital Harvard Medical School
149 13th Street
Charlestown, MA 02129
Fax: +1 617 726-7422 <tel:%2B1%20617%20726-7422>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20130930/4b10307d/attachment.html
More information about the Mne_analysis
mailing list