-
Notifications
You must be signed in to change notification settings - Fork 15
Description
Summary
MRtrix could not create the connectivity matrix because of a missing file never created during atlas preparation.
Additional details
- QSIRecon version: 1.1.1
- Singularity version: 1.1.6
What were you trying to do?
Simply run qsirecon on a subject using a config file
What did you expect to happen?
That qsirecon works just the same as when I tried to run without config file
What actually happened?
I had the following warning in the stdout from the very beggining of the process.
nipype.interface WARNING:
No atlas images found for 4S156Parcels with query {'space': 'MNI152NLin2009cAsym', 'suffix': 'dseg', 'extension': ['.nii.gz', '.nii']}
But error came out only after 8h of processing, when MRtrix tried to create the connectivity matrix :
ValueError: MRTrixAtlasGraph requires a value for input 'atlas_configs'. For a list of required inputs, see MRTrixAtlasGraph.help()
Reproducing the bug
I first launched qsirecon without config file, using the following command :
apptainer run \
--nv --cleanenv \
-B $DERIVATIVES_BIDS_DIR/qsiprep:/data \
-B $DERIVATIVES_BIDS_DIR/qsirecon:/out \
-B $FREESURFER_DIR:/freesurfer \
-B $FREESURFER_LICENSE/license.txt:/opt/freesurfer/license.txt \
$QSIRECON_CONTAINER /data /out participant \
--participant-label sub-1054001 --session-id ses-01 \
-v -w /out/temp_wf_qsirecon \
--fs-license-file /opt/freesurfer/license.txt \
--fs-subjects-dir /freesurfer \
--output-resolution 1.8 \
--recon-spec mrtrix_multishell_msmt_ACT-hsvs \
--atlases AAL116
This worked perfectly.
But then when using a config file like this, I got the error :
apptainer run \
--nv --cleanenv \
-B $DERIVATIVES_BIDS_DIR/qsiprep:/data \
-B $DERIVATIVES_BIDS_DIR/qsirecon:/out \
-B $FREESURFER_DIR:/freesurfer \
-B $FREESURFER_LICENSE/license.txt:/opt/freesurfer/license.txt \
-B $CONFIG:/config/qsirecon_config.toml \
$QSIRECON_CONTAINER /data /out participant \
--participant-label sub-1054001 --session-id ses-01 \
-v -w /out/temp_qsirecon \
--fs-license-file /opt/freesurfer/license.txt \
--fs-subjects-dir /freesurfer \
--config-file /config/qsirecon_config.toml
-->
I could solve the problem by adding the option --atlases within the command line and removing it from the config file. Like this :
apptainer run \
--nv --writable-tmpfs --cleanenv \
-B $DERIVATIVES_BIDS_DIR/qsiprep:/data \
-B $DERIVATIVES_BIDS_DIR/qsirecon:/out \
-B $FREESURFER_DIR:/freesurfer \
-B $FREESURFER_LICENSE/license.txt:/opt/freesurfer/license.txt \
-B $CONFIG:/config/qsirecon_config.toml \
$QSIRECON_CONTAINER /data /out participant \
--participant-label sub-1054001 --session-id ses-01 \
-v -w /out/temp_qsirecon \
--fs-license-file /opt/freesurfer/license.txt \
--fs-subjects-dir /freesurfer \
--config-file /config/qsirecon_config.toml \
--atlases AAL116
I could not find any mention of this in the documentation.
I hope it will help other users.
By the way thanks to authors for their great job on qsiprep and qsirecon !