Skip to content

Commit d699ae0

Browse files
authored
Merge pull request #10 from KrisThielemans/using_range
change to use module_indices
2 parents 7ad7fa0 + 6daeb36 commit d699ae0

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

python/main.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ def set_module_color(
168168

169169

170170
def create_mesh(header, modules_only=False, show_det_eff=False, random_color=False, fov=None,
171-
num_modules=0, skip_modules=0):
171+
modules_indices=None):
172172
"""
173173
Create 3D model of PET scanner defined in PETSIRD list mode file.
174174
"""
@@ -182,8 +182,8 @@ def create_mesh(header, modules_only=False, show_det_eff=False, random_color=Fal
182182
rep_module.object.detecting_elements
183183
) # Get all the detecting elements modules
184184
for mod_i in range(len(rep_module.transforms)):
185-
if (module_count % (skip_modules + 1)) > 0:
186-
module_count += 1
185+
module_count += 1
186+
if modules_indices is not None and (module_count - 1) not in modules_indices:
187187
continue
188188

189189
vertices = [] # If showing modules only
@@ -222,10 +222,6 @@ def create_mesh(header, modules_only=False, show_det_eff=False, random_color=Fal
222222

223223
shapes.append(module_mesh)
224224

225-
module_count += 1
226-
if num_modules > 0 and module_count + skip_modules + 1 > (num_modules * (skip_modules + 1)):
227-
break
228-
229225
if fov is not None:
230226
shapes.append(
231227
trimesh.creation.cylinder(radius=fov[0], height=fov[1])
@@ -308,6 +304,8 @@ def parserCreator():
308304

309305
if __name__ == "__main__":
310306
args = parserCreator()
307+
if args.skip_modules < 0:
308+
sys.exit('skip_modules should be >= 0')
311309

312310
file = None
313311
if args.input is None:
@@ -318,9 +316,10 @@ def parserCreator():
318316

319317
with petsird.BinaryPETSIRDReader(file) as reader:
320318
header = reader.read_header()
321-
319+
module_indices = range(0, args.num_modules * (args.skip_modules + 1), args.skip_modules + 1) if args.num_modules > 0 else None
322320
mesh = create_mesh(header, args.modules_only, args.show_det_eff, args.random_color, args.fov,
323-
args.num_modules, args.skip_modules)
321+
module_indices
322+
)
324323
mesh.export(output_fname)
325324

326325
# Forced to do this

0 commit comments

Comments
 (0)