@@ -48,6 +48,12 @@ def test_linear_typeerrors2(data_path):
4848 nitl .Affine .from_filename (data_path / "itktflist.tfm" , fmt = "itk" )
4949
5050
51+ def test_linear_filenotfound (data_path ):
52+ """Exercise errors in Affine creation."""
53+ with pytest .raises (FileNotFoundError ):
54+ nitl .Affine .from_filename ("doesnotexist.tfm" , fmt = "itk" )
55+
56+
5157def test_linear_valueerror ():
5258 """Exercise errors in Affine creation."""
5359 with pytest .raises (ValueError ):
@@ -85,6 +91,38 @@ def test_loadsave_itk(tmp_path, data_path, testdata_path):
8591 )
8692
8793
94+ @pytest .mark .parametrize (
95+ "image_orientation" ,
96+ [
97+ "RAS" ,
98+ "LAS" ,
99+ "LPS" ,
100+ "oblique" ,
101+ ],
102+ )
103+ def test_itkmat_loadsave (tmpdir , data_path , image_orientation ):
104+ tmpdir .chdir ()
105+
106+ io .itk .ITKLinearTransform .from_filename (
107+ data_path / f"affine-{ image_orientation } .itk.tfm"
108+ ).to_filename (f"affine-{ image_orientation } .itk.mat" )
109+
110+ xfm = nitl .load (data_path / f"affine-{ image_orientation } .itk.tfm" , fmt = "itk" )
111+ mat1 = nitl .load (f"affine-{ image_orientation } .itk.mat" , fmt = "itk" )
112+
113+ assert xfm == mat1
114+
115+ mat2 = nitl .Affine .from_filename (f"affine-{ image_orientation } .itk.mat" , fmt = "itk" )
116+
117+ assert xfm == mat2
118+
119+ mat3 = nitl .LinearTransformsMapping .from_filename (
120+ f"affine-{ image_orientation } .itk.mat" , fmt = "itk"
121+ )
122+
123+ assert xfm == mat3
124+
125+
88126@pytest .mark .parametrize ("autofmt" , (False , True ))
89127@pytest .mark .parametrize ("fmt" , ["itk" , "fsl" , "afni" , "lta" ])
90128def test_loadsave (tmp_path , data_path , testdata_path , autofmt , fmt ):
0 commit comments