11import pytest
2- import sys
32
4- if sys .version_info < (3 , 10 ):
5- import importlib_resources as resources # Backport for older versions
6- else :
7- from importlib import resources # Standard from Python 3.9+
8-
9- import pymatreader
103import numpy as np
114
125from pyRadPlan .ct import validate_ct
@@ -156,13 +149,11 @@ def test_create_stf_from_stf(sample_stf_snake):
156149 assert all (isinstance (ray .beamlets , list ) for ray in beam .rays )
157150
158151
159- def test_stfgen_to_stf ():
160- files = resources .files ("pyRadPlan.data.phantoms" )
161- path = files .joinpath ("TG119.mat" )
162- tmp = pymatreader .read_mat (path )
152+ def test_stfgen_to_stf (tg119_raw ):
153+ ct_raw , cst_raw = tg119_raw
163154
164- ct = validate_ct (tmp [ "ct" ] )
165- cst = validate_cst (tmp [ "cst" ] , ct = ct )
155+ ct = validate_ct (ct_raw )
156+ cst = validate_cst (cst_raw , ct = ct )
166157 pln = IonPlan (radiation_mode = "protons" , machine = "Generic" )
167158
168159 stfgen = StfGeneratorIMPT (pln )
@@ -183,26 +174,16 @@ def test_stfgen_to_stf():
183174 assert all (isinstance (ray .beamlets , list ) for ray in beam .rays )
184175
185176
186- def test_from_and_to_matrad ():
187- # from scipy.io import savemat
188-
189- files = resources .files ("pyRadPlan.data.stf" )
190- path = files .joinpath ("matRad_stf.mat" )
191- path_export = files .joinpath ("export_stf.mat" )
192- matRad_file = pymatreader .read_mat (path )
193- stf_from_matRad = create_stf (matRad_file )
177+ def test_from_and_to_matrad (test_data_stf_n_beams_raw ):
178+ stf_from_matRad = create_stf (test_data_stf_n_beams_raw )
194179 stf_to_matrad = stf_from_matRad .to_matrad ()
195180
196181 assert isinstance (stf_to_matrad , np .recarray )
197- # savemat(path_export, stf_to_matrad, format='5', oned_as='column')
198182
199183
200- def test_from_matlab_one_beam ():
201- # Special case of one beam since pymatreader handles 1D arrays differently
202- files = resources .files ("pyRadPlan.data.stf" )
203- path = files .joinpath ("matRad_stf_onebeam.mat" )
204- matRad_file = pymatreader .read_mat (path )
205- stf_from_matRad = create_stf (matRad_file )
184+ def test_from_matlab_one_beam (test_data_stf_one_beam_raw ):
185+ """Special case of one beam since pymatreader handles 1D arrays differently"""
186+ stf_from_matRad = create_stf (test_data_stf_one_beam_raw )
206187 assert stf_from_matRad .beams [0 ].gantry_angle == 0
207188 assert stf_from_matRad is not None
208189
@@ -213,11 +194,8 @@ def test_from_matlab_one_beam():
213194 assert stf_from_matRad .bixel_index_per_beam_map .size == stf_from_matRad .total_number_of_bixels
214195
215196
216- def test_from_matlab_multi_beam ():
217- files = resources .files ("pyRadPlan.data.stf" )
218- path = files .joinpath ("matRad_stf.mat" )
219- matRad_file = pymatreader .read_mat (path )
220- stf_from_matRad = create_stf (matRad_file )
197+ def test_from_matlab_multi_beam (test_data_stf_n_beams_raw ):
198+ stf_from_matRad = create_stf (test_data_stf_n_beams_raw )
221199 assert stf_from_matRad .beams [0 ].gantry_angle == 0
222200 assert stf_from_matRad is not None
223201
0 commit comments