Skip to content

QSIRecon 1.1.1 doesn't find longitudinal Fastsurfer outputs #270

@araikes

Description

@araikes

Something changed between 1.1.0 and 1.1.1, but I'm not sure what specifically. I have the following Fastsurfer tree (top-level folders only for the sake of visibility, successfully run, no missing files):

├── sub-001
├── sub-001_ses-01
├── sub-001_ses-02
├── sub-001_ses-03
├── sub-001_ses-04

I'm running the following command for QSIRecon:

apptainer run --containall --writable-tmpfs \
    -B /path/to/data/nifti:/nifti:ro \
    -B /path/to/data/derivatives/qsiprep/:/path/to/data/derivatives/qsiprep/ \
    -B /path/to/data/derivatives/test2:/path/to/data/derivatives/test \
    -B /path/to/data/extra:/extra \
    -B /path/to/templateflow:/opt/templateflow \
    -B /path/to/license/license.txt:/license.txt \
    -B /path/to/data/derivatives/fastsurfer:/path/to/data/derivatives/fastsurfer \
    -B /tmp:/tmp \
    /path/to/singularity_images/qsirecon-1.1.0.sif \
    /path/to/data/derivatives/qsiprep/ \
    /path/to/data/derivatives/test \
    participant \
    --participant-label 001 \
    --session-id 01 \
    --nthreads 32 \
    --omp-nthreads 24 \
    --report-output-level session \
    --output-resolution 1 \
    --fs-license-file /license.txt \
    --recon-spec /extra/spec_withHSVS.yml \
    --input-type qsiprep \
    --fs-subjects-dir /path/to/data/derivatives/fastsurfer \
    -w /path/to/data/derivatives/test/scratch \
    --atlases 4S256Parcels 4S456Parcels Brainnetome246Ext Gordon333Ext AAL116 \
    -vv     

QSIRecon 1.1.0 find sthe appropriate session's Fastsurfer folder without issue (from scratch folder):

250922-16:29:15,24 nipype.workflow INFO:
	 Found high-res anatomical data in preprocessed inputs for 001.
250922-16:29:15,24 nipype.workflow INFO:
	 Freesurfer directory /xdisk/adamraikes/PD_allo/derivatives/fastsurfer-2.4.2/sub-001_ses-01 exists for 001
250922-16:29:15,30 nipype.workflow INFO:
	 FreeSurfer data will be used to create a HSVS 5tt image.
250922-16:29:15,33 nipype.workflow INFO:
	 HSVS 5tt imaged will be registered to the QSIRecon T1w image.

and does indeed appear to process the right files (scratch/qsirecon_1_1_wf/sub-001_postproc/recon_anatomical_wf_0/create_5tt_hsvs/command.txt):

5ttgen hsvs /xdisk/adamraikes/PD_allo/derivatives/fastsurfer-2.4.2/sub-001_ses-01 sub-001_ses-01_5tt.mif -nthreads 24

QSIRecon 1.1.1 crashes out immediately:

250922-16:31:13,820 nipype.workflow INFO:
	 Found high-res anatomical data in preprocessed inputs for 001.
250922-16:31:13,820 nipype.workflow INFO:
	 Freesurfer directory /xdisk/adamraikes/PD_allo/derivatives/fastsurfer-2.4.2/sub-001 exists for 001
Process Process-2:
Traceback (most recent call last):
  File "/opt/conda/envs/qsiprep/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/opt/conda/envs/qsiprep/lib/python3.10/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/cli/workflow.py", line 133, in build_workflow
    retval["workflow"] = init_qsirecon_wf()
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/workflows/base.py", line 44, in init_qsirecon_wf
    single_subject_wf = init_single_subject_recon_wf(subject_id=subject_id)
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/workflows/base.py", line 167, in init_single_subject_recon_wf
    init_highres_recon_anatomical_wf(
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/workflows/recon/anatomical.py", line 125, in init_highres_recon_anatomical_wf
    raise Exception(" ".join(missing_fs_hsvs_files) + "are missing: unable to make a HSV.")
Exception: mri/aparc+aseg.mgzare missing: unable to make a HSV.

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