[med-svn] [python-mne] 138/353: FIX : fix proj['active'] mess

Yaroslav Halchenko debian at onerussian.com
Fri Nov 27 17:24:45 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 bfc488fe4d8bc7fc6c05a87bdc393c41a4c3c0ec
Author: Alexandre Gramfort <alexandre.gramfort at inria.fr>
Date:   Thu Apr 12 09:20:28 2012 +0200

    FIX : fix proj['active'] mess
---
 mne/fiff/proj.py       | 9 +++++----
 mne/proj.py            | 3 +--
 mne/tests/test_proj.py | 9 +++++++--
 3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/mne/fiff/proj.py b/mne/fiff/proj.py
index 87bd2a4..86ee892 100644
--- a/mne/fiff/proj.py
+++ b/mne/fiff/proj.py
@@ -3,6 +3,7 @@
 #
 # License: BSD (3-clause)
 
+from copy import deepcopy
 from math import sqrt
 import numpy as np
 from scipy import linalg
@@ -121,7 +122,7 @@ def read_proj(fid, node):
 
         tag = find_tag(fid, item, FIFF.FIFF_MNE_PROJ_ITEM_ACTIVE)
         if tag is not None:
-            active = True
+            active = bool(tag.data)
         else:
             active = False
 
@@ -173,16 +174,16 @@ def write_proj(fid, projs):
 
     for proj in projs:
         start_block(fid, FIFF.FIFFB_PROJ_ITEM)
+        write_int(fid, FIFF.FIFF_NCHAN, proj['data']['ncol'])
+        write_name_list(fid, FIFF.FIFF_PROJ_ITEM_CH_NAME_LIST,
+                             proj['data']['col_names'])
         write_string(fid, FIFF.FIFF_NAME, proj['desc'])
         write_int(fid, FIFF.FIFF_PROJ_ITEM_KIND, proj['kind'])
         if proj['kind'] == FIFF.FIFFV_PROJ_ITEM_FIELD:
             write_float(fid, FIFF.FIFF_PROJ_ITEM_TIME, 0.0)
 
-        write_int(fid, FIFF.FIFF_NCHAN, proj['data']['ncol'])
         write_int(fid, FIFF.FIFF_PROJ_ITEM_NVEC, proj['data']['nrow'])
         write_int(fid, FIFF.FIFF_MNE_PROJ_ITEM_ACTIVE, proj['active'])
-        write_name_list(fid, FIFF.FIFF_PROJ_ITEM_CH_NAME_LIST,
-                             proj['data']['col_names'])
         write_float_matrix(fid, FIFF.FIFF_PROJ_ITEM_VECTORS,
                            proj['data']['data'])
         end_block(fid, FIFF.FIFFB_PROJ_ITEM)
diff --git a/mne/proj.py b/mne/proj.py
index fabcc90..35692d5 100644
--- a/mne/proj.py
+++ b/mne/proj.py
@@ -2,7 +2,6 @@
 #
 # License: BSD (3-clause)
 
-from copy import deepcopy
 import numpy as np
 from scipy import linalg
 
@@ -79,7 +78,7 @@ def _compute_proj(data, info, n_grad, n_mag, n_eeg, desc_prefix):
                              data=u[np.newaxis, :], nrow=1, ncol=u.size)
             this_desc = "%s-%s-PCA-%02d" % (desc, desc_prefix, k + 1)
             print "Adding projection: %s" % this_desc
-            proj = dict(active=True, data=proj_data, desc=this_desc, kind=1)
+            proj = dict(active=False, data=proj_data, desc=this_desc, kind=1)
             projs.append(proj)
 
     return projs
diff --git a/mne/tests/test_proj.py b/mne/tests/test_proj.py
index d9968cb..6e89c71 100644
--- a/mne/tests/test_proj.py
+++ b/mne/tests/test_proj.py
@@ -6,7 +6,7 @@ from numpy.testing import assert_array_almost_equal
 
 from ..fiff import Raw, pick_types
 from .. import compute_proj_epochs, compute_proj_evoked
-from ..fiff.proj import make_projector
+from ..fiff.proj import make_projector, activate_proj
 from ..proj import read_proj
 from .. import read_events, Epochs
 
@@ -34,9 +34,12 @@ def test_compute_proj():
 
     projs2 = read_proj(proj_fname)
 
-    for k, (p1, p2) in enumerate(zip(projs, projs2)):
+    assert_true(len(projs) == len(projs2))
+
+    for p1, p2 in zip(projs, projs2):
         assert_true(p1['desc'] == p2['desc'])
         assert_true(p1['data']['col_names'] == p2['data']['col_names'])
+        assert_true(p1['active'] == p2['active'])
         # compare with sign invariance
         p1_data = p1['data']['data'] * np.sign(p1['data']['data'][0, 0])
         p2_data = p2['data']['data'] * np.sign(p2['data']['data'][0, 0])
@@ -50,7 +53,9 @@ def test_compute_proj():
         assert_array_almost_equal(corr, 1.0, 7)
 
     # test that you can compute the projection matrix
+    projs = activate_proj(projs)
     proj, nproj, U = make_projector(projs, epochs.ch_names, bads=[])
+
     assert_true(nproj == 2)
     assert_true(U.shape[1] == 2)
 

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