14
14
from .. import linear as nitl
15
15
from .utils import assert_affines_by_filename
16
16
17
- TESTS_BORDER_TOLERANCE = 0.05
17
+ RMSE_TOL = 0.1
18
18
APPLY_LINEAR_CMD = {
19
19
"fsl" : """\
20
20
flirt -setbackground 0 -interp nearestneighbour -in {moving} -ref {reference} \
@@ -121,7 +121,7 @@ def test_linear_save(tmpdir, data_path, get_testdata, image_orientation, sw_tool
121
121
assert_affines_by_filename (xfm_fname1 , xfm_fname2 )
122
122
123
123
124
- @pytest .mark .parametrize ("image_orientation" , ["RAS" , "LAS" , "LPS" ,]) # 'oblique',
124
+ @pytest .mark .parametrize ("image_orientation" , ["RAS" , "LAS" , "LPS" , ]) # 'oblique',
125
125
@pytest .mark .parametrize ("sw_tool" , ["itk" , "fsl" , "afni" , "fs" ])
126
126
def test_apply_linear_transform (tmpdir , get_testdata , get_testmask , image_orientation , sw_tool ):
127
127
"""Check implementation of exporting affines to formats."""
@@ -165,9 +165,10 @@ def test_apply_linear_transform(tmpdir, get_testdata, get_testmask, image_orient
165
165
assert exit_code == 0
166
166
sw_moved_mask = nb .load ("resampled_brainmask.nii.gz" )
167
167
nt_moved_mask = xfm .apply (msk , order = 0 )
168
+ nt_moved_mask .set_data_dtype (msk .get_data_dtype ())
168
169
diff = np .asanyarray (sw_moved_mask .dataobj ) - np .asanyarray (nt_moved_mask .dataobj )
169
170
170
- assert np .sqrt ((diff ** 2 ).mean ()) < TESTS_BORDER_TOLERANCE
171
+ assert np .sqrt ((diff ** 2 ).mean ()) < RMSE_TOL
171
172
172
173
cmd = APPLY_LINEAR_CMD [sw_tool ](
173
174
transform = os .path .abspath (xfm_fname ),
@@ -181,21 +182,20 @@ def test_apply_linear_transform(tmpdir, get_testdata, get_testmask, image_orient
181
182
exit_code = check_call ([cmd ], shell = True )
182
183
assert exit_code == 0
183
184
sw_moved = nb .load ("resampled.nii.gz" )
185
+ sw_moved .set_data_dtype (img .get_data_dtype ())
184
186
185
187
nt_moved = xfm .apply (img , order = 0 )
186
188
diff = (sw_moved .get_fdata () - nt_moved .get_fdata ())
187
189
diff [~ brainmask ] = 0.0
188
190
diff [np .abs (diff ) < 1e-3 ] = 0
189
191
190
- nt_moved .__class__ (diff , nt_moved .affine , nt_moved .header ).to_filename ("diffmap.nii.gz" )
191
-
192
192
# A certain tolerance is necessary because of resampling at borders
193
- assert np .sqrt ((diff ** 2 ).mean ()) < TESTS_BORDER_TOLERANCE
193
+ assert np .sqrt ((diff ** 2 ).mean ()) < RMSE_TOL
194
194
195
195
nt_moved = xfm .apply ("img.nii.gz" , order = 0 )
196
196
diff = sw_moved .get_fdata () - nt_moved .get_fdata ()
197
197
# A certain tolerance is necessary because of resampling at borders
198
- assert np .sqrt ((diff [brainmask ] ** 2 ).mean ()) < TESTS_BORDER_TOLERANCE
198
+ assert np .sqrt ((diff [brainmask ] ** 2 ).mean ()) < RMSE_TOL
199
199
200
200
201
201
def test_Affine_to_x5 (tmpdir , testdata_path ):
0 commit comments