ImageRegistration Algorithm
hegedus
I am working with the imageregistration operation and am testing it across a set of images. I am most interested in the rotation values. I have noticed that the calculated rotation values do not flip when I swap the test and reference images. Should the sign just swap with the same value or am I being naive? I know fit X by is different than fit Y by X because of the way errors are calculated. Does the same hold here?
I have found the reference article for the algorithm but I was hoping someone has worked this out already.
Thanks in advance.
Andy
In order to make sure we are looking at the same data, I suggest you try the Image Registration Demo. In the panel check the boxes under X and Y translation and Z rotation. For convergence change to Marquardt. Now run this once with reference wave=dd28 and test wave=pp28 and then swap the images. As you can see, both X, Y and psi parameters change. This is not pure rotation but the sense of direction flips.
A.G.
WaveMetrics, Inc.
December 2, 2015 at 11:50 am - Permalink
I just found Translations X, Y, Z seem to be the only allowed operations in Registration panel; if any box of Rotation/Skew is checked, "One or more parameters are inappropriate" Error from Execute is popped out. IP6.37 on MacOS. Anything I am missing? Thank you.
-zh
November 30, 2016 at 04:53 pm - Permalink
The nature of the transformation is such that it is impossible to optimize for certain sets of parameters simultaneously. This is equivalent to trying to fit an equation to data where two or more fitting coefficients are correlated.
The documentation for ImageRegistration (see /SKEW flag) says "skewing and rotation or isometric scaling are mutually exclusive operations". In other words, if you need to determine skewing make sure to pass /TRANS={0,0,0}, etc.
I hope this helps,
A.G.
WaveMetrics, Inc.
December 2, 2016 at 07:47 am - Permalink