What is the structure of HDF5 / h5 file

I use ANTs GitHub - ANTsX/ANTs: Advanced Normalization Tools (ANTs) to to create deformation fields in HDF5 format.
ANTs h5 transform files come from the ITK underlying IO system.

I would like to understand the structure of these h5 files to enable conversion from Elastix .nii file to .h5 file.
However, I do not understand all the values that are in the file. It contains a group “TransformGroup” which in turn contains groups “0”, “1” and “2”.

For example, “1” and “2” contains a dataset “TransformFixedParameters”. But I don’t understand what the values represent.

Does taking a look at this section and the rest of this file help?

Thank you, but not really. I am not that familial with C++. I read the code and the method WriteFixedParameters but I can’t figure out what information transformFixedNameMisspelled, transformParamsNameMisspelled and transformFixedName store. in the ANTs-HDF5-file.

This comment explains the 0,1,2 group names?

For conversion, maybe read in the .nii image, set it to a DisplacementFieldTransform, and then write it using TransformFileWriter?


The TransformFixedParameters are the transformation parameters that are not optimized during registration. Other parameters are optimized during registration. Transform parameters are described in the ITK Software Guide.