|
1 | 1 | from __future__ import division, print_function, absolute_import
|
2 | 2 | import os
|
3 |
| -from os.path import join as pjoin |
| 3 | +from os.path import join as pjoin, isdir |
4 | 4 | import getpass
|
5 | 5 | import time
|
6 | 6 |
|
7 | 7 | from ...tmpdirs import InTemporaryDirectory
|
8 | 8 |
|
9 | 9 | from nose.tools import assert_true
|
10 | 10 | import numpy as np
|
11 |
| -from numpy.testing import assert_equal |
| 11 | +from numpy.testing import assert_equal, dec |
12 | 12 |
|
13 |
| -from .. import read_geometry, read_morph_data, read_annot, read_label, \ |
14 |
| - write_geometry, write_annot |
| 13 | +from .. import (read_geometry, read_morph_data, read_annot, read_label, |
| 14 | + write_geometry, write_annot) |
15 | 15 |
|
| 16 | +from ...tests.nibabel_data import get_nibabel_data |
16 | 17 |
|
17 |
| -have_freesurfer = True |
18 |
| -if 'SUBJECTS_DIR' not in os.environ: |
19 |
| - # Test suite relies on the definition of SUBJECTS_DIR |
20 |
| - have_freesurfer = False |
21 | 18 |
|
22 |
| -freesurfer_test = np.testing.dec.skipif(not have_freesurfer, |
23 |
| - 'SUBJECTS_DIR not set') |
| 19 | +DATA_SDIR = 'fsaverage' |
24 | 20 |
|
25 |
| -if have_freesurfer: |
26 |
| - subj_dir = os.environ["SUBJECTS_DIR"] |
27 |
| - subject_id = 'fsaverage' |
28 |
| - data_path = pjoin(subj_dir, subject_id) |
| 21 | +have_freesurfer = False |
| 22 | +if 'SUBJECTS_DIR' in os.environ: |
| 23 | + # May have Freesurfer installed with data |
| 24 | + data_path = pjoin(os.environ["SUBJECTS_DIR"], DATA_SDIR) |
| 25 | + have_freesurfer = isdir(data_path) |
| 26 | +else: |
| 27 | + # May have nibabel test data submodule checked out |
| 28 | + nib_data = get_nibabel_data() |
| 29 | + if nib_data != '': |
| 30 | + data_path = pjoin(nib_data, 'nitest-freesurfer', DATA_SDIR) |
| 31 | + have_freesurfer = isdir(data_path) |
| 32 | + |
| 33 | +freesurfer_test = dec.skipif( |
| 34 | + not have_freesurfer, |
| 35 | + 'cannot find freesurfer {0} directory'.format(DATA_SDIR)) |
29 | 36 |
|
30 | 37 |
|
31 | 38 | @freesurfer_test
|
|
0 commit comments