Summary of what happened:
I’m trying to process infant data with QSIRecon using my own custom workflow. Originally I was using hbcd_scalar_maps but ran into errors with DKI because my subject only had two b values (0 and 1000). I created my own workflow that does everything in hbcd_scalar_maps except DKI, but I ran into another error with tractography. Specifically: “no tractography atlas in dHCP_neonate template at {root_dir}/QSI/recon/qsirecon_work/qsirecon_1_2_wf/sub-Subject1_hbcd_postproc_beta/sub_Subject1_ses_1_acq_PA_run_001_space_ACPC_desc_preproc_recon_wf/autotrackgqi/actual_trk/sub-Subject1_ses-1_acq-PA_run-001_space-ACPC_desc-preproc_dwi.src.gz.odf.gqi.1.25.fib.gze”
Command used (and if a helper script was used, a link to the helper script or the command generated):
/opt/conda/envs/qsiprep/bin/qsirecon {root_dir}/QSI/preproc/qsiprep_output {root_dir}/QSI/recon/qsirecon_output participant --participant-label Subject1 --fs-license-file /opt/freesurfer/license.txt --recon-spec {root_dir}/QSI/recon/hie_scalar_maps.yaml --infant --nthreads 8 --omp-nthreads 8 --notrack -w {root_dir}/QSI/recon/qsirecon_work -v -v
Version:
1.2.0
Environment (Docker, Singularity / Apptainer, custom installation):
Apptainer
Relevant log outputs (up to 20 lines):
--Traceback (most recent call last):
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 66, in run_node
result["result"] = node.run(updatehash=updatehash)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 525, in run
result = self._run_interface(execute=True)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 643, in _run_interface
return self._run_command(execute)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 769, in _run_command
raise NodeExecutionError(msg)
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node actual_trk.
Cmdline:
dsi_studio_chen --action=atk --export_trk=1 --source={root_dir}/QSI/recon/qsirecon_work/qsirecon_1_2_wf/sub-Subject1_hbcd_postproc_beta/sub_Subject1_ses_1_acq_PA_run_001_space_ACPC_desc_preproc_recon_wf/autotrackgqi/actual_trk/sub-Subject1_ses-1_acq-PA_run-001_space-ACPC_desc-preproc_dwi.src.gz.odf.gqi.1.25.fib.gz --thread_count=8 --output={root_dir}/QSI/recon/qsirecon_work/qsirecon_1_2_wf/sub-Subject1_hbcd_postproc_beta/sub_Subject1_ses_1_acq_PA_run_001_space_ACPC_desc_preproc_recon_wf/autotrackgqi/actual_trk --template=0 --tolerance=22,26,30 --track_id=Association,Projection,Commissure,Cerebellum --track_voxel_ratio=2.00 --trk_format=trk.gz --yield_rate=0.0000010000
Stdout:
e[1;34mDSI Studio version: Chen"陳" Jan 14 2026e[0m
│ DSI Studio version: Chen"陳"
│ action=atk
│ source={root_dir}/QSI/recon/qsirecon_work/qsirecon_1_2_wf/sub-PBI006_hbcd_postproc_beta/Subject1_ses_1_acq_PA_run_001_space_ACPC_desc_preproc_recon_wf/autotrackgqi/actual_trk/sub-Subject1_ses-1_acq-PA_run-001_space-ACPC_desc-preproc_dwi.src.gz.odf.gqi.1.25.fib.gz
│ loop={root_dir}/QSI/recon/qsirecon_work/qsirecon_1_2_wf/sub-Subject1_hbcd_postproc_beta/sub_Subject1_ses_1_acq_PA_run_001_space_ACPC_desc_preproc_recon_wf/autotrackgqi/actual_trk/sub-Subject1_ses-1_acq-PA_run-001_space-ACPC_desc-preproc_dwi.src.gz.odf.gqi.1.25.fib.gz
├─e[1;34mrun atke[0m
│ │ tolerance=22,26,30
│ │ track_voxel_ratio=2.00
│ │ yield_rate=0.0000010000
│ │ export_stat=1
│ │ export_trk=1
│ │ overwrite=0
│ │ export_template_trk=0
│ │ check_ending=1
│ │ thread_count=8
│ │ trk_format=trk.gz
│ │ stat_format=stat.txt
│ │ track_id=Association,Projection,Commissure,Cerebellum
│ │ output={root_dir}/QSI/recon/qsirecon_work/qsirecon_1_2_wf/sub-Subject1_hbcd_postproc_beta/sub_Subject1_ses_1_acq_PA_run_001_space_ACPC_desc_preproc_recon_wf/autotrackgqi/actual_trk
│ ├─e[1;34mautomatic fiber trackinge[0m
│ │ │ processing sub-Subject1_ses-1_acq-PA_run-001_space-ACPC_desc-preproc_dwi
│ │ │ template 0:"ICBM152_adult.QA.nii"
│ │ │ template 1:"C57BL6_mouse.QA.nii"
│ │ │ template 2:"dHCP_neonate.QA.nii"
│ │ │ template 3:"INDI_rhesus.QA.nii"
│ │ │ template 4:"Pitt_marmoset.QA.nii"
│ │ │ template 5:"WHS_SD_rat.QA.nii"
│ │ │ template=0
│ │ ├─e[1;34mtracking pathwayse[0m
│ │ │ │ Association_ArcuateFasciculusL
│ │ │ ├─e[1;34mopen FIB file sub-Subject1_ses-1_acq-PA_run-001_space-ACPC_desc-preproc_dwi.src.gz.odf.gqi.1.25.fib.gze[0m
│ │ │ │ │ loading fiber and image data
│ │ │ │ ├─e[1;34mloading image volumese[0m
│ │ │ │ │ └─7 ms
│ │ │ │ │ initiating data
│ │ │ │ │ FIB file loaded
│ │ │ │ └─586 ms
│ │ │ ├─e[1;34mloading tractography atlase[0m
│ │ │ │ └─0 ms
│ │ │ └─604 ms
│ │ └─625 ms
│ │ e[1;31mERROR:no tractography atlas in dHCP_neonate template at {root_dir}/QSI/recon/qsirecon_work/qsirecon_1_2_wf/sub-Subject1_hbcd_postproc_beta/Subject1_ses_1_acq_PA_run_001_space_ACPC_desc_preproc_recon_wf/autotrackgqi/actual_trk/sub-Subject1_ses-1_acq-PA_run-001_space-ACPC_desc-preproc_dwi.src.gz.odf.gqi.1.25.fib.gze[0m
│ └─642 ms
└─645 ms
Stderr:
Traceback:
Traceback (most recent call last):
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 404, in run
outputs = self.aggregate_outputs(runtime)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 433, in aggregate_outputs
predicted_outputs = self._list_outputs() # Predictions from _list_outputs
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsirecon/interfaces/dsi_studio.py", line 845, in _list_outputs
raise Exception("No map files found in " + str(cwd.absolute()))
Exception: No map files found in {root_dir}/QSI/recon/qsirecon_work/qsirecon_1_2_wf/sub-Subject1_hbcd_postproc_beta/sub_Subject1_ses_1_acq_PA_run_001_space_ACPC_desc_preproc_recon_wf/autotrackgqi/actual_trk
>