本文整理汇总了Python中mne.io.meas_info._read_dig_points函数的典型用法代码示例。如果您正苦于以下问题:Python _read_dig_points函数的具体用法?Python _read_dig_points怎么用?Python _read_dig_points使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了_read_dig_points函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_make_dig_points
def test_make_dig_points():
"""Test application of Polhemus HSP to info"""
dig_points = _read_dig_points(hsp_fname)
info = create_info(ch_names=['Test Ch'], sfreq=1000., ch_types=None)
assert_false(info['dig'])
info['dig'] = _make_dig_points(dig_points=dig_points)
assert_true(info['dig'])
assert_array_equal(info['dig'][0]['r'], [-106.93, 99.80, 68.81])
dig_points = _read_dig_points(elp_fname)
nasion, lpa, rpa = dig_points[:3]
info = create_info(ch_names=['Test Ch'], sfreq=1000., ch_types=None)
assert_false(info['dig'])
info['dig'] = _make_dig_points(nasion, lpa, rpa, dig_points[3:], None)
assert_true(info['dig'])
idx = [d['ident'] for d in info['dig']].index(FIFF.FIFFV_POINT_NASION)
assert_array_equal(info['dig'][idx]['r'],
np.array([1.3930, 13.1613, -4.6967]))
assert_raises(ValueError, _make_dig_points, nasion[:2])
assert_raises(ValueError, _make_dig_points, None, lpa[:2])
assert_raises(ValueError, _make_dig_points, None, None, rpa[:2])
assert_raises(ValueError, _make_dig_points, None, None, None,
dig_points[:, :2])
assert_raises(ValueError, _make_dig_points, None, None, None, None,
dig_points[:, :2])
示例2: test_read_dig_montage
def test_read_dig_montage():
"""Test read_dig_montage"""
names = ['nasion', 'lpa', 'rpa', '1', '2', '3', '4', '5']
montage = read_dig_montage(hsp, hpi, elp, names, unit='m', transform=False)
elp_points = _read_dig_points(elp)
hsp_points = _read_dig_points(hsp)
hpi_points = read_mrk(hpi)
assert_equal(montage.point_names, names)
assert_array_equal(montage.elp, elp_points)
assert_array_equal(montage.hsp, hsp_points)
assert_array_equal(montage.hpi, hpi_points)
assert_array_equal(montage.dev_head_t, np.identity(4))
montage = read_dig_montage(hsp, hpi, elp, names,
transform=True, dev_head_t=True)
# check coordinate transformation
# nasion
assert_almost_equal(montage.nasion[0], 0)
assert_almost_equal(montage.nasion[2], 0)
# lpa and rpa
assert_allclose(montage.lpa[1:], 0, atol=1e-16)
assert_allclose(montage.rpa[1:], 0, atol=1e-16)
# device head transform
dev_head_t = fit_matched_points(tgt_pts=montage.elp,
src_pts=montage.hpi, out='trans')
assert_array_equal(montage.dev_head_t, dev_head_t)
示例3: test_make_dig_points
def test_make_dig_points():
"""Test application of Polhemus HSP to info."""
extra_points = _read_dig_points(hsp_fname)
info = create_info(ch_names=['Test Ch'], sfreq=1000., ch_types=None)
assert info['dig'] is None
info['dig'] = _make_dig_points(extra_points=extra_points)
assert (info['dig'])
assert_allclose(info['dig'][0]['r'], [-.10693, .09980, .06881])
elp_points = _read_dig_points(elp_fname)
nasion, lpa, rpa = elp_points[:3]
info = create_info(ch_names=['Test Ch'], sfreq=1000., ch_types=None)
assert info['dig'] is None
info['dig'] = _make_dig_points(nasion, lpa, rpa, elp_points[3:], None)
assert (info['dig'])
idx = [d['ident'] for d in info['dig']].index(FIFF.FIFFV_POINT_NASION)
assert_array_equal(info['dig'][idx]['r'],
np.array([.0013930, .0131613, -.0046967]))
pytest.raises(ValueError, _make_dig_points, nasion[:2])
pytest.raises(ValueError, _make_dig_points, None, lpa[:2])
pytest.raises(ValueError, _make_dig_points, None, None, rpa[:2])
pytest.raises(ValueError, _make_dig_points, None, None, None,
elp_points[:, :2])
pytest.raises(ValueError, _make_dig_points, None, None, None, None,
elp_points[:, :2])
示例4: test_read_dig_montage
def test_read_dig_montage():
"""Test read_dig_montage"""
names = ['nasion', 'lpa', 'rpa', '1', '2', '3', '4', '5']
montage = read_dig_montage(hsp, hpi, elp, names, transform=False)
elp_points = _read_dig_points(elp)
hsp_points = _read_dig_points(hsp)
hpi_points = read_mrk(hpi)
assert_equal(montage.point_names, names)
assert_array_equal(montage.elp, elp_points)
assert_array_equal(montage.hsp, hsp_points)
assert_array_equal(montage.hpi, hpi_points)
assert_true(montage.dev_head_t is None)
montage = read_dig_montage(hsp, hpi, elp, names,
transform=True, dev_head_t=True)
# check coordinate transformation
# nasion
assert_almost_equal(montage.nasion[0], 0)
assert_almost_equal(montage.nasion[2], 0)
# lpa and rpa
assert_allclose(montage.lpa[1:], 0, atol=1e-16)
assert_allclose(montage.rpa[1:], 0, atol=1e-16)
# device head transform
dev_head_t = fit_matched_points(tgt_pts=montage.elp,
src_pts=montage.hpi, out='trans')
assert_array_equal(montage.dev_head_t, dev_head_t)
# Digitizer as array
m2 = read_dig_montage(hsp_points, hpi_points, elp_points, names, unit='m')
assert_array_equal(m2.hsp, montage.hsp)
m3 = read_dig_montage(hsp_points * 1000, hpi_points, elp_points * 1000,
names)
assert_allclose(m3.hsp, montage.hsp)
# test unit parameter and .mat support
tempdir = _TempDir()
mat_hsp = op.join(tempdir, 'test.mat')
savemat(mat_hsp, dict(Points=(1000 * hsp_points).T))
montage_cm = read_dig_montage(mat_hsp, hpi, elp, names, unit='cm')
assert_allclose(montage_cm.hsp, montage.hsp * 10.)
assert_allclose(montage_cm.elp, montage.elp * 10.)
assert_array_equal(montage_cm.hpi, montage.hpi)
assert_raises(ValueError, read_dig_montage, hsp, hpi, elp, names,
unit='km')
# extra columns
extra_hsp = op.join(tempdir, 'test.txt')
with open(hsp, 'rb') as fin:
with open(extra_hsp, 'wb') as fout:
for line in fin:
if line.startswith(b'%'):
fout.write(line)
else:
# extra column
fout.write(line.rstrip() + b' 0.0 0.0 0.0\n')
with warnings.catch_warnings(record=True) as w:
montage_extra = read_dig_montage(extra_hsp, hpi, elp, names)
assert_true(len(w) == 1 and all('columns' in str(ww.message) for ww in w))
assert_allclose(montage_extra.hsp, montage.hsp)
assert_allclose(montage_extra.elp, montage.elp)
示例5: test_set_dig_montage
def test_set_dig_montage():
"""Test applying DigMontage to inst."""
# Extensive testing of applying `dig` to info is done in test_meas_info
# with `test_make_dig_points`.
names = ["nasion", "lpa", "rpa", "1", "2", "3", "4", "5"]
hsp_points = _read_dig_points(hsp)
elp_points = _read_dig_points(elp)
nasion, lpa, rpa = elp_points[:3]
nm_trans = get_ras_to_neuromag_trans(nasion, lpa, rpa)
elp_points = apply_trans(nm_trans, elp_points)
nasion, lpa, rpa = elp_points[:3]
hsp_points = apply_trans(nm_trans, hsp_points)
montage = read_dig_montage(hsp, hpi, elp, names, transform=True, dev_head_t=True)
temp_dir = _TempDir()
fname_temp = op.join(temp_dir, "test.fif")
montage.save(fname_temp)
montage_read = read_dig_montage(fif=fname_temp)
for use_mon in (montage, montage_read):
info = create_info(["Test Ch"], 1e3, ["eeg"])
with warnings.catch_warnings(record=True) as w: # test ch pos not set
_set_montage(info, use_mon)
assert_true(all("not set" in str(ww.message) for ww in w))
hs = np.array([p["r"] for i, p in enumerate(info["dig"]) if p["kind"] == FIFF.FIFFV_POINT_EXTRA])
nasion_dig = np.array(
[
p["r"]
for p in info["dig"]
if all([p["ident"] == FIFF.FIFFV_POINT_NASION, p["kind"] == FIFF.FIFFV_POINT_CARDINAL])
]
)
lpa_dig = np.array(
[
p["r"]
for p in info["dig"]
if all([p["ident"] == FIFF.FIFFV_POINT_LPA, p["kind"] == FIFF.FIFFV_POINT_CARDINAL])
]
)
rpa_dig = np.array(
[
p["r"]
for p in info["dig"]
if all([p["ident"] == FIFF.FIFFV_POINT_RPA, p["kind"] == FIFF.FIFFV_POINT_CARDINAL])
]
)
hpi_dig = np.array([p["r"] for p in info["dig"] if p["kind"] == FIFF.FIFFV_POINT_HPI])
assert_allclose(hs, hsp_points, atol=1e-7)
assert_allclose(nasion_dig.ravel(), nasion, atol=1e-7)
assert_allclose(lpa_dig.ravel(), lpa, atol=1e-7)
assert_allclose(rpa_dig.ravel(), rpa, atol=1e-7)
assert_allclose(hpi_dig, elp_points[3:], atol=1e-7)
示例6: test_io_dig_points
def test_io_dig_points():
"""Test Writing for dig files"""
tempdir = _TempDir()
points = _read_dig_points(hsp_fname)
dest = op.join(tempdir, 'test.txt')
assert_raises(ValueError, _write_dig_points, dest, points[:, :2])
_write_dig_points(dest, points)
points1 = _read_dig_points(dest)
err = "Dig points diverged after writing and reading."
assert_array_equal(points, points1, err)
points2 = np.array([[-106.93, 99.80], [99.80, 68.81]])
np.savetxt(dest, points2, delimiter='\t', newline='\n')
assert_raises(ValueError, _read_dig_points, dest)
示例7: test_read_dig_montage
def test_read_dig_montage():
"""Test read_dig_montage"""
names = ['nasion', 'lpa', 'rpa', '1', '2', '3', '4', '5']
montage = read_dig_montage(hsp, hpi, elp, names, transform=False)
elp_points = _read_dig_points(elp)
hsp_points = _read_dig_points(hsp)
hpi_points = read_mrk(hpi)
assert_equal(montage.point_names, names)
assert_array_equal(montage.elp, elp_points)
assert_array_equal(montage.hsp, hsp_points)
assert_array_equal(montage.hpi, hpi_points)
assert_true(montage.dev_head_t is None)
montage = read_dig_montage(hsp, hpi, elp, names,
transform=True, dev_head_t=True)
# check coordinate transformation
# nasion
assert_almost_equal(montage.nasion[0], 0)
assert_almost_equal(montage.nasion[2], 0)
# lpa and rpa
assert_allclose(montage.lpa[1:], 0, atol=1e-16)
assert_allclose(montage.rpa[1:], 0, atol=1e-16)
# device head transform
dev_head_t = fit_matched_points(tgt_pts=montage.elp,
src_pts=montage.hpi, out='trans')
assert_array_equal(montage.dev_head_t, dev_head_t)
# Digitizer as array
m2 = read_dig_montage(hsp_points, hpi_points, elp_points, names, unit='m')
assert_array_equal(m2.hsp, montage.hsp)
m3 = read_dig_montage(hsp_points * 1000, hpi_points, elp_points * 1000,
names)
assert_allclose(m3.hsp, montage.hsp)
# test unit parameter and .mat support
tempdir = _TempDir()
mat_hsp = op.join(tempdir, 'test.mat')
savemat(mat_hsp, dict(Points=(1000 * hsp_points).T))
montage_cm = read_dig_montage(mat_hsp, hpi, elp, names, unit='cm')
assert_allclose(montage_cm.hsp, montage.hsp * 10.)
assert_allclose(montage_cm.elp, montage.elp * 10.)
assert_array_equal(montage_cm.hpi, montage.hpi)
assert_raises(ValueError, read_dig_montage, hsp, hpi, elp, names,
unit='km')
示例8: test_set_dig_montage
def test_set_dig_montage():
"""Test applying DigMontage to inst."""
# Extensive testing of applying `dig` to info is done in test_meas_info
# with `test_make_dig_points`.
names = ['nasion', 'lpa', 'rpa', '1', '2', '3', '4', '5']
hsp_points = _read_dig_points(hsp)
elp_points = _read_dig_points(elp)
nasion, lpa, rpa = elp_points[:3]
nm_trans = get_ras_to_neuromag_trans(nasion, lpa, rpa)
elp_points = apply_trans(nm_trans, elp_points)
nasion, lpa, rpa = elp_points[:3]
hsp_points = apply_trans(nm_trans, hsp_points)
montage = read_dig_montage(hsp, hpi, elp, names, transform=True,
dev_head_t=True)
temp_dir = _TempDir()
fname_temp = op.join(temp_dir, 'test.fif')
montage.save(fname_temp)
montage_read = read_dig_montage(fif=fname_temp)
for use_mon in (montage, montage_read):
info = create_info(['Test Ch'], 1e3, ['eeg'])
with pytest.warns(None): # warns on one run about not all positions
_set_montage(info, use_mon)
hs = np.array([p['r'] for i, p in enumerate(info['dig'])
if p['kind'] == FIFF.FIFFV_POINT_EXTRA])
nasion_dig = np.array([p['r'] for p in info['dig']
if all([p['ident'] == FIFF.FIFFV_POINT_NASION,
p['kind'] == FIFF.FIFFV_POINT_CARDINAL])
])
lpa_dig = np.array([p['r'] for p in info['dig']
if all([p['ident'] == FIFF.FIFFV_POINT_LPA,
p['kind'] == FIFF.FIFFV_POINT_CARDINAL])])
rpa_dig = np.array([p['r'] for p in info['dig']
if all([p['ident'] == FIFF.FIFFV_POINT_RPA,
p['kind'] == FIFF.FIFFV_POINT_CARDINAL])])
hpi_dig = np.array([p['r'] for p in info['dig']
if p['kind'] == FIFF.FIFFV_POINT_HPI])
assert_allclose(hs, hsp_points, atol=1e-7)
assert_allclose(nasion_dig.ravel(), nasion, atol=1e-7)
assert_allclose(lpa_dig.ravel(), lpa, atol=1e-7)
assert_allclose(rpa_dig.ravel(), rpa, atol=1e-7)
assert_allclose(hpi_dig, elp_points[3:], atol=1e-7)
示例9: test_set_dig_montage
def test_set_dig_montage():
"""Test applying DigMontage to inst
Extensive testing of applying `dig` to info is done in test_meas_info
with `test_make_dig_points`.
"""
names = ['nasion', 'lpa', 'rpa', '1', '2', '3', '4', '5']
hsp_points = _read_dig_points(hsp)
elp_points = _read_dig_points(elp)
hpi_points = read_mrk(hpi)
p0, p1, p2 = elp_points[:3]
nm_trans = get_ras_to_neuromag_trans(p0, p1, p2)
elp_points = apply_trans(nm_trans, elp_points)
nasion_point, lpa_point, rpa_point = elp_points[:3]
hsp_points = apply_trans(nm_trans, hsp_points)
montage = read_dig_montage(hsp, hpi, elp, names, unit='m', transform=True)
info = create_info(['Test Ch'], 1e3, ['eeg'])
_set_montage(info, montage)
hs = np.array([p['r'] for i, p in enumerate(info['dig'])
if p['kind'] == FIFF.FIFFV_POINT_EXTRA])
nasion_dig = np.array([p['r'] for p in info['dig']
if all([p['ident'] == FIFF.FIFFV_POINT_NASION,
p['kind'] == FIFF.FIFFV_POINT_CARDINAL])])
lpa_dig = np.array([p['r'] for p in info['dig']
if all([p['ident'] == FIFF.FIFFV_POINT_LPA,
p['kind'] == FIFF.FIFFV_POINT_CARDINAL])])
rpa_dig = np.array([p['r'] for p in info['dig']
if all([p['ident'] == FIFF.FIFFV_POINT_RPA,
p['kind'] == FIFF.FIFFV_POINT_CARDINAL])])
hpi_dig = np.array([p['r'] for p in info['dig']
if p['kind'] == FIFF.FIFFV_POINT_HPI])
assert_array_equal(hs, hsp_points)
assert_array_equal(nasion_dig.ravel(), nasion_point)
assert_array_equal(lpa_dig.ravel(), lpa_point)
assert_array_equal(rpa_dig.ravel(), rpa_point)
assert_array_equal(hpi_dig, hpi_points)
assert_array_equal(montage.dev_head_t, info['dev_head_t']['trans'])
示例10: test_make_dig_points
def test_make_dig_points():
"""Test application of Polhemus HSP to info."""
extra_points = _read_dig_points(hsp_fname)
info = create_info(ch_names=["Test Ch"], sfreq=1000.0, ch_types=None)
assert_false(info["dig"])
info["dig"] = _make_dig_points(extra_points=extra_points)
assert_true(info["dig"])
assert_allclose(info["dig"][0]["r"], [-0.10693, 0.09980, 0.06881])
elp_points = _read_dig_points(elp_fname)
nasion, lpa, rpa = elp_points[:3]
info = create_info(ch_names=["Test Ch"], sfreq=1000.0, ch_types=None)
assert_false(info["dig"])
info["dig"] = _make_dig_points(nasion, lpa, rpa, elp_points[3:], None)
assert_true(info["dig"])
idx = [d["ident"] for d in info["dig"]].index(FIFF.FIFFV_POINT_NASION)
assert_array_equal(info["dig"][idx]["r"], np.array([0.0013930, 0.0131613, -0.0046967]))
assert_raises(ValueError, _make_dig_points, nasion[:2])
assert_raises(ValueError, _make_dig_points, None, lpa[:2])
assert_raises(ValueError, _make_dig_points, None, None, rpa[:2])
assert_raises(ValueError, _make_dig_points, None, None, None, elp_points[:, :2])
assert_raises(ValueError, _make_dig_points, None, None, None, None, elp_points[:, :2])