Page MenuHomePhabricator

[Registration] Translation vector changes when saving a project and loading it again
Closed, WontfixPublic

Assigned To
Authored By
kleina
Oct 11 2021, 2:08 PM
Referenced Files
F2456377: image.png
Oct 11 2021, 2:08 PM
F2456379: TiefereAtmung_bins.mitk
Oct 11 2021, 2:08 PM
F2456375: image.png
Oct 11 2021, 2:08 PM
Subscribers

Description

A user in the HandsOn Tutorial reported the following: "The problem here is that when we initially register we get a translation vector and then we save the project and when we open it again, the vector changes and we have to re-register in order to get the real shift."

Here are two screenshots and the data:


image.png (276×717 px, 208 KB)

image.png (269×783 px, 199 KB)

Event Timeline

kislinsk renamed this task from Translation vektor changes when saving a project and loading it again to [Registration] Translation vector changes when saving a project and loading it again.Oct 13 2021, 10:06 AM
kislinsk triaged this task as Normal priority.
floca claimed this task.

You have to be careful when interpreting the rotation matrix, offset, translation and center. The following relationship applies:

(Quote from the MITK MatchPoint Manipulator Help)
A transformation is defined as x '= R (x - C) + C + T
where x ': transformed point; x: point to transform; R: rotation matrix; C: center point; T: translation vector.
The offset of a transform is defined as O = -RC + C + T
If the offset as well as the rotation matrix stay constant when the center point changes, the translation has to be altered.

In your screenshots R and O remain identical. C is set to 0 and therefore T must also change. I. E. This does not mean that the formula given is incorrect or that it does not represent an equivalent conversion. To be on the safe side, you would have to do the math to check it.

When serializing transformations (this happens when reloading), only R and O are taken into account and C is assumed to be the world geometry origin (T results automatically from this); since it is irrelevant for a global transformation where the center of rotation, was when the registration was determined and by that it can be stored more compactly.