ImageRegistration Algorithm

Hi,

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
Hello 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.
Igor wrote:
Hello 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.


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
BRDF wrote:

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


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.