Problem applying h5-files from fmriprep outputs for reproduction of normalization
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 35
- Forks
- 18
- Avg merge
- 21h 48m
- Merged PRs (30d)
- 1
Description
Dear Developers,
currently I am aiming to reproduce the normalization steps in fmriprep (e.g. _desc-preproc_T1w.nii.gz -> 1_space-MNI152NLin6Asym_desc-preproc_T1w.nii.gz) with nitransforms. The bigger goal is to check bit-identity between fmriprep outputs and manually produced normalization outputs allowing us to easily reproduce just the normalization with datalad (rerun) and hence throw away the normalized images alleviating our storage issues. Not being able to identify the exact code related to the normalization in the fmriprep and smriprep code base I was trying to achieve a normalization with the .h5-file produced by fmriprep (_from-T1w_to-MNI152NLin6Asym_mode-image_xfm.h5).
If I understand the documentation correctly loading the h5-file with nt.manip.load and applying / mapping it subsequently should do the job.
My code:
T1w = nib.load("sub-000480a3_ses-1_desc-preproc_T1w.nii.gz")
T1w_MNI_ref = nib.load("sub-000480a3_ses-1_space-MNI152NLin6Asym_desc-preproc_T1w.nii.gz")
xfm = nt.manip.load("sub-000480a3_ses-1_from-T1w_to-MNI152NLin6Asym_mode-image_xfm.h5", reference=T1w_MNI_ref, moving=T1w)
T1w_MNI = xfm.apply(T1w)
However, when visualising the resulting T1w_MNI with T1w_MNI.orthoview() the image is empty / black.
I was also messing around with other approaches with no avail.
Is there a suggested way to apply the transforms? I would also greatly appreciate recommendations regarding the exact reproduction of fmriprep normalizations.
Thanks a lot in advance.
Cheers,
Marvin
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the supplied nt.manip.load and xfm.apply calls, using the T1w image, MNI reference, and fMRIPrep-produced H5 transform. Compare the resulting orthoview with T1w_MNI_ref and determine the supported application path; done means the transformed image is non-empty and the normalization can be reproduced consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100