Problems with Registration Fusion

Dear All,

I am using the following example for my own purposes:
http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/Python_html/60_Registration_Introduction.html

Below is an excerpt of the manual of ITK saying that the tree rotational parameters are not linear. Even below is the result of a successful registration (TFM file). It was extracted the region of interest (ROI) of two images and it was done the registration. And the operations of rotation and of shift of the transform of the TFM file were done on the original (bigger file from where it was taken the region of interest) moving image and it do not match with the bigger fixed image. The central points for rotation were converted from the Region of interest images to the bigger ones. (some other registrations worked). The central points of the ROI images are the geometry points (see the example).

Is there some distortion because the rotation parameters are no linear? If so how to proceed?

Thanks in Advance,

Luis Gonçalves

Manual ITK:

The itk::Euler3DTransform implements a rigid transformation in 3D space. It can be seen as
a rotation followed by a translation. This class exposes six parameters, three for the Euler angles
that represent the rotation and three for the translational components. This transform also allows the
users to set a specific center of rotation. The center coordinates are not modified during the optimization performed in a registration process. The main features of this transform are summarized in Table 3.12.
Three rotational parameters are non-linear and do not behave like Vector spaces. This must be taken
into account when selecting an optimizer to work with this transform and when fine tuning the
parameters of the optimizer.

#Insight Transform File V1.0
#Transform 0
Transform: CompositeTransform_double_3_3
#Transform 1
Transform: Euler3DTransform_double_3_3
Parameters: 0.022339193565681897 -0.10614218282031297 -0.005968752506607872 0.5843942461161764 -2.447436642129231 -1.9773028691846155
FixedParameters: 76.64999999999999 74.85 54.6 0

Hello @Luis_Carlos_Carneiro,

Can you please clarify. I’m not sure what exactly is the problem you are having. Is it that the registration results in a transformation that doesn’t align your two images? I didn’t understand if you were using smaller ROIs and then applying the resulting transformation to the original images. Are the smaller ROI images aligned correctly?

It would be easier for us to help if you could share your code and resulting images (I know that this is not always possible, in which case you can use similar public images just to illustrate your problem).

Besides that. How offsets in the MHD files headers changes the registration? Even if the two are the same in both files.

Hello @Luis_Carlos_Carneiro,

The offset in the mhd file is the image origin. This is part of the information used to define the location, orientation and extent of the image in physical space. This is the information used by the registration to align the two images. If you change the offset in the mhd you are moving the image’s location in physical space. This will change the registration results as they will account for this motion. For a more detailed description, please see the fundamental concepts on read-the-docs.

1 Like

Good Morning,

It is like that It is done the Registration of the the ROI images and then it is made the fusion of the bigger images with the information of the transform parameters. The central points are the Geometric Centers. But I am getting (very) good results only with the ROIs mhd images with about the same size (dimensions). That is why I am asking about the no linearity of the rotations.

Thanks,

Luis Gonçalves

Please, Can you confirm? There are two center points (Geometry), one of the fixed image in half the dimensions (of the fixed image) and other of the moving image in half the dimensions (of the moving image). The two center points are aligned. The rotation of the transform is done in the moving image and in turn of the correspondent center. First the rotation and then the shift.

If we use a centered transform, then rotations are done around the fixed image’s center. If you are using the CenteredTransformInitializer in GEOMETRY mode the centers of the fixed and moving images are aligned. To further clarify, in ITK/SimpleITK registration computes the transformation that maps points from the fixed image to the moving image.

Thanks for the information. I had only to exchange the fixed and moving image and to change the signals of the transform parameters, in relation to what I had before.