Aslprep bids siemens 2D picore

Hi everyone,

I’m trying to analyse my ASL data with aslprep. We used the Siemens product PASL sequence ASL_2D_tra with PICORE labeling and BolusCutOffTechnique “Q2TIPS”. The M0 image is included as first image in the series.
I have adjusted the corresponding asl.json files accordingly.

“ArterialSpinLabelingType”: “PASL”,
“SliceTiming”: [0,0.0425,0.085,0.13,0.1725,0.215,0.26,0.3025,0.345,0.39,0.4325,0.475,0.52,0.5625,0.605,0.65],
“PostLabelingDelay”: 1.800,
“BackgroundSuppression”:false,
“LookLocker”:false,
“M0Type”: “Included”,
“TotalAcquiredPairs”:39,
“VascularCrushing”:false,
“LabelingLocationDescription”:“Labeling slab parallel to the imaging volume with a 2.75 cm gap”,
“PASLType”:“PICORE”,
“LabelingSlabThickness”:100,
“BolusCutOffFlag”:true,
“BolusCutOffDelayTime”:0.7,
“BolusCutOffTechnique”: “Q2TIPS”,
“LabelingEfficiency”:0.95,

Howver, when I try to run the script using docker, I got the following output
Running ASLPREP version 0.5.1rc1:
* BIDS dataset path: /data.
* Participant list: [‘4438’].
* Run identifier: 20230928-122855_38be3844-d421-4a09-8462-cb0fb7e1531a.
* Output spaces: MNI152NLin2009cAsym:res-native.
230928-12:29:26,412 nipype.workflow IMPORTANT:
Processing /data/sub-4438/ses-V0/perf/sub-4438_ses-V0_run-1_asl.nii.gz
230928-12:29:26,549 nipype.workflow INFO:
Collected run data for /data/sub-4438/ses-V0/perf/sub-4438_ses-V0_run-1_asl.nii.gz:
aslcontext: /data/sub-4438/ses-V0/perf/sub-4438_ses-V0_run-1_aslcontext.tsv
m0scan: null
sbref: null

Process Process-2:

File “/usr/local/miniconda/lib/python3.8/site-packages/aslprep/workflows/asl/cbf.py”, line 185, in init_compute_cbf_wf
raise ValueError(“PASL without a bolus cut-off technique is not supported in ASLPrep.”)
ValueError: PASL without a bolus cut-off technique is not supported in ASLPrep.

I tried also “BolusCutOffDelayTime”:[0.7,1.6], but the error is always the same (1.6 might be TIs).

Interestingly, when I’m using dcm2niix to for nifti conversion, I receive the parameters BolusDuration = 0.7 and InversionTime = 1.8.
It seems that 0.7 (TI1) refers to BolusCutOffDelayTime[1] and 1.8 to PostlabelingDelay (TI2).

Any ideas what went wrong. Unfortunately all the mentioned DICOM Tags 0018,925F; 0018,925E; 0018,925C are not listed in our DICOM files.

Best,
Ralf

Hello, I suggest you contact the ExploreASL team. They have reverse engineered some useful values, and they also formalized different BIDS names than used by the Siemens PDFs (which dcm2niix copied verbatim). Unfortunately, until they update their license, I am unable to look at their code to improve dcm2niix (as it would compromise the permissive open license).

I think I see the problem. It’s a bug in ASLPrep. I’ll push a fix ASAP.

The error is not due to that, but BIDS does require two values for BolusCutOffDelayTime with Q2TIPS, so you should retain that change.

I saw that you made some changes due to a typo in github (#328). However, when I pull the newest docker version I got the information
latest: Pulling from pennlinc/aslprep
Digest: sha256:46a36a1e31333f52d7033e3922c7c8645cb34cfc7b22b0f66e614f74c838002c
Status: Image is up to date for pennlinc/aslprep:latest
docker.io/pennlinc/aslprep:latest
Could you inform me, when I can pull the docker version with the changes or is there another way to fix the problem?

I haven’t made a release since merging that PR, so latest hasn’t changed. Try pulling unstable. That will have the most recent changes from GitHub.