Skip to content

Atlases option in config file does not work #341

@lucile-hashimoto

Description

@lucile-hashimoto

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 !

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions