3dUnifize at aslprep

Hello,

Summary of what happened

We have ran ASLprep (v.0.7.2) on our data. We are wondering why aslprep is performing 3dUnifize -clfrac 0.2 -rbt 18.3 65.0 90.0 -prefix uni.nii.gz -T2 -input. We have read that 3dUnifize is mainly intended for t1 or t2 data (AFNI program: 3dUnifize). These images are impacting the mask, which is then applied to our cbf map. For which reason is 3dUnifize in aslref? How it may be improving processing?

Command used (and if a helper script was used, a link to the helper script or the command generated):

aslprep \
    neurodesktop-storage/heartybrain/BIDS \
    neurodesktop-storage/heartybrain/BIDS/derivatives/aslprep \
    participant \
    --participant-label sub-897\
    --force-bbr \
    --basil \
    --ignore t2w \
    --fs-subjects-dir /Users/heartybrain/neurodesktop-storage/heartybrain/BIDS/derivatives/freesurfer/sourcedata/freesurfer_pre/sourcedata \
    --bids-filter-file neurodesktop-storage/heartybrain/BIDS/BIDS_filter_file.json \
    --fs-license-file neurodesktop-storage/heartybrain/BIDS/license.txt \
    -vv \
    -w neurodesktop-storage/heartybrain/BIDS

Version:

0.7.2

Environment (Docker, Singularity / Apptainer, custom installation):

Docker

Data formatted according to a validatable standard? Please provide the output of the validator:

PASTE VALIDATOR OUTPUT HERE

Relevant log outputs (up to 20 lines):

PASTE LOG OUTPUT HERE

Screenshots / relevant information:

Below I am showing two examples of the outputs of this command:


Hi @lucia_sanchez_aranda. Do you know what workflow in ASLPrep is applying 3dUnifize? I think it’s probably something that was repurposed from fMRIPrep but I don’t see it.

Hello @tsalo. It is within the asl preprocessing, it is located in asl_fit_wf/enhance_aslref_wf/unifize directories.

Hello!! still wondering for which reason is 3dunifize performed, which is the aim?

I was using the init_enhance_and_skullstrip_bold_wf workflow from Niworkflows, which applies 3dUnifize to enhance the contrast of the reference image. If that particular step causes problems with ASL data, then I can create a copy of the workflow without it. I’ve opened an ASLPrep issue about this: 3dUnifize may not work well with ASL data · Issue #490 · PennLINC/aslprep · GitHub. Hopefully I’ll have a chance to address this soon, but if you need it fixed ASAP then it should be pretty straightforward to make a copy of the function in ASLPrep, remove the 3dUnifize step, and swap out the old function for the new one in the ASLPrep workflow.