[med-svn] [python-mne] 183/376: ENH : can drop channels from Epochs
Yaroslav Halchenko
debian at onerussian.com
Fri Nov 27 17:22:32 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 bdbc36af7ffb185cbf90bd10cdfd360334b2803d
Author: Alexandre Gramfort <alexandre.gramfort at inria.fr>
Date: Mon Apr 4 12:44:39 2011 -0400
ENH : can drop channels from Epochs
---
mne/epochs.py | 22 +++++++++++++++++++++-
mne/tests/test_epochs.py | 10 +++++++++-
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/mne/epochs.py b/mne/epochs.py
index 562ac95..982ca6a 100644
--- a/mne/epochs.py
+++ b/mne/epochs.py
@@ -168,6 +168,26 @@ class Epochs(object):
if self.preload:
self._data = self._get_data_from_disk()
+ def drop_picks(self, bad_picks):
+ """Drop some picks
+
+ Allows to discard some channels.
+ """
+ self.picks = list(self.picks)
+ idx = [k for k, p in enumerate(self.picks) if p not in bad_picks]
+ self.picks = [self.picks[k] for k in idx]
+
+ # XXX : could maybe be factorized
+ n_channels = self.info['nchan']
+ self.info['chs'] = [self.info['chs'][k] for k in idx]
+ self.info['ch_names'] = [self.info['ch_names'][k] for k in idx]
+ self.info['nchan'] = len(idx)
+ self.ch_names = self.info['ch_names']
+
+ if self.preload:
+ self._data = self._data[:,idx,:]
+
+
def get_epoch(self, idx):
"""Load one epoch
@@ -281,7 +301,7 @@ class Epochs(object):
return epoch
def __repr__(self):
- s = "n_epochs : %s" % len(self)
+ s = "n_events : %s" % len(self.events)
s += ", tmin : %s (s)" % self.tmin
s += ", tmax : %s (s)" % self.tmax
s += ", baseline : %s" % str(self.baseline)
diff --git a/mne/tests/test_epochs.py b/mne/tests/test_epochs.py
index 6c78989..325c65c 100644
--- a/mne/tests/test_epochs.py
+++ b/mne/tests/test_epochs.py
@@ -28,6 +28,13 @@ def test_read_epochs():
epochs = mne.Epochs(raw, events, event_id, tmin, tmax, picks=picks,
baseline=(None, 0))
epochs.average()
+ data = epochs.get_data()
+
+ eog_picks = fiff.pick_types(raw.info, meg=False, eeg=False, stim=False,
+ eog=True)
+ epochs.drop_picks(eog_picks)
+ data_no_eog = epochs.get_data()
+ assert data.shape[1] == (data_no_eog.shape[1] + len(eog_picks))
def test_reject_epochs():
@@ -46,7 +53,8 @@ def test_reject_epochs():
epochs = mne.Epochs(raw, events, event_id, tmin, tmax, picks=picks,
baseline=(None, 0),
reject=dict(grad=1000e-12, mag=4e-12, eeg=80e-6,
- eog=150e-6))
+ eog=150e-6),
+ flat=dict(grad=1e-15, mag=1e-15))
data = epochs.get_data()
n_events = len(epochs.events)
n_clean_epochs = len(data)
--
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