[med-svn] [python-mne] 29/353: ENH: preload and setitem for raw

Yaroslav Halchenko debian at onerussian.com
Fri Nov 27 17:24:26 UTC 2015


This is an automated email from the git hooks/post-receive script.

yoh pushed a commit to tag 0.4
in repository python-mne.

commit 2ff43d2a852dcecfde96920a7c606dd111fb8348
Author: Martin Luessi <mluessi at nmr.mgh.harvard.edu>
Date:   Fri Dec 16 11:31:45 2011 -0500

    ENH: preload and setitem for raw
---
 mne/fiff/raw.py | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/mne/fiff/raw.py b/mne/fiff/raw.py
index bd72cbe..a6dd4f7 100644
--- a/mne/fiff/raw.py
+++ b/mne/fiff/raw.py
@@ -154,6 +154,7 @@ class Raw(dict):
 
         self.fid = fid
         self.info = info
+        self._preloaded = False
 
     def __getitem__(self, item):
         """getting raw data content with python slicing"""
@@ -184,10 +185,21 @@ class Raw(dict):
             if sel is not None and len(sel) == 0:
                 raise Exception("Empty channel list")
 
+            if self._preloaded:
+                return (self.data[sel, start:stop], self.times[start:stop])
             return read_raw_segment(self, start=start, stop=stop, sel=sel)
         else:
             return super(Raw, self).__getitem__(item)
 
+    def preload(self):
+        """preload the raw data into memory for faster indexing
+        """
+        if not self._preloaded:
+            data, times = self[:, :]
+            self.data = data
+            self.times = times
+            self._preloaded = True
+
     def save(self, fname, picks=None, tmin=0, tmax=None, buffer_size_sec=10,
              drop_small_buffer=False):
         """Save raw data to file

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