33# vi: set ft=python sts=4 ts=4 sw=4 et:
44
55import os
6- import tempfile
7- import shutil
86import numpy as np
97import nibabel as nib
108
1412
1513
1614@pytest .mark .skipif (no_freesurfer (), reason = "freesurfer is not installed" )
17- def test_concatenate ():
18- tmp_dir = os .path .realpath (tempfile .mkdtemp ())
19- cwd = os .getcwd ()
20- os .chdir (tmp_dir )
21- in1 = os .path .join (tmp_dir , 'cont1.nii' )
22- in2 = os .path .join (tmp_dir , 'cont2.nii' )
15+ def test_concatenate (tmpdir ):
16+ tempdir = str (tmpdir )
17+ os .chdir (tempdir )
18+ in1 = os .path .join (tempdir , 'cont1.nii' )
19+ in2 = os .path .join (tempdir , 'cont2.nii' )
2320 out = 'bar.nii'
2421
2522 data1 = np .zeros ((3 , 3 , 3 , 1 ), dtype = np .float32 )
@@ -32,27 +29,27 @@ def test_concatenate():
3229
3330 # Test default behavior
3431 res = model .Concatenate (in_files = [in1 , in2 ]).run ()
35- assert res .outputs .concatenated_file == os .path .join (tmp_dir , 'concat_output.nii.gz' )
36- assert nib .load ('concat_output.nii.gz' ).get_data () == out_data
32+ assert res .outputs .concatenated_file == os .path .join (tempdir , 'concat_output.nii.gz' )
33+ assert np . allclose ( nib .load ('concat_output.nii.gz' ).get_data (), out_data )
3734
3835 # Test specified concatenated_file
3936 res = model .Concatenate (in_files = [in1 , in2 ], concatenated_file = out ).run ()
40- assert res .outputs .concatenated_file == os .path .join (tmp_dir , out )
41- assert nib .load (out ).get_data () == out_data
37+ assert res .outputs .concatenated_file == os .path .join (tempdir , out )
38+ assert np . allclose ( nib .load (out ).get_data (), out_data )
4239
4340 # Test in workflow
44- wf = pe .Workflow ('test_concatenate' , base_dir = tmp_dir )
41+ wf = pe .Workflow ('test_concatenate' , base_dir = tempdir )
4542 concat = pe .Node (model .Concatenate (in_files = [in1 , in2 ],
4643 concatenated_file = out ),
4744 name = 'concat' )
4845 wf .add_nodes ([concat ])
4946 wf .run ()
50- assert nib .load (os .path .join (tmp_dir , 'test_concatenate' ,'concat' , out )).get_data ()== out_data
47+ assert np .allclose (nib .load (os .path .join (tempdir ,
48+ 'test_concatenate' ,
49+ 'concat' , out )).get_data (),
50+ out_data )
5151
5252 # Test a simple statistic
5353 res = model .Concatenate (in_files = [in1 , in2 ], concatenated_file = out ,
5454 stats = 'mean' ).run ()
55- assert nib .load (out ).get_data () == mean_data
56-
57- os .chdir (cwd )
58- shutil .rmtree (tmp_dir )
55+ assert np .allclose (nib .load (out ).get_data (), mean_data )
0 commit comments