Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem getting the specified bundles using autotrack #120

Open
ameliecr opened this issue Oct 15, 2024 · 1 comment
Open

Problem getting the specified bundles using autotrack #120

ameliecr opened this issue Oct 15, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@ameliecr
Copy link
Contributor

ameliecr commented Oct 15, 2024

Summary

There is a problem getting the exact bundles specified in the recon spec under track_id when using autotrack.
Specifically it is not possible to get results for 'parent bundles', i.e. the overarching bundle for bundles made up of sub bundles.
Example below for the CorpusCallosum.

Additional details

  • QSIRecon version: 0.23.1
  • Singularity version: apptainer version 1.1.8-1.el7

What were you trying to do?

Get autotrack results for the bundle Commissure_CorpusCallosum.

What did you expect to happen?

The expected outcome would have been a .tck.gz file for the Commissure_CorpusCallosum bundle and a row in the bundle stats .csv file for this bundle in the qsirecon output directory.

What actually happened?

There is no .tck.gz file in the output directory. In the bundle stats file there is no information on the Commissure_CorpusCallosum. Instead, there are four empty rows, one for each of the Corpus Callosum sub bundles.

Reproducing the bug

This is the recon spec I used:

atlases: []
name: dsistudio_pipeline
nodes:
-   action: reconstruction
    input: qsirecon
    name: dsistudio_gqi
    parameters:
        method: gqi
    qsirecon_suffix: GQIautotrack
    software: DSI Studio
-   action: autotrack
    input: dsistudio_gqi
    name: autotrackgqi
    parameters:
        tolerance: 22,26,30
        track_id: Corpus
        track_voxel_ratio: 2.0
        yield_rate: 1.0e-06
    qsirecon_suffix: GQIautotrack
    software: DSI Studio
space: T1w

I get the same issue when setting track_id: Commissure_CorpusCallosum

And this is the qsirecon call

singularity run --containall \
-B "${PWD}","${FREESURFER_HOME}"/license.txt:/opt/freesurfer/license.txt \
"${HOME}"/images/qsirecon-0.23.1.sif \
"${PWD}"/qsiprep_outputs \
"${PWD}"/qsirecon \
participant \
--fs-license-file /opt/freesurfer/license.txt \
--recon-spec "${PWD}"/gqi_autotrack.yaml \
--participant-label 1000393599 \
-w "${PWD}"/work \
-v -v --nthreads 2 --omp-nthreads 2 \
--stop-on-first-crash
@ameliecr ameliecr added the bug Something isn't working label Oct 15, 2024
@ameliecr
Copy link
Contributor Author

In DSI Studio, by default the parent bundle will be reconstructed when only specifying a part of the bundle name. To track sub bundles these need to be named explicitly, i.e., Commissure_CorpusCallosum_ForcepsMinor .
The problem seems to be that qsirecon iterates through this list of bundles: https://github.com/frankyeh/data-atlas/blob/main/ICBM152_adult/ICBM152_adult.tt.gz.txt to extract the bundles to track from the given track_ids. This list, however, doesn't contain the parent bundles. For the CC it only contains the four sub bundles. So qsiprep will get the four sub bundles from the list but DSI Studio will only track the parent bundle. qsirecon will then look for the sub bundles to copy to the output directory and the stats file but there are only results for the parent bundle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant