[Insight-users] QuaternionGradientDescent

Luis Ibanez luis . ibanez at kitware . com
Fri, 27 Jun 2003 08:32:41 -0400


Hi Ravi,

Where is the origin of coordintes for your image ?

It is usually necessary to move the origin to the
center of the image in order to define it as the
rotation center for the quaternions.

You may want to use a strategy in which you play
with the learning rate and the translation scale.
At the low levels of the pyramid is not worth to
do any rotation optimization, the objects will
probably be so blurred that only translations may
be interesting.

Before going any further to the other pyramid
levels, make sure that level 0 is converging for
an almost pure translation.

You can do this by selecting a translation scale
that will make negligeable the rotational term
of the QuaterionRigid3D transform.

It is very helpful to connect an Observer to the
optimizer and monitor the values of the metric
through the iterations. You will see many of such
plots in the SoftwareGuide. They usually provide
a very good indication on how to increase/reduce
the step size of the optimizer.

Once you get level 0 converging for translations,
you can relax the translation-scaling and let the
quaternion terms participate in the optimization.
The modification of the translation parameters
can be done from the Observer you connect to the
registration method.

Try solving one level of the pyramid at a time.
It is in general useless to move to a next level
before the registration converges at the current
one.


Please let us know if you find further problems.



Regards,



    Luis



----------------------
ravi sharma wrote:
> Hi,
>   I am now using QuaternionGradientDescentOptimizer
> for 3D Registration.I am using a
> MultiResolutionstrategy and am trying to align images
> that are of by about 12 degrees over a rotation axis
> and 3 to 4 mm translations.I am using
> MattesMutualInformation as my metric.
>   I set the quaterniontransform parameters
> as{0,0,0,1,0,0,0} which is the identity transform.The
> problem is that I just cant fathom what learning rate
> to use.If I use a learning rate of 0.3 at level 0 of
> registration then step size becomes so big that the
> final image is even more misaligned(20 iterations at
> level 0..increasing at subsequent levels) but if I use
> a learning rate of 0.01 it makes no change to the
> moving image.If there is a way to check passing Local
> Optima with larger step sizes please tell me or if any
> other suggestions then I shall be thankful.
>   Ravi Sharma
>