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])
def test_io_dig_points(tmpdir): """Test Writing for dig files.""" points = _read_dig_points(hsp_fname) dest = str(tmpdir.join('test.txt')) dest_bad = str(tmpdir.join('test.mne')) with pytest.raises(ValueError, match='must be of shape'): _write_dig_points(dest, points[:, :2]) with pytest.raises(ValueError, match='extension'): _write_dig_points(dest_bad, points) _write_dig_points(dest, points) points1 = _read_dig_points(dest, unit='m') 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') with pytest.raises(ValueError, match='must be of shape'): _read_dig_points(dest)