File: test_proc_history.py

package info (click to toggle)
python-mne 0.13.1%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 92,032 kB
  • ctags: 8,249
  • sloc: python: 84,750; makefile: 205; sh: 15
file content (46 lines) | stat: -rw-r--r-- 1,741 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Authors: Denis A. Engemann <denis.engemann@gmail.com>
#          Eric Larson <larson.eric.d@gmail.com>
# License: Simplified BSD

import numpy as np
import os.path as op
from mne.io import read_info
from mne.io.constants import FIFF
from mne.io.proc_history import _get_sss_rank
from nose.tools import assert_true, assert_equal

base_dir = op.join(op.dirname(__file__), 'data')
raw_fname = op.join(base_dir, 'test_chpi_raw_sss.fif')


def test_maxfilter_io():
    """Test maxfilter io."""
    info = read_info(raw_fname)
    mf = info['proc_history'][1]['max_info']

    assert_true(mf['sss_info']['frame'], FIFF.FIFFV_COORD_HEAD)
    # based on manual 2.0, rev. 5.0 page 23
    assert_true(5 <= mf['sss_info']['in_order'] <= 11)
    assert_true(mf['sss_info']['out_order'] <= 5)
    assert_true(mf['sss_info']['nchan'] > len(mf['sss_info']['components']))

    assert_equal(info['ch_names'][:mf['sss_info']['nchan']],
                 mf['sss_ctc']['proj_items_chs'])
    assert_equal(mf['sss_ctc']['decoupler'].shape,
                 (mf['sss_info']['nchan'], mf['sss_info']['nchan']))
    assert_equal(np.unique(np.diag(mf['sss_ctc']['decoupler'].toarray())),
                 np.array([1.], dtype=np.float32))

    assert_equal(mf['sss_cal']['cal_corrs'].shape, (306, 14))
    assert_equal(mf['sss_cal']['cal_chans'].shape, (306, 2))
    vv_coils = [v for k, v in FIFF.items() if 'FIFFV_COIL_VV' in k]
    assert_true(all(k in vv_coils
                    for k in set(mf['sss_cal']['cal_chans'][:, 1])))


def test_maxfilter_get_rank():
    """Test maxfilter rank lookup."""
    mf = read_info(raw_fname)['proc_history'][0]['max_info']
    rank1 = mf['sss_info']['nfree']
    rank2 = _get_sss_rank(mf)
    assert_equal(rank1, rank2)