This is an automated email from the git hooks/post-receive script. yoh pushed a commit to tag 0.4 in repository python-mne.
commit de823d0bc45c5722dedcffa8b5a783f6c2b644aa Author: Alexandre Gramfort <[email protected]> Date: Sun Jun 17 16:16:30 2012 +0300 ENH : nicer plot of PSD in examples --- examples/time_frequency/plot_compute_raw_data_spectrum.py | 14 +++++++++----- mne/time_frequency/psd.py | 10 ++++++++-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/examples/time_frequency/plot_compute_raw_data_spectrum.py b/examples/time_frequency/plot_compute_raw_data_spectrum.py index 2ad542b..20c6bd6 100644 --- a/examples/time_frequency/plot_compute_raw_data_spectrum.py +++ b/examples/time_frequency/plot_compute_raw_data_spectrum.py @@ -30,13 +30,17 @@ exclude = raw.info['bads'] + ['MEG 2443', 'EEG 053'] # bads + 2 more # picks MEG gradiometers picks = fiff.pick_types(raw.info, meg='grad', eeg=False, eog=False, - stim=False, exclude=exclude) + stim=False, exclude=exclude) tmin, tmax = 0, 60 # use the first 60s of data -fmin, fmax = 2, 70 # look at frequencies between 5 and 70Hz +fmin, fmax = 2, 300 # look at frequencies between 5 and 70Hz NFFT = 2048 # the FFT size (NFFT). Ideally a power of 2 psds, freqs = compute_raw_psd(raw, tmin=tmin, tmax=tmax, picks=picks, - fmin=fmin, fmax=fmax, NFFT=NFFT, n_jobs=1) + fmin=fmin, fmax=fmax, NFFT=NFFT, n_jobs=1, + plot=False) + +# Convert PSDs to dB +psds = 10 * np.log10(psds) ############################################################################### # Compute mean and standard deviation accross channels and then plot @@ -46,10 +50,10 @@ psd_std = np.std(psds, axis=0) hyp_limits = (psd_mean - psd_std, psd_mean + psd_std) import pylab as pl -pl.close('all') +pl.figure() pl.plot(freqs, psd_mean) pl.fill_between(freqs, hyp_limits[0], y2=hyp_limits[1], color=(1, 0, 0, .3), alpha=0.5) pl.xlabel('Freq (Hz)') -pl.ylabel('PSD') +pl.ylabel('Power Spectral Density (dB/Hz)') pl.show() diff --git a/mne/time_frequency/psd.py b/mne/time_frequency/psd.py index c1ffdae..efbd631 100644 --- a/mne/time_frequency/psd.py +++ b/mne/time_frequency/psd.py @@ -7,7 +7,8 @@ from ..parallel import parallel_func def compute_raw_psd(raw, tmin=0, tmax=np.inf, picks=None, - fmin=0, fmax=np.inf, NFFT=2048, n_jobs=1): + fmin=0, fmax=np.inf, NFFT=2048, n_jobs=1, + plot=False): """Compute power spectral density with multi-taper Parameters @@ -38,6 +39,9 @@ def compute_raw_psd(raw, tmin=0, tmax=np.inf, picks=None, n_jobs: int Number of CPUs to use in the computation. + plot: bool + Plot each PSD estimates + Return ------ psd: array of float @@ -58,8 +62,10 @@ def compute_raw_psd(raw, tmin=0, tmax=np.inf, picks=None, print "Effective window size : %s (s)" % (NFFT * Fs) parallel, my_psd, n_jobs = parallel_func(pl.psd, n_jobs, verbose=0) + fig = pl.figure() out = parallel(my_psd(d, Fs=Fs, NFFT=NFFT) for d in data) - + if not plot: + pl.close(fig) freqs = out[0][1] psd = np.array(zip(*out)[0]) -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/python-mne.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
