@@ -150,13 +150,13 @@ def test_apply_linear_transform(
150
150
151
151
152
152
@pytest .mark .xfail (
153
- reason = "Disable while #266 is developed. " ,
153
+ reason = "GH-267: disabled while debugging " ,
154
154
strict = False ,
155
155
)
156
156
@pytest .mark .parametrize ("image_orientation" , ["RAS" , "LAS" , "LPS" , "oblique" ])
157
157
@pytest .mark .parametrize ("sw_tool" , ["itk" , "afni" ])
158
158
@pytest .mark .parametrize ("axis" , [0 , 1 , 2 , (0 , 1 ), (1 , 2 ), (0 , 1 , 2 )])
159
- def test_displacements_field1 (
159
+ def test_apply_displacements_field1 (
160
160
tmp_path ,
161
161
get_testdata ,
162
162
get_testmask ,
@@ -190,18 +190,17 @@ def test_displacements_field1(
190
190
else :
191
191
field .to_filename (xfm_fname )
192
192
193
- xfm = nitnl .load (xfm_fname , fmt = sw_tool )
194
-
195
- import pdb ; pdb .set_trace ()
193
+ # xfm = nitnl.load(xfm_fname, fmt=sw_tool)
194
+ xfm = nitnl .DenseFieldTransform (fieldmap , reference = nii )
196
195
196
+ ants_output = tmp_path / "ants_brainmask.nii.gz"
197
197
# Then apply the transform and cross-check with software
198
198
cmd = APPLY_NONLINEAR_CMD [sw_tool ](
199
199
transform = os .path .abspath (xfm_fname ),
200
200
reference = tmp_path / "mask.nii.gz" ,
201
201
moving = tmp_path / "mask.nii.gz" ,
202
- output = tmp_path / "resampled_brainmask.nii.gz" ,
203
- extra = "" ,
204
- # extra="--output-data-type uchar" if sw_tool == "itk" else "",
202
+ output = ants_output ,
203
+ extra = "--output-data-type uchar" if sw_tool == "itk" else "" ,
205
204
)
206
205
207
206
# skip test if command is not available on host
@@ -211,11 +210,13 @@ def test_displacements_field1(
211
210
212
211
# resample mask
213
212
exit_code = check_call ([cmd ], shell = True )
214
- sw_moved_mask = nb .load ("resampled_brainmask.nii.gz" )
213
+ assert exit_code == 0
214
+ sw_moved_mask = nb .load (ants_output )
215
215
nt_moved_mask = apply (xfm , msk , order = 0 )
216
216
217
- # Calculate xor between both:
218
- sw_mask = np .asanyarray (sw_moved_mask .dataobj , dtype = bool )
217
+ nt_moved_mask .to_filename (tmp_path / "nit_brainmask.nii.gz" )
218
+
219
+ assert np .sqrt ((diff ** 2 ).mean ()) < RMSE_TOL_LINEAR
219
220
brainmask = np .asanyarray (nt_moved_mask .dataobj , dtype = bool )
220
221
percent_diff = (sw_mask != brainmask )[5 :- 5 , 5 :- 5 , 5 :- 5 ].sum () / brainmask .size
221
222
@@ -249,7 +250,11 @@ def test_displacements_field1(
249
250
assert np .sqrt ((diff [5 :- 5 , 5 :- 5 , 5 :- 5 ] ** 2 ).mean ()) < 1e-6
250
251
251
252
252
- @pytest .mark .parametrize ("sw_tool" , ["afni" ])
253
+ @pytest .mark .xfail (
254
+ reason = "GH-267: disabled while debugging" ,
255
+ strict = False ,
256
+ )
257
+ @pytest .mark .parametrize ("sw_tool" , ["itk" , "afni" ])
253
258
def test_displacements_field2 (tmp_path , testdata_path , sw_tool ):
254
259
"""Check a translation-only field on one or more axes, different image orientations."""
255
260
os .chdir (str (tmp_path ))
@@ -431,4 +436,4 @@ def test_apply_bspline(tmp_path, testdata_path):
431
436
** 2
432
437
).mean ()
433
438
< 0.2
434
- )
439
+ )
0 commit comments