[med-svn] [python-mne] 304/353: ENH : factorize is_fixed_orient and compute_orient_prior

Yaroslav Halchenko debian at onerussian.com
Fri Nov 27 17:25:21 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 3acb855e1f81779b1f0331dd77c86e946814fed6
Author: Alexandre Gramfort <alexandre.gramfort at inria.fr>
Date:   Wed Jul 18 16:25:46 2012 +0200

    ENH : factorize is_fixed_orient and compute_orient_prior
---
 mne/forward.py              | 10 +++++-----
 mne/minimum_norm/inverse.py | 13 +++++--------
 2 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/mne/forward.py b/mne/forward.py
index d934c0a..b66686c 100644
--- a/mne/forward.py
+++ b/mne/forward.py
@@ -295,7 +295,7 @@ def read_forward_solution(fname, force_fixed=False, surf_ori=False,
 
     megfwd = _read_one(fid, megnode)
     if megfwd is not None:
-        if megfwd['source_ori'] == FIFF.FIFFV_MNE_FIXED_ORI:
+        if is_fixed_orient(megfwd):
             ori = 'fixed'
         else:
             ori = 'free'
@@ -305,7 +305,7 @@ def read_forward_solution(fname, force_fixed=False, surf_ori=False,
 
     eegfwd = _read_one(fid, eegnode)
     if eegfwd is not None:
-        if eegfwd['source_ori'] == FIFF.FIFFV_MNE_FIXED_ORI:
+        if is_fixed_orient(eegfwd):
             ori = 'fixed'
         else:
             ori = 'free'
@@ -395,7 +395,7 @@ def read_forward_solution(fname, force_fixed=False, surf_ori=False,
     fwd['src'] = src
 
     #   Handle the source locations and orientations
-    if (fwd['source_ori'] == FIFF.FIFFV_MNE_FIXED_ORI) or force_fixed:
+    if is_fixed_orient(fwd) or force_fixed:
         nuse = 0
         fwd['source_rr'] = np.zeros((fwd['nsource'], 3))
         fwd['source_nn'] = np.zeros((fwd['nsource'], 3))
@@ -407,7 +407,7 @@ def read_forward_solution(fname, force_fixed=False, surf_ori=False,
             nuse += s['nuse']
 
         #   Modify the forward solution for fixed source orientations
-        if fwd['source_ori'] != FIFF.FIFFV_MNE_FIXED_ORI:
+        if not is_fixed_orient(fwd):
             print '    Changing to fixed-orientation forward solution...'
             fix_rot = _block_diag(fwd['source_nn'].T, 1)
             fwd['sol']['data'] *= fix_rot
@@ -625,7 +625,7 @@ def _fill_measurement_info(info, fwd, sfreq):
 def _apply_forward(fwd, stc, start=None, stop=None):
     """ Apply forward model and return data, times, ch_names
     """
-    if fwd['source_ori'] != FIFF.FIFFV_MNE_FIXED_ORI:
+    if not is_fixed_orient(fwd['source_ori']):
         raise ValueError('Only fixed-orientation forward operators are '
                          'supported.')
 
diff --git a/mne/minimum_norm/inverse.py b/mne/minimum_norm/inverse.py
index 7b742ca..88d5bf0 100644
--- a/mne/minimum_norm/inverse.py
+++ b/mne/minimum_norm/inverse.py
@@ -24,7 +24,8 @@ from ..fiff.cov import read_cov, write_cov
 from ..fiff.pick import channel_type
 from ..cov import prepare_noise_cov
 from ..forward import compute_depth_prior, compute_depth_prior_fixed, \
-                      read_forward_meas_info, write_forward_meas_info
+                      read_forward_meas_info, write_forward_meas_info, \
+                      is_fixed_orient, compute_orient_prior
 from ..source_space import read_source_spaces_from_tree, \
                            find_source_space_hemi, _get_vertno, \
                            write_source_spaces
@@ -1025,7 +1026,7 @@ def make_inverse_operator(info, forward, noise_cov, loose=0.2, depth=0.8):
     stc: dict
         Source time courses
     """
-    is_fixed_ori = (forward['source_ori'] == FIFF.FIFFV_MNE_FIXED_ORI)
+    is_fixed_ori = is_fixed_orient(forward)
     if is_fixed_ori and loose is not None:
         warnings.warn('Ignoring loose parameter with forward operator with '
                       'fixed orientation.')
@@ -1069,12 +1070,8 @@ def make_inverse_operator(info, forward, noise_cov, loose=0.2, depth=0.8):
 
     # apply loose orientations
     if not is_fixed_ori:
-        orient_prior = np.ones(n_dipoles, dtype=gain.dtype)
-        if loose is not None:
-            print ('Applying loose dipole orientations. Loose value of %s.'
-                                                                    % loose)
-            orient_prior[np.mod(np.arange(n_dipoles), 3) != 2] *= loose
-            source_cov *= orient_prior
+        orient_prior = compute_orient_prior(forward, loose=loose)
+        source_cov *= orient_prior
         orient_prior = dict(data=orient_prior,
                             kind=FIFF.FIFFV_MNE_ORIENT_PRIOR_COV,
                             bads=[], diag=True, names=[], eig=None,

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