[med-svn] [python-mne] 360/376: prettify example + adding test for source_induced_power
Yaroslav Halchenko
debian at onerussian.com
Fri Nov 27 17:23:21 UTC 2015
This is an automated email from the git hooks/post-receive script.
yoh pushed a commit to annotated tag v0.1
in repository python-mne.
commit 87c0dffa0521a91ed400829f017779bc79657280
Author: Alexandre Gramfort <alexandre.gramfort at inria.fr>
Date: Fri Sep 16 17:22:57 2011 -0400
prettify example + adding test for source_induced_power
---
.../plot_source_label_time_frequency.py | 4 ++--
mne/baseline.py | 7 +++++--
mne/minimum_norm/tests/test_time_frequency.py | 20 +++++++++++++++++---
3 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/examples/time_frequency/plot_source_label_time_frequency.py b/examples/time_frequency/plot_source_label_time_frequency.py
index 5c53aef..17621d4 100644
--- a/examples/time_frequency/plot_source_label_time_frequency.py
+++ b/examples/time_frequency/plot_source_label_time_frequency.py
@@ -49,10 +49,10 @@ epochs = mne.Epochs(raw, events, event_id, tmin, tmax, picks=picks,
preload=True)
# Compute a source estimate per frequency band
-frequencies = np.arange(7, 30, 3) # define frequencies of interest
+frequencies = np.arange(7, 30, 2) # define frequencies of interest
label = mne.read_label(fname_label)
power, phase_lock = source_induced_power(epochs, inverse_operator, frequencies,
- label, baseline=(None, 0), baseline_mode='logratio',
+ label, baseline=(-0.1, 0), baseline_mode='percent',
n_cycles=2, n_jobs=1)
power = np.mean(power, axis=0) # average over sources
diff --git a/mne/baseline.py b/mne/baseline.py
index 6cb7c11..16435d4 100644
--- a/mne/baseline.py
+++ b/mne/baseline.py
@@ -29,7 +29,7 @@ def rescale(data, times, baseline, mode, verbose=True, copy=True):
If baseline is equal ot (None, None) all the time
interval is used.
- mode: 'logratio' | 'ratio' | 'zscore' | 'mean'
+ mode: 'logratio' | 'ratio' | 'zscore' | 'mean' | 'percent'
Do baseline correction with ratio (power is divided by mean
power during baseline) or zscore (power is divided by standard
deviatio of power during baseline after substracting the mean,
@@ -44,7 +44,7 @@ def rescale(data, times, baseline, mode, verbose=True, copy=True):
if copy:
data = data.copy()
- valid_modes = ['logratio', 'ratio', 'zscore', 'mean']
+ valid_modes = ['logratio', 'ratio', 'zscore', 'mean', 'percent']
if mode not in valid_modes:
raise Exception('mode should be any of : %s' % valid_modes)
@@ -73,6 +73,9 @@ def rescale(data, times, baseline, mode, verbose=True, copy=True):
std = np.std(data[..., imin:imax], axis=-1)[..., None]
data -= mean
data /= std
+ elif mode == 'percent':
+ data -= mean
+ data /= mean
elif verbose:
print "No baseline correction applied..."
diff --git a/mne/minimum_norm/tests/test_time_frequency.py b/mne/minimum_norm/tests/test_time_frequency.py
index 6423e67..c231db0 100644
--- a/mne/minimum_norm/tests/test_time_frequency.py
+++ b/mne/minimum_norm/tests/test_time_frequency.py
@@ -8,7 +8,7 @@ from ...datasets import sample
from ... import fiff, find_events, Epochs
from ...label import read_label
from ..inverse import read_inverse_operator
-from ..time_frequency import source_band_induced_power
+from ..time_frequency import source_band_induced_power, source_induced_power
examples_folder = op.join(op.dirname(__file__), '..', '..', '..', 'examples')
@@ -39,8 +39,8 @@ def test_tfr_with_inverse_operator():
# Load condition 1
event_id = 1
- events = events[:3] # take 3 events to keep the computation time low
- epochs = Epochs(raw, events, event_id, tmin, tmax, picks=picks,
+ events3 = events[:3] # take 3 events to keep the computation time low
+ epochs = Epochs(raw, events3, event_id, tmin, tmax, picks=picks,
baseline=(None, 0), reject=dict(grad=4000e-13, eog=150e-6),
preload=True)
@@ -60,3 +60,17 @@ def test_tfr_with_inverse_operator():
n_cycles=2, use_fft=False, pca=False, label=label)
assert_array_almost_equal(stcs['alpha'].data, stcs_no_pca['alpha'].data)
+
+ # Compute a source estimate per frequency band
+ events = find_events(raw)
+ epochs = Epochs(raw, events[:10], event_id, tmin, tmax, picks=picks,
+ baseline=(None, 0), reject=dict(grad=4000e-13, eog=150e-6),
+ preload=True)
+
+ frequencies = np.arange(7, 30, 2) # define frequencies of interest
+ power, phase_lock = source_induced_power(epochs, inverse_operator,
+ frequencies, label, baseline=(-0.1, 0),
+ baseline_mode='percent', n_cycles=2, n_jobs=1)
+ assert_true(np.all(phase_lock > 0))
+ assert_true(np.all(phase_lock < 1))
+ assert_true(np.max(power) > 10)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/python-mne.git
More information about the debian-med-commit
mailing list