This is an automated email from the git hooks/post-receive script. yoh pushed a commit to annotated tag v0.2 in repository python-mne.
commit 42feb3c2ca8e351da2bc5ea54b1b150e41dc62b1 Author: Martin Luessi <[email protected]> Date: Wed Sep 28 09:52:57 2011 -0400 use __get_item__ instead of __get_slice__, support pythonic indexing, small fixes based on Alex' comments --- mne/epochs.py | 37 ++++++++++++++++++++----------------- mne/tests/test_epochs.py | 2 +- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/mne/epochs.py b/mne/epochs.py index 6978a58..f4c44e4 100644 --- a/mne/epochs.py +++ b/mne/epochs.py @@ -361,35 +361,38 @@ class Epochs(object): s += ", baseline : %s" % str(self.baseline) return "Epochs (%s)" % s - def __getslice__(self, start, end): - """Return an Epoch object with a subset of epochs. + def __len__(self): + """Return length (number of events) """ - if not self.bad_dropped: - warnings.warn("Bad epochs have not been dropped, indexing will " \ - "be inccurate. Use drop_bad_epochs() or preload=True") + return len(self.events) - epoch_slice = copy.copy(self) - epoch_slice.events = self.events[start:end] + def __getitem__(self, index): + """Return epoch at index or an Epochs object with a slice of epochs + """ + if isinstance(index, slice): + # return Epochs object with slice of epochs + if not self.bad_dropped: + warnings.warn("Bad epochs have not been dropped, indexing " + "will be inccurate. Use drop_bad_epochs() " + "or preload=True") - if self.preload: - epoch_slice._data = self._data[start:end] + epoch_slice = copy.copy(self) + epoch_slice.events = self.events[index] - return epoch_slice + if self.preload: + epoch_slice._data = self._data[index] - def __getitem__(self, index): - """Return epoch at index - """ - if index < 0 or index >= len(self.events): - raise IndexError("Epoch index out of bounds") + return epoch_slice + # return single epoch as 2D array if self.preload: epoch = epoch = self._data[index] else: epoch = self._get_epoch_from_disk(index) if not self._is_good_epoch(epoch): - warnings.warn("Bad epoch with index %d returned."\ - "Use drop_bad_epochs() or preload=True "\ + warnings.warn("Bad epoch with index %d returned. " + "Use drop_bad_epochs() or preload=True " "to prevent this." % (index)) return epoch diff --git a/mne/tests/test_epochs.py b/mne/tests/test_epochs.py index 94abf4f..545d91a 100644 --- a/mne/tests/test_epochs.py +++ b/mne/tests/test_epochs.py @@ -70,6 +70,7 @@ def test_preload_epochs(): data_no_preload = epochs.get_data() assert_array_equal(data_preload, data_no_preload) + def test_indexing_slicing(): """Test of indexing and slicing operations """ @@ -110,7 +111,6 @@ def test_indexing_slicing(): pos += 1 - def test_comparision_with_c(): """Test of average obtained vs C code """ -- 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
