NODDI Amico crashed

Summary of what happened:

I am running Amico reconstruction using the following command and it failed.

Command used (and if a helper script was used, a link to the helper script or the command generated):

/bin/singularity run --containall --writable-tmpfs \
-B $HOME,/home,/net,/onrc,{analysisrootdir}/sourcedata,{analysisrootdir}/sourcedata/Results,{analysisrootdir}/tmp,${FREESURFER_HOME}/license.txt:/opt/freesurfer-7.4.1/license.txt \
/home/Amubeen/onrc/data/NODDI/qsiprep/qsiprep-0.22.0.sif \
{analysisrootdir}/sourcedata {analysisrootdir}/sourcedata/Results participant \
-w {analysisrootdir}/tmp \
--output-resolution 1.2 \ 
--participant_label sub-{subjectuid} \
--recon-spec amico_noddi \
--recon-input /home/pipeline/onrc/data2/pipelineb/NODDIPreprocessing/{subjectuid}/{studynum}/sourcedata/Results/qsiprep \
--fs-license-file /opt/freesurfer-7.4.1/license.txt

Version:

0.22.1

Environment (Docker, Singularity / Apptainer, custom installation):

Singularity

Data formatted according to a validatable standard? Please provide the output of the validator:

PASTE VALIDATOR OUTPUT HERE

Relevant log outputs (up to 20 lines):

250123-13:04:39,800 nipype.workflow INFO:
	 Running recon-only mode: --recon-input was used.
250123-13:04:39,802 nipype.workflow IMPORTANT:
	 Running QSIRecon version 0.22.1.dev0+gd9279db.d20240719

         License NOTICE ##################################################
         QSIPrep 0.22.1.dev0+gd9279db.d20240719
         Copyright The PennLINC Developers.
         
         This product includes software developed by
         the NiPreps Community (https://nipreps.org/).
         
         Portions of this software were developed at the Department of
         Psychology at Stanford University, Stanford, CA, US.
         
         This software is also distributed as a Docker container image.
         The bootstrapping file for the image ("Dockerfile") is licensed
         under the MIT License.
         
         This software may be distributed through an add-on package called
         "Docker Wrapper" that is under the BSD 3-clause License.
         #################################################################
250123-13:04:39,856 nipype.workflow IMPORTANT:
	 Building QSIRecon's workflow:
           * BIDS dataset path: /home/pipeline/onrc/data2/pipelineb/NODDIAmico/S6009NYC/5/sourcedata.
           * Participant list: ['S6009NYC'].
           * Run identifier: 20250123-130428_d582b8a4-7169-48a0-bc27-7ce5e4ad49ff.
250123-13:04:39,984 nipype.workflow INFO:
	 found ['/home/pipeline/onrc/data2/pipelineb/NODDIPreprocessing/S6009NYC/5/sourcedata/Results/qsiprep/sub-S6009NYC/ses-5/dwi/sub-S6009NYC_ses-5_acq-diffAPMPoptMB450b100050b20008b0lowflip_space-T1w_desc-preproc_dwi.nii.gz'] in /home/pipeline/onrc/data2/pipelineb/NODDIPreprocessing/S6009NYC/5/sourcedata/Results/qsiprep
250123-13:04:39,985 nipype.workflow INFO:
	 CHECKING /home/pipeline/onrc/data2/pipelineb/NODDIPreprocessing/S6009NYC/5/sourcedata/Results/qsiprep/sub-S6009NYC/anat/sub-S6009NYC_desc-brain_mask.nii.gz: True
250123-13:04:39,985 nipype.workflow INFO:
	 CHECKING /home/pipeline/onrc/data2/pipelineb/NODDIPreprocessing/S6009NYC/5/sourcedata/Results/qsiprep/sub-S6009NYC/anat/sub-S6009NYC_desc-preproc_T1w.nii.gz: True
250123-13:04:39,985 nipype.workflow INFO:
	 Found usable QSIPrep-preprocessed T1w image and mask.
250123-13:04:39,986 nipype.workflow INFO:
	 CHECKING /home/pipeline/onrc/data2/pipelineb/NODDIPreprocessing/S6009NYC/5/sourcedata/Results/qsiprep/sub-S6009NYC/anat/sub-S6009NYC_from-T1w_to-MNI152NLin2009cAsym_mode-image_xfm.h5: True
250123-13:04:39,986 nipype.workflow INFO:
	 CHECKING /home/pipeline/onrc/data2/pipelineb/NODDIPreprocessing/S6009NYC/5/sourcedata/Results/qsiprep/sub-S6009NYC/anat/sub-S6009NYC_from-MNI152NLin2009cAsym_to-T1w_mode-image_xfm.h5: True
250123-13:04:39,986 nipype.workflow INFO:
	 Found high-res anatomical data in preprocessed inputs for S6009NYC.
250123-13:04:39,987 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': '/home/pipeline/onrc/data2/pipelineb/NODDIPreprocessing/S6009NYC/5/sourcedata/Results/qsiprep/sub-S6009NYC/ses-5/dwi/sub-S6009NYC_ses-5_acq-diffAPMPoptMB450b100050b20008b0lowflip_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}
250123-13:04:39,993 nipype.workflow INFO:
	 Transforming ODF ROIs into DWI space for visual report.
250123-13:04:41,991 nipype.workflow INFO:
	 QSIRecon workflow graph with 28 nodes built successfully.
250123-13:04:53,301 nipype.workflow IMPORTANT:
	 QSIRecon started!
250123-13:04:58,910 nipype.workflow INFO:
	 [Node] Setting-up "qsirecon_0_22_wf.sub-S6009NYC_amico_noddi.recon_anatomical_wf.qsiprep_anat_ingress" in "/net/hhctnas01/mnt/pool1/home/home/pipeline/data/pipelineb/NODDIAmico/S6009NYC/5/tmp/qsirecon_0_22_wf/sub-S6009NYC_amico_noddi/recon_anatomical_wf/qsiprep_anat_ingress".
250123-13:04:58,921 nipype.workflow INFO:
	 [Node] Executing "qsiprep_anat_ingress" 
250123-13:04:58,930 nipype.workflow INFO:
	 [Node] Finished "qsiprep_anat_ingress", elapsed time 0.007085s.
250123-13:04:59,2 nipype.workflow INFO:
	 [Node] Setting-up "qsirecon_0_22_wf.sub-S6009NYC_amico_noddi.sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_ingressed_dwi_data" in "/net/hhctnas01/mnt/pool1/home/home/pipeline/data/pipelineb/NODDIAmico/S6009NYC/5/tmp/qsirecon_0_22_wf/sub-S6009NYC_amico_noddi/sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_ingressed_dwi_data".
250123-13:04:59,10 nipype.workflow INFO:
	 [Node] Executing "sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_ingressed_dwi_data" 
250123-13:04:59,15 nipype.workflow INFO:
	 [Node] Finished "sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_ingressed_dwi_data", elapsed time 0.003493s.
250123-13:04:59,523 nipype.workflow INFO:
	 [Node] Setting-up "qsirecon_0_22_wf.sub-S6009NYC_amico_noddi.sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_dwi_specific_anat_wf.output_grid_wf.voxel_size_chooser" in "/net/hhctnas01/mnt/pool1/home/home/pipeline/data/pipelineb/NODDIAmico/S6009NYC/5/tmp/qsirecon_0_22_wf/sub-S6009NYC_amico_noddi/sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_dwi_specific_anat_wf/output_grid_wf/voxel_size_chooser".
250123-13:04:59,524 nipype.workflow INFO:
	 [Node] Setting-up "qsirecon_0_22_wf.sub-S6009NYC_amico_noddi.sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_dwi_specific_anat_wf.resample_mask" in "/net/hhctnas01/mnt/pool1/home/home/pipeline/data/pipelineb/NODDIAmico/S6009NYC/5/tmp/qsirecon_0_22_wf/sub-S6009NYC_amico_noddi/sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_dwi_specific_anat_wf/resample_mask".
250123-13:04:59,563 nipype.workflow INFO:
	 [Node] Executing "resample_mask" 
250123-13:04:59,566 nipype.workflow INFO:
	 [Node] Executing "voxel_size_chooser" 
250123-13:04:59,567 nipype.workflow INFO:
	 [Node] Finished "voxel_size_chooser", elapsed time 0.000133s.
250123-13:04:59,575 nipype.workflow INFO:
	 [Node] Setting-up "qsirecon_0_22_wf.sub-S6009NYC_amico_noddi.sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_dwi_specific_anat_wf.odf_rois" in "/net/hhctnas01/mnt/pool1/home/home/pipeline/data/pipelineb/NODDIAmico/S6009NYC/5/tmp/qsirecon_0_22_wf/sub-S6009NYC_amico_noddi/sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_dwi_specific_anat_wf/odf_rois".
250123-13:04:59,588 nipype.workflow INFO:
	 [Node] Executing "odf_rois" 
250123-13:05:01,304 nipype.workflow INFO:
	 [Node] Finished "resample_mask", elapsed time 1.185819s.
250123-13:05:01,313 nipype.workflow INFO:
	 [Node] Setting-up "qsirecon_0_22_wf.sub-S6009NYC_amico_noddi.sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_dwi_specific_anat_wf.output_grid_wf.autobox_template" in "/net/hhctnas01/mnt/pool1/home/home/pipeline/data/pipelineb/NODDIAmico/S6009NYC/5/tmp/qsirecon_0_22_wf/sub-S6009NYC_amico_noddi/sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_dwi_specific_anat_wf/output_grid_wf/autobox_template".
250123-13:05:01,323 nipype.workflow INFO:
	 [Node] Executing "autobox_template" 
250123-13:05:04,178 nipype.workflow INFO:
	 [Node] Finished "autobox_template", elapsed time 2.853759s.
250123-13:05:05,523 nipype.workflow INFO:
	 [Node] Setting-up "qsirecon_0_22_wf.sub-S6009NYC_amico_noddi.sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_dwi_specific_anat_wf.output_grid_wf.deoblique_autobox" in "/net/hhctnas01/mnt/pool1/home/home/pipeline/data/pipelineb/NODDIAmico/S6009NYC/5/tmp/qsirecon_0_22_wf/sub-S6009NYC_amico_noddi/sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_dwi_specific_anat_wf/output_grid_wf/deoblique_autobox".
250123-13:05:05,534 nipype.workflow INFO:
	 [Node] Executing "deoblique_autobox" 
250123-13:05:06,726 nipype.workflow INFO:
	 [Node] Finished "deoblique_autobox", elapsed time 1.190776s.
250123-13:05:07,567 nipype.workflow INFO:
	 [Node] Setting-up "qsirecon_0_22_wf.sub-S6009NYC_amico_noddi.sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_dwi_specific_anat_wf.output_grid_wf.resample_to_voxel_size" in "/net/hhctnas01/mnt/pool1/home/home/pipeline/data/pipelineb/NODDIAmico/S6009NYC/5/tmp/qsirecon_0_22_wf/sub-S6009NYC_amico_noddi/sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_dwi_specific_anat_wf/output_grid_wf/resample_to_voxel_size".
250123-13:05:09,963 nipype.workflow INFO:
	 [Node] Executing "resample_to_voxel_size" 
250123-13:05:10,614 nipype.workflow INFO:
	 [Node] Finished "resample_to_voxel_size", elapsed time 0.648789s.
250123-13:05:30,196 nipype.workflow INFO:
	 [Node] Finished "odf_rois", elapsed time 30.065785s.
250123-13:05:33,344 nipype.workflow INFO:
	 [Node] Setting-up "qsirecon_0_22_wf.sub-S6009NYC_amico_noddi.sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_recon_inputs" in "/net/hhctnas01/mnt/pool1/home/home/pipeline/data/pipelineb/NODDIAmico/S6009NYC/5/tmp/qsirecon_0_22_wf/sub-S6009NYC_amico_noddi/sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_recon_inputs".
250123-13:05:33,366 nipype.workflow INFO:
	 [Node] Executing "sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_recon_inputs" 
250123-13:05:33,369 nipype.workflow INFO:
	 [Node] Finished "sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_recon_inputs", elapsed time 0.000361s.
250123-13:05:33,534 nipype.workflow INFO:
	 [Node] Setting-up "qsirecon_0_22_wf.sub-S6009NYC_amico_noddi.sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_recon_wf.fit_noddi.recon_noddi" in "/net/hhctnas01/mnt/pool1/home/home/pipeline/data/pipelineb/NODDIAmico/S6009NYC/5/tmp/qsirecon_0_22_wf/sub-S6009NYC_amico_noddi/sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_recon_wf/fit_noddi/recon_noddi".
250123-13:05:33,549 nipype.workflow INFO:
	 [Node] Executing "recon_noddi" 
-> Rounding b-values to nearest multiple of 50.0
-> Writing scheme file to [ /net/hhctnas01/mnt/pool1/home/home/pipeline/data/pipelineb/NODDIAmico/S6009NYC/5/tmp/qsirecon_0_22_wf/sub-S6009NYC_amico_noddi/sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_recon_wf/fit_noddi/recon_noddi/study/subject/sub-S6009NYC_ses-5_acq-diffAPMPoptMB450b100050b20008b0lowflip_space-T1w_desc-preproc_dwi.scheme ]
e[0;32m
-> Loading data:e[0m
	* DWI signal
		- dim    = 134 x 165 x 142 x 100
		- pixdim = 1.200 x 1.200 x 1.200
	* Acquisition scheme
		- 100 samples, 2 shells
		- 7 @ b=0 , 47 @ b=1000.0 , 46 @ b=2000.0 
	* Binary mask
		- dim    = 134 x 165 x 142
		- pixdim = 1.200 x 1.200 x 1.200
		- voxels = 836823
e[0;32m   [ 7.2 seconds ]e[0m
e[0;32m
-> Preprocessing:e[0m
	* Normalizing to b0... [ min=0.00,  mean=0.51, max=18.15 ]
	* Keeping all b0 volume(s)
e[0;32m   [ 1.7 seconds ]e[0m
250123-13:05:42,515 nipype.interface INFO:
	 Fitting NODDI Model.
e[0;32m
-> Creating LUT for "NODDI" model:e[0m
e[0;30;41m[ ERROR ]e[0;31m Auxiliary matrices not found; call "amico.setup()" firste[0m

250123-13:05:42,749 nipype.workflow INFO:
	 [Node] Finished "recon_noddi", elapsed time 8.96873s.
250123-13:05:42,749 nipype.workflow WARNING:
	 Storing result file without outputs
250123-13:05:42,752 nipype.workflow WARNING:
	 [Node] Error on "qsirecon_0_22_wf.sub-S6009NYC_amico_noddi.sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_recon_wf.fit_noddi.recon_noddi" (/net/hhctnas01/mnt/pool1/home/home/pipeline/data/pipelineb/NODDIAmico/S6009NYC/5/tmp/qsirecon_0_22_wf/sub-S6009NYC_amico_noddi/sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_recon_wf/fit_noddi/recon_noddi)
250123-13:05:43,421 nipype.workflow ERROR:
	 Node recon_noddi failed to run on host humboldt.
250123-13:05:43,429 nipype.workflow ERROR:
	 Saving crash info to /home/pipeline/onrc/data2/pipelineb/NODDIAmico/S6009NYC/5/sourcedata/Results/qsirecon/sub-S6009NYC/log/20250123-130428_d582b8a4-7169-48a0-bc27-7ce5e4ad49ff/crash-20250123-130543-nidb-recon_noddi-dc3cfa44-3241-4b01-85b4-7e8a35c9da33.txt
Traceback (most recent call last):
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
    result["result"] = node.run(updatehash=updatehash)
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 527, in run
    result = self._run_interface(execute=True)
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 645, in _run_interface
    return self._run_command(execute)
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 771, in _run_command
    raise NodeExecutionError(msg)
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node recon_noddi.

Traceback:
	Traceback (most recent call last):
	  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 397, in run
	    runtime = self._run_interface(runtime)
	  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsiprep/interfaces/amico.py", line 188, in _run_interface
	    aeval.generate_kernels()
	  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/amico/core.py", line 362, in generate_kernels
	    aux = amico.lut.load_precomputed_rotation_matrices( lmax, ndirs )
	  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/amico/lut.py", line 153, in load_precomputed_rotation_matrices
	    ERROR( 'Auxiliary matrices not found; call "amico.setup()" first' )
	  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/amico/util.py", line 49, in ERROR
	    exit(EX_USAGE)
	SystemExit: 64


250123-13:05:45,421 nipype.workflow ERROR:
	 could not run node: qsirecon_0_22_wf.sub-S6009NYC_amico_noddi.sub_S6009NYC_ses_5_acq_diffAPMPoptMB450b100050b20008b0lowflip_space_T1w_desc_preproc_recon_wf.fit_noddi.recon_noddi
250123-13:05:45,487 nipype.workflow CRITICAL:
	 QSIRecon failed: Traceback (most recent call last):
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
    result["result"] = node.run(updatehash=updatehash)
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 527, in run
    result = self._run_interface(execute=True)
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 645, in _run_interface
    return self._run_command(execute)
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 771, in _run_command
    raise NodeExecutionError(msg)
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node recon_noddi.

Traceback:
	Traceback (most recent call last):
	  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 397, in run
	    runtime = self._run_interface(runtime)
	  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsiprep/interfaces/amico.py", line 188, in _run_interface
	    aeval.generate_kernels()
	  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/amico/core.py", line 362, in generate_kernels
	    aux = amico.lut.load_precomputed_rotation_matrices( lmax, ndirs )
	  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/amico/lut.py", line 153, in load_precomputed_rotation_matrices
	    ERROR( 'Auxiliary matrices not found; call "amico.setup()" first' )
	  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/amico/util.py", line 49, in ERROR
	    exit(EX_USAGE)
	SystemExit: 64

Screenshots / relevant information:


Hi @asim.mubeen,

In the future please make sure you format your code snippets for readability, you can see I edited your post for formatting.

Please try the most recent version (QSIRecon 1.0.0 on the pennlinc dockerhub repo). Read more here: QSIRecon: Reconstruction of preprocessed q-space images (dMRI) — qsirecon 1.0.1.dev1+g8938734 documentation

Best,
Steven