|
14 | 14 | DICOM_DIR = 'http://datasets-tests.datalad.org/dicoms/dcm2niix-tests' |
15 | 15 |
|
16 | 16 |
|
17 | | -def fetch_data(tmpdir, dicoms): |
| 17 | +def fetch_data(datadir, dicoms): |
18 | 18 | """Fetches some test DICOMs using datalad""" |
19 | | - data = os.path.join(tmpdir, 'data') |
20 | | - api.install(path=data, source=DICOM_DIR) |
21 | | - data = os.path.join(data, dicoms) |
| 19 | + api.install(path=datadir, source=DICOM_DIR) |
| 20 | + data = os.path.join(datadir, dicoms) |
22 | 21 | api.get(path=data) |
23 | 22 | return data |
24 | 23 |
|
25 | 24 | @pytest.mark.skipif(no_datalad, reason="Datalad required") |
26 | 25 | @pytest.mark.skipif(no_dcm2niix, reason="Dcm2niix required") |
27 | 26 | def test_dcm2niix_dwi(tmpdir): |
28 | 27 | tmpdir.chdir() |
| 28 | + datadir = tmpdir.mkdir('data').strpath |
29 | 29 | try: |
30 | | - datadir = fetch_data(tmpdir.strpath, 'Siemens_Sag_DTI_20160825_145811') |
| 30 | + dicoms = fetch_data(datadir, 'Siemens_Sag_DTI_20160825_145811') |
31 | 31 | except IncompleteResultsError as exc: |
32 | 32 | pytest.skip("Failed to fetch test data: %s" % str(exc)) |
33 | 33 |
|
34 | | - def assert_dwi(eg, bids): |
| 34 | + def assert_dwi(eg): |
35 | 35 | "Some assertions we will make" |
36 | 36 | assert eg.outputs.converted_files |
37 | 37 | assert eg.outputs.bvals |
38 | 38 | assert eg.outputs.bvecs |
39 | 39 | outputs = [y for x,y in eg.outputs.get().items()] |
40 | | - if bids: |
| 40 | + if eg.inputs.get('bids_format'): |
41 | 41 | # ensure all outputs are of equal lengths |
42 | 42 | assert len(set(map(len, outputs))) == 1 |
43 | 43 | else: |
44 | 44 | assert not eg.outputs.bids |
45 | 45 |
|
46 | 46 | dcm = Dcm2niix() |
47 | | - dcm.inputs.source_dir = datadir |
| 47 | + dcm.inputs.source_dir = dicoms |
48 | 48 | dcm.inputs.out_filename = '%u%z' |
49 | | - assert_dwi(dcm.run(), True) |
| 49 | + assert_dwi(dcm.run()) |
50 | 50 |
|
51 | 51 | # now run specifying output directory and removing BIDS option |
52 | 52 | outdir = tmpdir.mkdir('conversion').strpath |
53 | 53 | dcm.inputs.output_dir = outdir |
54 | 54 | dcm.inputs.bids_format = False |
55 | | - assert_dwi(dcm.run(), False) |
| 55 | + assert_dwi(dcm.run()) |
0 commit comments