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 <[email protected]> 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 _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
