Qsirecon_Error during execution

Summary:

Hello Team, please I need assistance,

I ran qsirecon vs 1.0.0rc1 on my qsiprep derivatives but have consistently encountered some errors that I can’t rectify. It keeps failing though some outputs generate but are incomplete.

Command used:

# Execute QSIrecon with Apptainer
apptainer run \
    -e \
    --writable-tmpfs \
    -B $inputPath:$inputPath \
    -B $outPath:$outPath \
    -B $cachePath:$cachePath \
    -B $licFile:/opt/freesurfer/license.txt \
    qsirecon-1.0.0rc1.sif \
    $inputPath \
    $outPath \
    participant \
    --fs-license-file /opt/freesurfer/license.txt \
    --recon-spec mrtrix_singleshell_ss3t_noACT \
    --input-type qsiprep \
    --b0-threshold 100 \
    --report-output-level session \
    --atlases AAL116 \
    --output-resolution 1.2 \
    --stop-on-first-crash \
    --debug all \
    --low-mem \
    -w $cachePath \
    --notrack \
    -v 

Version

1.0.0rc1

Environment

Singularity / Apptainer

Relevant log outputs (up to 20 lines):

Node: qsirecon_1_0_wf.sub-NCANDA00033_mrtrix_singleshell_ss3t_noACT.sub_NCANDA00033_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf.ss3t_csd.estimate_response
Working directory: /work/wanglab/eugwueke/datasets/NCANDA_sub33/cache/03_qsireconv3/qsirecon_1_0_wf/sub-NCANDA00033_mrtrix_singleshell_ss3t_noACT/sub_NCANDA00033_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/estimate_response

Node inputs:

algorithm = dhollander
args = <undefined>
bval_scale = <undefined>
csf_file = <undefined>
environ = {}
gm_file = <undefined>
grad_file = <undefined>
grad_fsl = <undefined>
in_bval = <undefined>
in_bvec = <undefined>
in_file = /work/wanglab/eugwueke/datasets/NCANDA_sub33/cache/03_qsireconv3/qsirecon_1_0_wf/sub-NCANDA00033_mrtrix_singleshell_ss3t_noACT/sub_NCANDA00033_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/create_mif/sub-NCANDA00033_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi.mif
in_mask = /work/wanglab/eugwueke/datasets/NCANDA_sub33/cache/03_qsireconv3/qsirecon_1_0_wf/sub-NCANDA00033_mrtrix_singleshell_ss3t_noACT/sub_NCANDA00033_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_dwi_specific_anat_wf/resample_mask/sub-NCANDA00033_ses-Y01_space-ACPC_desc-brain_mask_trans.nii.gz
max_sh = <undefined>
mtt_file = <undefined>
nthreads = 8
out_bval = <undefined>
out_bvec = <undefined>
wm_file = <undefined>

Traceback (most recent call last):
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/plugins/linear.py", line 46, in run
    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 estimate_response.

Cmdline:
	dwi2response dhollander -mask /work/wanglab/eugwueke/datasets/NCANDA_sub33/cache/03_qsireconv3/qsirecon_1_0_wf/sub-NCANDA00033_mrtrix_singleshell_ss3t_noACT/sub_NCANDA00033_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_dwi_specific_anat_wf/resample_mask/sub-NCANDA00033_ses-Y01_space-ACPC_desc-brain_mask_trans.nii.gz -nthreads 8 /work/wanglab/eugwueke/datasets/NCANDA_sub33/cache/03_qsireconv3/qsirecon_1_0_wf/sub-NCANDA00033_mrtrix_singleshell_ss3t_noACT/sub_NCANDA00033_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/create_mif/sub-NCANDA00033_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi.mif sub-NCANDA00033_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_wm.txt sub-NCANDA00033_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_gm.txt sub-NCANDA00033_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_csf.txt
Stdout:

Stderr:
	dwi2response: 
	dwi2response: Note that this script makes use of commands / algorithms that have relevant articles for citation. Please consult the help page (-help option) for more information.
	dwi2response: 
	dwi2response: Generated scratch directory: /work/wanglab/eugwueke/datasets/NCANDA_sub33/cache/03_qsireconv3/qsirecon_1_0_wf/sub-NCANDA00033_mrtrix_singleshell_ss3t_noACT/sub_NCANDA00033_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/estimate_response/dwi2response-tmp-PC4VB5/
	dwi2response: Importing DWI data (/work/wanglab/eugwueke/datasets/NCANDA_sub33/cache/03_qsireconv3/qsirecon_1_0_wf/sub-NCANDA00033_mrtrix_singleshell_ss3t_noACT/sub_NCANDA00033_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/create_mif/sub-NCANDA00033_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi.mif)...
	dwi2response: Importing mask (/work/wanglab/eugwueke/datasets/NCANDA_sub33/cache/03_qsireconv3/qsirecon_1_0_wf/sub-NCANDA00033_mrtrix_singleshell_ss3t_noACT/sub_NCANDA00033_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_dwi_specific_anat_wf/resample_mask/sub-NCANDA00033_ses-Y01_space-ACPC_desc-brain_mask_trans.nii.gz)...
	dwi2response: Changing to scratch directory (/work/wanglab/eugwueke/datasets/NCANDA_sub33/cache/03_qsireconv3/qsirecon_1_0_wf/sub-NCANDA00033_mrtrix_singleshell_ss3t_noACT/sub_NCANDA00033_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/estimate_response/dwi2response-tmp-PC4VB5/)
	dwi2response: -------
	dwi2response: 2 unique b-value(s) detected: 0,1000 with 2,60 volumes
	dwi2response: -------
	dwi2response: Preparation:
	dwi2response: * Eroding brain mask by 3 pass(es)...
	dwi2response:   [ mask: 848943 -> 727114 ]
	dwi2response: * Computing signal decay metric (SDM):
	dwi2response:  * b=0...
	dwi2response:  * b=1000...
	dwi2response: * Removing erroneous voxels from mask and correcting SDM...
	dwi2response:   [ mask: 727114 -> 161231 ]
	dwi2response: -------
	dwi2response: Crude segmentation:
	dwi2response: * Crude WM versus GM-CSF separation (at FA=0.2)...
	dwi2response:   [ 161231 -> 161226 (WM) & 5 (GM-CSF) ]
	dwi2response: * Crude GM versus CSF separation...
	dwi2response:   [ 5 -> 4 (GM) & 1 (CSF) ]
	dwi2response: -------
	dwi2response: Refined segmentation:
	dwi2response: * Refining WM...
	dwi2response:   [ WM: 161226 -> 140557 ]
	dwi2response: * Refining GM...
	dwi2response:   [ GM: 4 -> 2 ]
	dwi2response: * Refining CSF...
	dwi2response:   [ CSF: 1 -> 20 ]
	dwi2response: -------
	dwi2response: Final voxel selection and response function estimation:
	dwi2response: * CSF:
	dwi2response:  * Selecting final voxels (10.0% of refined CSF)...
	dwi2response:    [ CSF: 20 -> 2 ]
	dwi2response:  * Estimating response function...
	dwi2response: * GM:
	dwi2response:  * Selecting final voxels (2.0% of refined GM)...

	dwi2response: [ERROR] mrcalc refined_gm.mif safe_sdm.mif 0.205439314 -subtract -abs 1 -add 0 -if - | mrthreshold - - -bottom 0 -ignorezero | mrcalc refined_gm.mif - 0 -if - -datatype bit | mrconvert - voxels_gm.mif -axes 0,1,2 (dhollander.py:228)
	dwi2response: [ERROR] Information from failed command:
	dwi2response:
	              mrcalc: computing: (refined_gm.mif ? (|(safe_sdm.mif - 0.205439)| + 1) : 0)... [==================================================]
	              mrthreshold: [ERROR] value supplied for option "bottom" is out of bounds (valid range: 1 to 9223372036854775807, value supplied: 0)
	              mrcalc: [ERROR] Could not interpret string "-" as either an image path or a numerical value
	              mrcalc: [ERROR] As image: 
	              mrcalc: [ERROR] no filename supplied to standard input (broken pipe?)
	              mrcalc: [ERROR] error opening image "-"
	              mrcalc: [ERROR] As numerical value: 
	              mrcalc: [ERROR] error converting string "-" to complex float (no valid conversion)
	              mrconvert: [ERROR] no filename supplied to standard input (broken pipe?)
	              mrconvert: [ERROR] error opening image "-"
	dwi2response:
	dwi2response: [ERROR] For debugging, inspect contents of scratch directory: /work/wanglab/eugwueke/datasets/NCANDA_sub33/cache/03_qsireconv3/qsirecon_1_0_wf/sub-NCANDA00033_mrtrix_singleshell_ss3t_noACT/sub_NCANDA00033_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/estimate_response/dwi2response-tmp-PC4VB5/
	dwi2response: Scratch directory retained; location: /work/wanglab/eugwueke/datasets/NCANDA_sub33/cache/03_qsireconv3/qsirecon_1_0_wf/sub-NCANDA00033_mrtrix_singleshell_ss3t_noACT/sub_NCANDA00033_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/estimate_response/dwi2response-tmp-PC4VB5/
Traceback:
	RuntimeError: subprocess exited with code 1.


Hi @eUgwueke,

Do you get this error for all subjects or just some? This might be an image quality related error. Additionally (not related to error) I’ll suggest that you do not use the noACT pipelines. The best streamlines come from the HSVS pipelines which use freesurfer.

Best,
Steven

I just ran with one subject and all sessions have that error.
Based on your recommendation, I will run Freesurfer and try that out as well.

Thanks

Hi @eUgwueke,

You might want to try another subject too, and using the slightly more recent 1.0.0rc2.

Best,
Steven

1 Like

Hello Steven, I tried with another subject using

# Execute QSIrecon with Apptainer
apptainer run \
    -e \
    --writable-tmpfs \
    -B $inputPath:$inputPath \
    -B $outPath:$outPath \
    -B $cachePath:$cachePath \
    -B $licFile:/opt/freesurfer/license.txt \
    qsirecon-1.0.0rc2.sif \
    $inputPath \
    $outPath \
    participant \
    --fs-license-file /opt/freesurfer/license.txt \
    --recon-spec mrtrix_multishell_msmt_ACT-hsvs \
    --input-type qsiprep \
    --report-output-level session \
    --atlases AAL116 4S156Parcels \
    --stop-on-first-crash \
    --fs-subjects-dir $fsdir \
    --debug all \
    --low-mem \
    -w $cachePath \
    --notrack \
    -v

but I still get error in the log file as

Node: qsirecon_1_0_wf.sub-NCANDA00095_mrtrix_multishell_msmt_hsvs.sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf.msmt_csd.intensity_norm
Working directory: /work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsireconv2/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_multishell_msmt_hsvs/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/msmt_csd/intensity_norm

Node inputs:

args = <undefined>
bval_scale = <undefined>
csf_normed_odf = <undefined>
csf_odf = /work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsireconv2/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_multishell_msmt_hsvs/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/msmt_csd/estimate_fod/sub-NCANDA00095_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_csf.mif
environ = {}
gm_normed_odf = <undefined>
gm_odf = /work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsireconv2/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_multishell_msmt_hsvs/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/msmt_csd/estimate_fod/sub-NCANDA00095_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_gm.mif
grad_file = <undefined>
grad_fsl = <undefined>
in_bval = <undefined>
in_bvec = <undefined>
inlier_mask = inliers.nii.gz
mask_file = /work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsireconv2/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_multishell_msmt_hsvs/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_dwi_specific_anat_wf/resample_mask/sub-NCANDA00095_ses-Y01_space-ACPC_desc-brain_mask_trans.nii.gz
norm_image = norm.nii.gz
nthreads = 8
out_bval = <undefined>
out_bvec = <undefined>
wm_normed_odf = <undefined>
wm_odf = /work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsireconv2/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_multishell_msmt_hsvs/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/msmt_csd/estimate_fod/sub-NCANDA00095_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_wm.mif

Traceback (most recent call last):
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/plugins/linear.py", line 46, in run
    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 intensity_norm.

Cmdline:mtnormalise: [100%] uncompressing image "/work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsireconv2/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_multishell_msmt_hsvs/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_dwi_specific_anat_wf/resample_mask/sub-NCANDA00095_ses-Y01_space-ACPC_desc-brain_mask_trans.nii.gz"e[0K

	mtnormalise: [100%] performing log-domain intensity normalisatione[0K
	mtnormalise: e[01;31m[ERROR] Non-positive tissue balance factor was computed. Balance factors: -nan -nan -nane[0m
Traceback:
	RuntimeError: subprocess exited with code 1.

I have tried different things but stuck at this point. Need assistance

Hi @eUgwueke,

You switched recon-specs here. Based on the log in your first image, you only have single-shell data (b=1000). Why did you switch to MSMT? Unless, is this a different acquisition protocol? And how many different subjects got that error, because that is a different one than your first post, and may indicate a poor quality image.

Best,
Steven

Yeah. Just as I said that i tried different things. The are of the same acquisition, I just wanted to find out what could be the underlying issue.

Here is also the error using singleshell

Node: qsirecon_1_0_wf.sub-NCANDA00095_mrtrix_singleshell_ss3_hsvst.sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf.ss3t_csd.intensity_norm
Working directory: /work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsirecon/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_singleshell_ss3_hsvst/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/intensity_norm

Node inputs:

args = <undefined>
bval_scale = <undefined>
csf_normed_odf = <undefined>
csf_odf = /work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsirecon/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_singleshell_ss3_hsvst/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/estimate_fod/sub-NCANDA00095_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_csf.mif
environ = {}
gm_normed_odf = <undefined>
gm_odf = /work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsirecon/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_singleshell_ss3_hsvst/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/estimate_fod/sub-NCANDA00095_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_gm.mif
grad_file = <undefined>
grad_fsl = <undefined>
in_bval = <undefined>
in_bvec = <undefined>
inlier_mask = inliers.nii.gz
mask_file = /work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsirecon/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_singleshell_ss3_hsvst/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_dwi_specific_anat_wf/resample_mask/sub-NCANDA00095_ses-Y01_space-ACPC_desc-brain_mask_trans.nii.gz
norm_image = norm.nii.gz
nthreads = 8
out_bval = <undefined>
out_bvec = <undefined>
wm_normed_odf = <undefined>
wm_odf = /work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsirecon/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_singleshell_ss3_hsvst/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/estimate_fod/sub-NCANDA00095_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_wm.mif

Traceback (most recent call last):
  File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/plugins/linear.py", line 46, in run
    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 intensity_norm.

Cmdline:
	mtnormalise /work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsirecon/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_singleshell_ss3_hsvst/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/estimate_fod/sub-NCANDA00095_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_wm.mif sub-NCANDA00095_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_wm_mtnorm.mif /work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsirecon/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_singleshell_ss3_hsvst/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/estimate_fod/sub-NCANDA00095_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_gm.mif sub-NCANDA00095_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_gm_mtnorm.mif /work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsirecon/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_singleshell_ss3_hsvst/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_recon_wf/ss3t_csd/estimate_fod/sub-NCANDA00095_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_csf.mif sub-NCANDA00095_ses-Y01_acq-dti60b1000_space-ACPC_desc-preproc_dwi_csf_mtnorm.mif -check_mask inliers.nii.gz -mask /work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsirecon/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_singleshell_ss3_hsvst/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_dwi_specific_anat_wf/resample_mask/sub-NCANDA00095_ses-Y01_space-ACPC_desc-brain_mask_trans.nii.gz -check_norm norm.nii.gz -nthreads 8
Stdout:

Stderr:
	e[?7l
	mtnormalise: [  2%] uncompressing image "/work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsirecon/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_singleshell_ss3_hsvst/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_dwi_specific_anat_wf/resample_mask/sub-NCANDA00095_ses-Y01_space-ACPC_desc-brain_mask_trans.nii.gz"...e[0Ke[?7he[?7l
	mtnormalise: [  4%] uncompressing image "/work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsirecon/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_singleshell_ss3_hsvst/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_dwi_specific_anat_wf/resample_mask/sub-NCANDA00095_ses-Y01_space-ACPC_desc-brain_mask_trans.nii.gz"...e[0Ke[?7he[?7l
	mtnormalise: [  6%] mtnormalise: [100%] uncompressing image "/work/wanglab/eugwueke/datasets/NCANDA_sub95/cache/04_qsirecon/qsirecon_1_0_wf/sub-NCANDA00095_mrtrix_singleshell_ss3_hsvst/sub_NCANDA00095_ses_Y01_acq_dti60b1000_space_ACPC_desc_preproc_dwi_specific_anat_wf/resample_mask/sub-NCANDA00095_ses-Y01_space-ACPC_desc-brain_mask_trans.nii.gz"e[0K

	mtnormalise: [100%] performing log-domain intensity normalisatione[0K
	mtnormalise: e[01;31m[ERROR] Non-positive tissue balance factor was computed. Balance factors: -nan -nan -nane[0m
Traceback:
	RuntimeError: subprocess exited with code 1. 

Here is the code I used

# Execute QSIrecon with Apptainer
apptainer run \
    -e \
    --writable-tmpfs \
    -B $inputPath:$inputPath \
    -B $outPath:$outPath \
    -B $cachePath:$cachePath \
    -B $licFile:/opt/freesurfer/license.txt \
    qsirecon-1.0.0rc2.sif \
    $inputPath \
    $outPath \
    participant \
    --fs-license-file /opt/freesurfer/license.txt \
    --recon-spec mrtrix_singleshell_ss3t_ACT-hsvs \
    --input-type qsiprep \
    --report-output-level session \
    --atlases AAL116 4S156Parcels 4S256Parcels 4S456Parcels \
    --output-resolution 2.0 \
    --stop-on-first-crash \
    --fs-subjects-dir $fsdir \
    --debug all \
    --low-mem \
    -w $cachePath \
    --notrack \
    -v

Hi @eUgwueke,

Please use tick marks to format your code better (i.e., using the </> button in the text editor). You can see I’ve been editing your posts for readability.

If you have single shell data you should only use SS3T. How many subjects have you tried that give you that error? It does appear to still be different than the first error you posted.

Best,
Steven

1 Like