[med-svn] [python-mne] 154/376: fix preload in Epochs
Yaroslav Halchenko
debian at onerussian.com
Fri Nov 27 17:22:25 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 85126dba4644ced26a490a5b0ce1feee12b310e1
Author: Alexandre Gramfort <alexandre.gramfort at inria.fr>
Date: Tue Mar 22 21:13:51 2011 -0400
fix preload in Epochs
---
examples/plot_read_epochs.py | 2 +-
mne/epochs.py | 25 +++++++++++++++++++------
2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/examples/plot_read_epochs.py b/examples/plot_read_epochs.py
index 884eadf..c2a94d0 100644
--- a/examples/plot_read_epochs.py
+++ b/examples/plot_read_epochs.py
@@ -38,7 +38,7 @@ picks = fiff.pick_types(raw.info, meg=True, eeg=True, stim=False,
# Read epochs
epochs = mne.Epochs(raw, events, event_id, tmin, tmax,
- picks=picks, baseline=(None, 0), preload=False)
+ picks=picks, baseline=(None, 0), preload=True)
evoked = epochs.average() # average epochs to get the evoked response
###############################################################################
diff --git a/mne/epochs.py b/mne/epochs.py
index e4b0c9c..cd6d97a 100644
--- a/mne/epochs.py
+++ b/mne/epochs.py
@@ -66,7 +66,7 @@ class Epochs(object):
def __init__(self, raw, events, event_id, tmin, tmax,
picks=None, keep_comp=False,
dest_comp=0, baseline=(None, 0),
- preload=True):
+ preload=False):
self.raw = raw
self.event_id = event_id
self.tmin = tmin
@@ -144,12 +144,25 @@ class Epochs(object):
dtype=np.float) / sfreq
if self.preload:
- self._data = self._get_data()
+ self._data = self._get_data_from_disk()
def __len__(self):
return len(self.events)
def get_epoch(self, idx):
+ """Load one epoch
+
+ Returns
+ -------
+ data : array of shape [n_channels, n_times]
+ One epoch data
+ """
+ if self.preload:
+ return self._data[idx]
+ else:
+ return self._get_epoch_from_disk(idx)
+
+ def _get_epoch_from_disk(self, idx):
"""Load one epoch from disk"""
sfreq = self.raw.info['sfreq']
event_samp = self.events[idx, 0]
@@ -180,15 +193,15 @@ class Epochs(object):
return epoch
- def _get_data(self):
+ def _get_data_from_disk(self):
"""Load all data from disk
"""
n_channels = len(self.ch_names)
n_times = len(self.times)
n_events = len(self.events)
data = np.empty((n_events, n_channels, n_times))
- for k, e in enumerate(self):
- data[k] = e
+ for k in range(n_events):
+ data[k] = self._get_epoch_from_disk(k)
return data
def get_data(self):
@@ -202,7 +215,7 @@ class Epochs(object):
if self.preload:
return self._data
else:
- return self._get_data()
+ return self._get_data_from_disk()
def __iter__(self):
"""To iteration over epochs easy.
--
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