Summary of what happened:
Sorry for bothering guys, I am running qsirecon, but it is trapped in “odf plots for tractography”. While I use qsiprep to recon the same data, it works well. I am wondering why it happens?
Command used (and if a helper script was used, a link to the helper script or the command generated):
docker run -ti --rm \
-v ~/bids:/data \
-v ~/tractography/qsirecon:/output \
-v ~/preprocessed/qsiprep:/input \
-v ~/license.txt:/opt/license.txt \
-v ~/tractography_work:/work \
-v ~/atlases:/atlases \
pennlinc/qsirecon:unstable \
/input/ /output/ participant \
--participant-label ${subject_name} \
-w /work/ \
--output-resolution 1.2 \
--recon-spec /atlases/gqi_scalar_export.json \
--fs-license-file /opt/license.txt \
--skip-odf-reports
--stop-on-first-crash
Version:
pennlinc/qsirecon:unstable
Environment (Docker, Singularity / Apptainer, custom installation):
Docker
Relevant log outputs (up to 20 lines):
240919-03:18:30,618 nipype.workflow INFO:
Anatomical (T1w) available for recon: {'has_qsiprep_5tt_hsvs': False, 'has_freesurfer_5tt_hsvs': False, 'has_freesurfer': False, 'has_qsiprep_t1w': True, 'has_qsiprep_t1w_transforms': True}
[{'bids_dwi_file': '/input/sub-3003/ses-dwi/dwi/sub-3003_ses-dwi_space-T1w_desc-preproc_dwi.nii.gz'}]
{'has_qsiprep_5tt_hsvs': False, 'has_freesurfer_5tt_hsvs': False, 'has_freesurfer': False, 'has_qsiprep_t1w': True, 'has_qsiprep_t1w_transforms': True}
240919-03:18:30,638 nipype.workflow INFO:
Found T1w-to-template transforms from QSIRecon
240919-03:18:30,638 nipype.workflow INFO:
Transforming ODF ROIs into DWI space for visual report.
240919-03:18:30,782 nipype.workflow INFO:
skipping ODF plots for dsistudio_gqi
240919-03:18:30,787 nipype.workflow INFO:
skipping ODF plots for scalar_export
240919-03:18:30,806 nipype.workflow INFO:
skipping ODF plots for tractography
Process Process-2:
Traceback (most recent call last):
File "/opt/conda/envs/qsiprep/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/opt/conda/envs/qsiprep/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/cli/workflow.py", line 139, in build_workflow
retval["workflow"] = init_qsirecon_wf()
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/workflows/base.py", line 54, in init_qsirecon_wf
single_subject_wf = init_single_subject_recon_wf(subject_id=subject_id)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/workflows/base.py", line 222, in init_single_subject_recon_wf
dwi_recon_wfs[dwi_file] = init_dwi_recon_workflow(
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/workflows/recon/build_workflow.py", line 58, in init_dwi_recon_workflow
new_node = workflow_from_spec(
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/workflows/recon/build_workflow.py", line 209, in workflow_from_spec
return init_dsi_studio_tractography_wf(**kwargs)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/workflows/recon/dsi_studio.py", line 240, in init_dsi_studio_tractography_wf
DSIStudioTracking(num_threads=omp_nthreads, **params),
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 629, in __init__
super(CommandLine, self).__init__(**inputs)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 202, in __init__
self.inputs.trait_set(**inputs)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/traits/has_traits.py", line 1520, in trait_set
setattr(self, name, value)
traits.trait_errors.TraitError: Cannot set the undefined 'plot_reports' attribute of a 'DSIStudioTrackingInputSpec' object.
qsirecon.sh: line 24: --stop-on-first-crash: command not found