dHCP structural to template

Dear all,

I encountered some issues transforming the dHCP structural data to the template.

For example, when I run:

applywarp -i sub-CC00094AN13_ses-33500_T2w.nii.gz -r age_templates/T2/template-40.nii.gz -o OUT.nii.gz -w sub-CC00094AN13_ses-33500_from-T2w_to-serag40wk_mode-image.nii.gz

The output is completely off:

The same process works for some subjects, but not all of them. Do you know what could be happening? Thanks in advance

Best regards,

Manue.

Hi @mblesac

Firstly, can you confirm that age_templates/T2/template-40.nii.gz is the serag atlas available at the following link?

https://brain-development.org/brain-atlases/neonatal-brain-atlases

If not, then this is not the correct warp to use.

Cheers, Sean

Hi @seanfitz,

Technically speaking, it is not the same template, I think the structural pipeline uses a modified version of that template with eroded CSF. This is the one I use.

Both templates are exactly in the same space (again, is just Serag’s template with some erosion in the CSF), so the warps should work for both templates.

For some of the other subjects the same command works perfect, see the results of the subject CC00066XX09

Best regards,

Manuel

Hi,

Any insights on this? Thanks in advance.

Best regards,

Manuel

Hi Manuel

Sorry about the delay.

I can replicate your experience and it seems to me that this is just a failed registration.

I am not an expert on the structural pipeline, however I believe that the registration to the serag atlas is only used to propagate labels as a starting point for segmentation. As long as the subsequent segmentation was good, it is possible that the registration failure was never identified. I will following up the with structural pipeline team.

Is there a particular reason you want the serag atlas? In fMRI pipeline derivatives we supply a very good registration from the native T2 to the dHCP atlas (40week), and from there we also provide and MNI alignment. You might do better with that registration.

Cheers, Sean

Hi @seanfitz,

Thanks for your reply! I was trying to get the average of some maps, and I used that template because it was the transformations I had at hand. I will look into the ones provided with the fmri pipeline and use those.

Best regards,

Manuel

Hi Manuel

I think you will do better with the dHCP atlas space (extdhcp40wk). The transforms have been carefully checked, and we also provide transforms for fMRI and dMRI to this space as well.

The T2w-to-extdhcp40wk transform you will need from the fMRI pipeline is:

derivatives/dhcp_fmri_pipeline/sub-{subid}/ses-{sesid}/xfm/sub-{subid}_ses-{sesid}_from-T2w_to-extdhcp40wk_mode-image.nii.gz

And the extended dHCP atlas can be downloaded here:

The transform was calculated as follows:

Nonlinear diffeomorphic multimodal registration of the age-matched T2w and GM/WM tissue probability from the dHCP volumetric atlas to the subjects T2w and GM/WM tissue probability using ANTs SyN. The GM/WM probability for each subject was calculated as the partial volume estimate from a tool called Toblerone. We have augmented the dHCP volumetric atlas with week-to-week nonlinear transforms estimated using a diffeomorphic T2w registration (ANTs SyN). The appropriate transforms are then combined to yield a (40 week) template-to-structural transform

Cheers, Sean

1 Like

Hi @seanfitz,

Is the code for this registration available? I assume is part of the fMRI pipeline, am I correct? I would like to implement it for my cohort and the have the same registration in my dataset and the dHCP. I am only interested in the registration of the structural and the diffusion (as I don’t have fMRI). Thanks in advance.

Best regards,

Manuel

Hi,

Is this the corresponding script for this? dhcp/func/registration.py · master · Sean Fitzgibbon / dhcp-neonatal-fmri-pipeline · GitLab I was reading it and there is no invocation to toblerone. I can create the PVM with any software? for example adding the corresponding TPM obtained from the dHCP pipeline? Thanks in advance.

Best regards,

Manuel

Hi Manuel

The actual registration (but not the PVE) is performed with the code you referenced. The PVE could in principal be done with other software, but my invocation of Toblerone is here:

I have also attached my script that calls both Toblerone PVE and the registration (just remove the .txt extension). It is specific to our cluster and the location of data and atlases on the cluster, but hopefully it will get you going.

Cheers, Sean

run_standard.py.txt (5.0 KB)