[med-svn] [python-mne] 107/376: ENH : adding averge() method in Epochs

Yaroslav Halchenko debian at onerussian.com
Fri Nov 27 17:22:17 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 dced7de01db053ed78764a6ef724b3f96d8defbc
Author: Alexandre Gramfort <alexandre.gramfort at inria.fr>
Date:   Wed Mar 2 23:06:19 2011 -0500

    ENH : adding averge() method in Epochs
---
 examples/plot_read_epochs.py                   |  7 +++----
 examples/time_frequency/plot_time_frequency.py |  6 +++---
 mne/epochs.py                                  | 20 ++++++++++++++++++++
 3 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/examples/plot_read_epochs.py b/examples/plot_read_epochs.py
index 66f7dea..7dbe1e4 100644
--- a/examples/plot_read_epochs.py
+++ b/examples/plot_read_epochs.py
@@ -41,22 +41,21 @@ eeg_picks = fiff.pick_types(raw['info'], meg=False, eeg=True, stim=False,
                                             include=include, exclude=exclude)
 eeg_epochs = mne.Epochs(raw, events, event_id,
                             tmin, tmax, picks=eeg_picks, baseline=(None, 0))
-eeg_evoked_data = eeg_epochs.get_data().mean(axis=0) # as 3D matrix and average
-
+eeg_evoked_data = eeg_epochs.average()
 
 # MEG Magnetometers
 meg_mag_picks = fiff.pick_types(raw['info'], meg='mag', eeg=False, stim=False,
                                             include=include, exclude=exclude)
 meg_mag_epochs = mne.Epochs(raw, events, event_id,
                            tmin, tmax, picks=meg_mag_picks, baseline=(None, 0))
-meg_mag_evoked_data = meg_mag_epochs.get_data().mean(axis=0)
+meg_mag_evoked_data = meg_mag_epochs.average()
 
 # MEG
 meg_grad_picks = fiff.pick_types(raw['info'], meg='grad', eeg=False,
                                 stim=False, include=include, exclude=exclude)
 meg_grad_epochs = mne.Epochs(raw, events, event_id,
                         tmin, tmax, picks=meg_grad_picks, baseline=(None, 0))
-meg_grad_evoked_data = meg_grad_epochs.get_data().mean(axis=0)
+meg_grad_evoked_data = meg_grad_epochs.average()
 
 ###############################################################################
 # View evoked response
diff --git a/examples/time_frequency/plot_time_frequency.py b/examples/time_frequency/plot_time_frequency.py
index 0ba40a8..6675318 100644
--- a/examples/time_frequency/plot_time_frequency.py
+++ b/examples/time_frequency/plot_time_frequency.py
@@ -45,10 +45,10 @@ picks = [picks[97]]
 epochs = mne.Epochs(raw, events, event_id,
                     tmin, tmax, picks=picks, baseline=(None, 0))
 data = epochs.get_data() # as 3D matrix
-evoked_data = np.mean(data, axis=0) # compute evoked fields
+evoked = epochs.average() # compute evoked fields
 
 times = 1e3 * epochs.times # change unit to ms
-evoked_data *= 1e13 # change unit to fT / cm
+evoked *= 1e13 # change unit to fT / cm
 
 frequencies = np.arange(7, 30, 3) # define frequencies of interest
 Fs = raw['info']['sfreq'] # sampling in Hz
@@ -61,7 +61,7 @@ import pylab as pl
 pl.clf()
 pl.subplots_adjust(0.1, 0.08, 0.96, 0.94, 0.2, 0.63)
 pl.subplot(3, 1, 1)
-pl.plot(times, evoked_data.T)
+pl.plot(times, evoked.T)
 pl.title('Evoked response (%s)' % raw['info']['ch_names'][picks[0]])
 pl.xlabel('time (ms)')
 pl.ylabel('Magnetic Field (fT/cm)')
diff --git a/mne/epochs.py b/mne/epochs.py
index 9e67db2..8da14db 100644
--- a/mne/epochs.py
+++ b/mne/epochs.py
@@ -52,6 +52,9 @@ class Epochs(object):
     get_data() : self
         Return all epochs as a 3D array [n_epochs x n_channels x n_times].
 
+    average() : self
+        Return averaged epochs as a 2D array [n_channels x n_times].
+
     """
 
     def __init__(self, raw, events, event_id, tmin, tmax,
@@ -201,3 +204,20 @@ class Epochs(object):
 
         self._current += 1
         return epoch
+
+    def average(self):
+        """Compute average of epochs
+
+        Returns
+        -------
+        data : array of shape [n_channels, n_times]
+            The averaged epochs
+        """
+        n_channels = len(self.ch_names)
+        n_times = len(self.times)
+        n_events = len(self.events)
+        data = np.zeros((n_channels, n_times))
+        for e in self:
+            data += e
+        return data / n_events
+

-- 
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