@@ -27,7 +27,17 @@ def setup_module():
27
27
subset_t2_img = nb .Nifti1Image (subset_t2 , MNI_T2_affine )
28
28
29
29
30
- def test_affine_registration ():
30
+ @pytest .mark .parametrize ("nbins" , [32 , 22 ])
31
+ @pytest .mark .parametrize ("sampling_prop" , [1 , 2 ])
32
+ @pytest .mark .parametrize ("metric" , ["MI" , "CC" ])
33
+ @pytest .mark .parametrize ("level_iters" , [[10000 , 100 ], [1 ]])
34
+ @pytest .mark .parametrize ("sigmas" , [[5.0 , 2.5 ], [0.0 ]])
35
+ @pytest .mark .parametrize ("factors" , [[4 , 2 ], [1 ]])
36
+ @pytest .mark .parametrize ("params0" , [np .eye (4 ), None ])
37
+ @pytest .mark .parametrize ("pipeline" , [["rigid" ], ["affine" ],
38
+ ["rigid" , "affine" ]])
39
+ def test_affine_registration (nbins , sampling_prop , metric , level_iters ,
40
+ sigmas , factors , params0 , pipeline ):
31
41
moving = subset_b0
32
42
static = subset_b0
33
43
moving_affine = static_affine = np .eye (4 )
@@ -42,15 +52,8 @@ def test_affine_registration():
42
52
# If providing nifti image objects, don't need to provide affines:
43
53
moving_img = nb .Nifti1Image (moving , moving_affine )
44
54
static_img = nb .Nifti1Image (static , static_affine )
45
- xformed , affine = affine_registration (moving_img , static_img )
46
- npt .assert_almost_equal (affine [:3 , :3 ], np .eye (3 ), decimal = 1 )
47
-
48
- # Using strings with full paths as inputs also works:
49
- t1_name , b0_name = dpd .get_fnames ('syn_data' )
50
- moving = b0_name
51
- static = t1_name
52
- xformed , affine = affine_registration (moving , static ,
53
- level_iters = [5 , 5 ],
54
- sigmas = [3 , 1 ],
55
- factors = [4 , 2 ])
55
+ xformed , affine = affine_registration (moving_img , static_img , nbins ,
56
+ sampling_prop , metric , pipeline ,
57
+ level_iters , sigmas , factors ,
58
+ params0 )
56
59
npt .assert_almost_equal (affine [:3 , :3 ], np .eye (3 ), decimal = 1 )
0 commit comments