[med-svn] [python-mne] 54/376: adding preprocessing.py (WIP)

Yaroslav Halchenko debian at onerussian.com
Fri Nov 27 17:22:06 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 839aa4959457505d61bb20a82e33101a88274688
Author: Alexandre Gramfort <alexandre.gramfort at inria.fr>
Date:   Thu Jan 27 11:00:58 2011 -0500

    adding preprocessing.py (WIP)
---
 mne/fiff/__init__.py          |  2 +-
 mne/{ => fiff}/compensator.py |  0
 mne/preprocessing.py          | 57 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 58 insertions(+), 1 deletion(-)

diff --git a/mne/fiff/__init__.py b/mne/fiff/__init__.py
index dffac30..e490312 100644
--- a/mne/fiff/__init__.py
+++ b/mne/fiff/__init__.py
@@ -11,5 +11,5 @@ from .evoked import read_evoked, write_evoked
 from .raw import setup_read_raw, read_raw_segment, read_raw_segment_times, \
                  start_writing_raw, write_raw_buffer, finish_writing_raw
 from .pick import pick_types
-from .meas_info import get_current_comp
+from .compensator import get_current_comp
 
diff --git a/mne/compensator.py b/mne/fiff/compensator.py
similarity index 100%
rename from mne/compensator.py
rename to mne/fiff/compensator.py
diff --git a/mne/preprocessing.py b/mne/preprocessing.py
new file mode 100644
index 0000000..0472571
--- /dev/null
+++ b/mne/preprocessing.py
@@ -0,0 +1,57 @@
+import numpy as np
+
+from .proj import make_projector_info
+from .fiff.compensator import get_current_comp, compensate_to, make_compensator
+
+
+def cancel_noise(data, dest_comp=0):
+    """Do projection and compensation as needed
+
+       Return the appropriate operators
+
+       [res,proj,comp] = mne_ex_cancel_noise(data,dest_comp)
+
+       res     - Data after noise cancellation
+       proj    - The projection operator applied
+       comp    - The compensator which brings uncompensated data to the
+                 desired compensation grade (will be useful in forward
+                 calculations)
+
+    """
+    #
+    #   Compensate the data and make a compensator for forward modelling
+    #
+    comp = []
+    proj = []
+    comp_now = get_current_comp(data['info'])
+    if comp_now == dest_comp:
+        res = data
+    else:
+        res = compensate_to(data, dest_comp)
+        print 'The data are now compensated to grade %d.' % dest_comp
+
+    if dest_comp > 0:
+        comp = make_compensator(res['info'], 0, dest_comp)
+        print 'Appropriate forward operator compensator created.'
+    else:
+        print 'No forward operator compensator needed.'
+
+    #   Do the projection
+    if data['info']['projs'] is None:
+        print 'No projector included with these data.'
+    else:
+        #   Activate the projection items
+        for k in range(len(res['info']['projs'])):
+            res['info']['projs'][k]['active'] = True;
+
+        #   Create the projector
+        proj, nproj = make_projector_info(res['info'])
+        if nproj == 0:
+            print 'The projection vectors do not apply to these channels'
+            proj = []
+        else:
+            print 'Created an SSP operator (subspace dimension = %d)' % nproj
+            res['evoked']['epochs'] = np.dot(proj, res['evoked']['epochs'])
+            print 'Projector applied to the data'
+
+    return res, proj, comp

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