Quality Control for amico_noddi and dsi_studio_autotrack Outputs

Summary of what happened:

Hello,

We have successfully preprocessed dMRI data using QSIPrep. We are now using QSIRecon for reconstruction. We are interested in the outputs of the amico_noddi and dsi_studio_autotrack workflows.

We want to know in which ways we can systematically and quantitatively quality control and compare the outputs of amico_noddi and dsi_studio_autotrack.

  • We tried using DSI Studio’s automated quality control of fib files, but it outputs an empty table. Is there another way to quality control these files?
  • When running fiber tracking in DSI Studio for amico_noddi fib files, the output tractography requires a manual increase of the tracking threshold, because it looks too “fuzzy” (see example: Step T3 Tractography | DSI Studio Documentation). The recommendation is to “select the lowest value that has acceptable spurious fibers”. Is there a way to quality control that doesn’t rely only on visual inspection? How can we measure the number of “acceptable” spurious fibers?
  • dsi_studio_autotrack output .fib and .tck files seem alright upon visual inspection. However, we would like to quantitatively compare them to those of amico_noddi. What parameters should we be mindful of?

Any suggestions or links to literature would be highly appreciated. We can also share snapshots of the output tractography files when necessary.

Thank you,

Catalina

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

  apptainer run --containall --cleanenv \
    --env TEMPLATEFLOW_HOME=/cache \
    -B "${INPUT_DIR}":/input:ro \
    -B "${OUTPUT_DIR}":/output \
    -B "${LICENSE}":/license:ro \
    -B "${WORK_DIR}":/work \
    -B "${CACHE_DIR}":/cache \
    "${CONTAINER}" \
    /input /output participant \
    --participant-label "${SUBID#sub-}" \
    --nthreads 6 \
    --omp-nthreads 6 \
    --output-resolution 2.0 \
    --fs-license-file /license \
    --input-type qsiprep \
    --atlases 4S156Parcels 4S256Parcels 4S456Parcels Brainnetome246Ext AICHA384Ext Gordon333Ext AAL116 \
    --recon-spec dsi_studio_autotrack OR amico_noddi \
    --notrack \
    -w /work \
    -v -v

Version:

QSIRecon 1.1.1
DSI Studio 2025.04.16

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

Apptainer


Hi @catalinasaini,

What are you trying to compare? NODDI doesn’t return any tractography, just scalar maps.

I’ll also note that rather than running the recon specs separately, you would probably benefit from using a custom recon spec with both of the workflows, and using the bundle_mapper node to map the NODDI outputs to the autotrack bundles, so you can have bundle-averaged NODDI scalars. See the hbcd_scalar_maps as an example: https://github.com/PennLINC/qsirecon/blob/main/qsirecon/data/pipelines/hbcd_scalar_maps.yaml.

Best,
Steven

NODDI does not return tractography, but it does return a fib file that can serve as input in DSI Studio to create the tractography file. Or would this be an incorrect use of it?

Thank you, we can try a custom recon spec as you describe.

I would personally not use NODDI as a tractography input.

Is there a particular reason for this? As something that has to do with NODDI or with how DSI Studio handles it? In that case, if continuing to use QSIRecon, would you stick with dsi_studio_* workflows only for tractography outputs?

It’s just not a common standard in the literature. The dsi_studio_ workflows also run GQI and export those scalars, which could be useful.

1 Like

Ok! Thanks for the response!