|
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