I met an error on the step of asl_correction when running hcp-asl pipeline on HCPD data. I successfully installed hcp-asl pipeline and set up the environment.
studydir=/ibmgpfs/cuizaixu_lab/xuxiaoyu/HCPD/bidsorig
subid=$1
export StudyFolder="$studydir"
struct=$studydir/${subid}/T1w/T1w_acpc_dc_restore.nii.gz
sbrain=$studydir/${subid}/T1w/T1w_acpc_dc_restore_brain.nii.gz
mbpcasl=$studydir/${subid}/mbPCASLhr/${subid}_V1_MR_mbPCASLhr_PA.nii.gz
fmap_ap=$studydir/${subid}/mbPCASLhr/${subid}_V1_MR_PCASLhr_SpinEchoFieldMap_AP.nii.gz
fmap_pa=$studydir/${subid}/mbPCASLhr/${subid}_V1_MR_PCASLhr_SpinEchoFieldMap_PA.nii.gz
WMPARC=$studydir/${subid}/T1w/wmparc.nii.gz
RIBBON=$studydir/${subid}/T1w/ribbon.nii.gz
cores=4
Atlas=/ibmgpfs/cuizaixu_lab/xuxiaoyu/softwarepackages/hcp-asl/hcpasl/resources/vascular_territories_atlas.nii.gz
Labels=/ibmgpfs/cuizaixu_lab/xuxiaoyu/softwarepackages/hcp-asl/hcpasl/resources/vascular_territories_atlas_labels.txt
outdir=/ibmgpfs/cuizaixu_lab/xuxiaoyu/HCPD/aslresults
echo "running hcpasl for ${subid}"
# hcpasl
hcp_asl --studydir $studydir --subid ${subid} -s $struct --sbrain $sbrain --mbpcasl $mbpcasl --fmap_ap $fmap_ap --fmap_pa $fmap_pa --use_t1 --wmparc $WMPARC --ribbon $RIBBON -c $cores --outdir $outdir -v
And I tested this script on one subject 'HCD0001305'. The error occurred on the step of asl_correction.
0%Traceback (most recent call last):
File "/home/cuizaixu_lab/xuxiaoyu/.local/bin/hcp_asl", line 8, in <module>
sys.exit(main())
File "/home/cuizaixu_lab/xuxiaoyu/.local/lib/python3.7/site-packages/scripts/run_pipeline.py", line 613, in main
wbdir=args.wbdir
File "/home/cuizaixu_lab/xuxiaoyu/.local/lib/python3.7/site-packages/scripts/run_pipeline.py", line 172, in process_subject
outdir=outdir)
File "/home/cuizaixu_lab/xuxiaoyu/.local/lib/python3.7/site-packages/hcpasl/asl_correction.py", line 574, in single_step_resample_to_asl0
t1_name = _saturation_recovery(asl_corr, satrecov_dir, NTIS, IAF, IBF, TIS, RPTS)
File "/home/cuizaixu_lab/xuxiaoyu/.local/lib/python3.7/site-packages/hcpasl/asl_correction.py", line 243, in _saturation_recovery
_satrecov_worker(control_name, results_dir, tis, rpts, ibf, spatial=False)
File "/home/cuizaixu_lab/xuxiaoyu/.local/lib/python3.7/site-packages/hcpasl/asl_correction.py", line 162, in _satrecov_worker
run = fab.run(options, progress_cb=percent_progress(sys.stdout))# Basic interaction with the run output
File "/home/cuizaixu_lab/xuxiaoyu/.local/lib/python3.7/site-packages/fabber/api_cl.py", line 263, in run
self._call(options, output=out_subdir, stdout_handler=stdout_handler, simple_output=True, data_options=True)
File "/home/cuizaixu_lab/xuxiaoyu/.local/lib/python3.7/site-packages/fabber/api_cl.py", line 355, in _call
raise FabberClException(errmsg, retcode, options.get("output", ""))
fabber.api_cl.FabberClException: FabberException: 1: Invalid value given for option: ti<n>=5 (Number of TIs does not match number of volumes in data)
I checked the files generated by the program interrupt, the volume number of tis.nii.gz is 86, tis_mtcorr.nii.gz is 86, and tis_mtcorr_odd & tis_mtcorr_even both have 43 volumes.
Do you have any suggestion about how to avoid this error?