Skip to content

Commit

Permalink
Use os.system instead of subprocess.check_call for FSLeyes and ITKsnap
Browse files Browse the repository at this point in the history
  • Loading branch information
valosekj committed Oct 10, 2023
1 parent 20d033e commit 28c3d9b
Showing 1 changed file with 11 additions and 28 deletions.
39 changes: 11 additions & 28 deletions manual_correction.py
Original file line number Diff line number Diff line change
Expand Up @@ -330,15 +330,11 @@ def correct_segmentation(fname, fname_seg_out, fname_other_contrast, viewer, par
# Note: command line differs for macOs/Linux and Windows
if shutil.which('itksnap') is not None: # Check if command 'itksnap' exists
# macOS and Linux
subprocess.check_call(['itksnap',
'-g', fname,
'-s', fname_seg_out])
os.system(f'itksnap -g {fname} -s {fname_seg_out}')

elif shutil.which('ITK-SNAP') is not None: # Check if command 'ITK-SNAP' exists
# Windows
subprocess.check_call(['ITK-SNAP',
'-g', fname,
'-s', fname_seg_out])
os.system(f'ITK-SNAP -g {fname} -s {fname_seg_out}')
else:
viewer_not_found(viewer)
# launch FSLeyes
Expand All @@ -362,34 +358,21 @@ def correct_segmentation(fname, fname_seg_out, fname_other_contrast, viewer, par
# (-r flag)
if param_fsleyes.second_orthoview:
fname_script = create_fsleyes_script()
subprocess.check_call(['fsleyes',
'-S',
'-r', fname_script,
fname, '-dr', param_fsleyes.min_dr, param_fsleyes.max_dr,
fname_other_contrast,
fname_seg_out, '-cm', param_fsleyes.cm])
os.system(f'fsleyes -S -r {fname_script} {fname} -dr {param_fsleyes.min_dr} {param_fsleyes.max_dr} '
f'{fname_other_contrast} {fname_seg_out} -cm {param_fsleyes.cm}')
# No second orthoview
else:
subprocess.check_call(['fsleyes',
'-S',
fname, '-dr', param_fsleyes.min_dr, param_fsleyes.max_dr,
fname_other_contrast,
fname_seg_out, '-cm', param_fsleyes.cm])
# Open a second orthoview without second contrast
os.system(f'fsleyes -S {fname} -dr {param_fsleyes.min_dr} {param_fsleyes.max_dr} '
f'{fname_other_contrast} {fname_seg_out} -cm {param_fsleyes.cm}')
# Open a second orthoview without second contrast using a custom Python script (-r flag)
elif param_fsleyes.second_orthoview:
fname_script = create_fsleyes_script()
subprocess.check_call(['fsleyes',
'-S',
'-r', fname_script,
fname, '-dr', param_fsleyes.min_dr, param_fsleyes.max_dr,
fname_seg_out, '-cm', param_fsleyes.cm])
os.system(f'fsleyes -S -r {fname_script} {fname} -dr {param_fsleyes.min_dr} {param_fsleyes.max_dr} '
f'{fname_seg_out} -cm {param_fsleyes.cm}')
# No second contrast, no second orthoview
else:
subprocess.check_call(['fsleyes',
'-S',
fname,
'-dr', param_fsleyes.min_dr, param_fsleyes.max_dr,
fname_seg_out, '-cm', param_fsleyes.cm])
os.system(f'fsleyes -S {fname} -dr {param_fsleyes.min_dr} {param_fsleyes.max_dr} {fname_seg_out} -cm '
f'{param_fsleyes.cm}')
else:
viewer_not_found(viewer)
# launch 3D Slicer
Expand Down

0 comments on commit 28c3d9b

Please sign in to comment.