docker - FSLOUTPUTTYPE not set in container
Hello,
It looks like FSLOUTPUTTYPE
is not set in the Docker container. Of course, this is easy enough to fix outside of updating the container (e.g., export SINGULARITYENV_FSLOUTPUTTYPE=NIFTI_GZ
), but figured I would make you aware of it.
Expected Behavior
omni_pipeline
continuing without error
Actual Behavior
ERROR:: Environment variable FSLOUTPUTTYPE is not set!
Please make sure that the appropriate configuration file is sourced by your shell (e.g. by putting it in .profile).
e.g. bash or sh users add the line ". ${FSLDIR}/etc/fslconf/fsl.sh"
e.g. tcsh or csh users add the line "source ${FSLDIR}/etc/fslconf/fsl.csh"
[2023-07-03 18:47:42,885] INFO: Error in subprocess call: flirt -out anat_proc_2_align_anat/sub-01_run-01_T2w_debias_t1space_edge.nii.gz -ref anat_proc_2_align_anat/sub-01_run-01_T1w_debias_edge.nii.gz -in anat_proc_2_align_anat/sub-01_run-01_T2w_debias_edge.nii.gz -dof 6 -cost corratio -interp sinc -omat anat_proc_2_align_anat/t2_to_t1_xfm.mat -v
None
input_args: {'output_path': 'anat_proc_2_align_anat', 't1_debias': 'anat_proc_1_debias/sub-01_run-01_T1w_debias.nii.gz', 't2_debias': 'anat_proc_1_debias/sub-01_run-01_T2w_debias.nii.gz', 'ref': 'T1', 'program': 'fsl'}
pipeline_results: {'t1_debias': 'anat_proc_1_debias/sub-01_run-01_T1w_debias.nii.gz', 't2_debias': 'anat_proc_1_debias/sub-01_run-01_T2w_debias.nii.gz', 'output_path': 'anat_proc_2_align_anat', 'ref': 'T1', 'program': 'fsl'}
[2023-07-03 18:47:42,887] INFO: Changed working directory to: /om2/vast/gablab/smeisler/nsd_bids
Traceback (most recent call last):
File "/usr/local/bin/omni_pipeline", line 8, in <module>
sys.exit(main())
File "/usr/local/lib/python3.8/dist-packages/omni/scripts/pipeline.py", line 108, in main
bids_proc(**vars(args))
File "/usr/local/lib/python3.8/dist-packages/omni/pipelines/bids.py", line 227, in bids_proc
function_to_run(output_path, t1=t1.path, t2=t2.path, func=func.path, metadata=func.get_metadata(), **kwargs)
File "/usr/local/lib/python3.8/dist-packages/memori/helpers.py", line 168, in wrapped
return func(output_path, *args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/omni/pipelines/preprocessing.py", line 40, in pre_proc
anat_results = anat_proc(anat_output, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/memori/helpers.py", line 168, in wrapped
return func(output_path, *args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/memori/helpers.py", line 207, in wrapped
return func(*mod_args, **mod_kwargs)
File "/usr/local/lib/python3.8/dist-packages/memori/helpers.py", line 399, in wrapped
return func(output_path, *args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/memori/helpers.py", line 259, in wrapped
return func(*mod_args, **mod_kwargs)
File "/usr/local/lib/python3.8/dist-packages/omni/pipelines/anat/processing.py", line 136, in anat_proc
anat_pipeline.run(t1=t1, t2=t2)
File "/usr/local/lib/python3.8/dist-packages/memori/pipeline.py", line 107, in run
raise error
File "/usr/local/lib/python3.8/dist-packages/memori/pipeline.py", line 99, in run
stage_to_run.run(**input_args)
File "/usr/local/lib/python3.8/dist-packages/memori/stage.py", line 204, in run
outputs = self.function_to_call(**self.stage_input_args)
File "/usr/local/lib/python3.8/dist-packages/memori/helpers.py", line 168, in wrapped
return func(output_path, *args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/omni/pipelines/anat/align.py", line 153, in align_anat
flirt(
File "/usr/local/lib/python3.8/dist-packages/omni/interfaces/fsl.py", line 38, in flirt
return run_process(
File "/usr/local/lib/python3.8/dist-packages/omni/interfaces/common.py", line 36, in run_process
raise exception
File "/usr/local/lib/python3.8/dist-packages/omni/interfaces/common.py", line 33, in run_process
subprocess.run(process_string, stdout=stdout, check=True, shell=True)
File "/usr/lib/python3.8/subprocess.py", line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'flirt -out anat_proc_2_align_anat/sub-01_run-01_T2w_debias_t1space_edge.nii.gz -ref anat_proc_2_align_anat/sub-01_run-01_T1w_debias_edge.nii.gz -in anat_proc_2_align_anat/sub-01_run-01_T2w_debias_edge.nii.gz -dof 6 -cost corratio -interp sinc -omat anat_proc_2_align_anat/t2_to_t1_xfm.mat -v' returned non-zero exit status 1.
Steps to Reproduce the Problem
singularity build synth_2023.2.1.img docker://vanandrew/omni:2023.2.1
singularity exec -e --containall -B /path/to/bids/ synth_2023.2.1.img omni_pipeline /path/to/bids/ /path/to/bids/derivatives/synth/
Specifications
Apptainer 1.1.3 on Linux CentOs7
Edited by Steven Meisler