[Insight-users] Image Registration / Convergence of optimizer
Luis Ibanez
luis.ibanez at kitware.com
Mon Nov 8 15:21:01 EST 2004
Hi Patrick,
We may need more information from you
in order to help you with your question.
1) Are you using any of the Examples in
Insight/Examples/Registration ?
If not, please post to the list your code where
you are defining the Command/Observer for this
optimization.
2) Did you set up the Scaling parameters for the
optimizer ?
If so, please post to the list the values that
you used for the scaling parameters.
3) It is common for Mutual Information to return
*very* noisy values. You may want to look at
the ITK Software Guide
http://www.itk.org/ItkSoftwareGuide.pdf
to see the typical Metric plots resulting from
Mutual Information. This noisy behavior is related
to the fact that the metric is computed from a
small number of randomly selected samples, this
samples are different at each iteration of the
optimizer.
Look for example at Figure 8.11 in pdf-page 260.
4) Note that the Mattes implementation of Mutual
Information produces much smoother results,
as you can see from Figure 8.13 in pdf-page 264.
When you use Mutual Information along with
gradient descent optimizer, you probably want
to use the Mattes implementation instead of
the Viola-Wells implementation.
Regards,
Luis
--------------------------------
Koning, P.J.H. de (LKEB) wrote:
> Hello,
>
> I am trying to register two 3D brain images. I am using the
> MutualInformationImageToImageMetric combined with a
> VersorRigid3DTransform and the VersorRigid3DTransformOptimizer. I am
> getting some good results, but when I look at the GetValue() of the
> optimizer during the iterations, I can't see it convergence (although
> the parameters of the rigid transform do show a convergence).
>
> Is this value not supposed to converge to a maximum value (I set
> MaximizeOn() for the optimzer)?
>
> Secondly, when I look at the values of the optimizer after the
> optimization has finished, I see that the current iteration has
> increased by 2, the transfor parameters stay constant and the GetValue()
> of the optimizer has changed ?!? How did this happen?
>
> A hope you can shed some light on this (for me) strange behaviour.
>
>
> Patrick de Koning
>
>
>
>
> P.S. Below you can see the output of the optimizer at each iteration:
>
> (Iteration number = optimizer value : [transform])
> 0 = 0.119745 : [-1.38545e-005 -2.53032e-006 ,7.4684e-006 ,-0.186788
> ,0.179258 ,4.99329
> 1 = 0.0503912 : [-1.71608e-005, -8.88087e-007, 9.23982e-006,
> -0.191543, 0.331362, 2.49793]
> 2 = 0.55825 : [-1.74154e-005, -3.9016e-007, 9.85893e-006, -0.204029,
> 0.326522, 3.74786]
> 3 = 0.395624 : [-1.77931e-005, 1.00222e-006, 1.00231e-005,
> -0.193226, 0.306919, 3.12326]
> 4 = 0.3617 : [-1.71888e-005, -1.22213e-006, 7.93444e-006, -0.200906,
> 0.316677, 2.49838]
> 5 = 0.335809 : [-1.81236e-005, -2.72138e-006, 6.68041e-006,
> -0.16859, 0.298884, 2.8087]
> 6 = 0.414256 : [-1.81705e-005, -2.66581e-006, 7.14423e-006,
> -0.176486, 0.29259, 2.65277]
> 7 = -0.0230083 : [-1.8131e-005, -2.49584e-006, 6.81443e-006,
> -0.179083, 0.28925, 2.49658]
> 8 = 0.328098 : [-1.82165e-005, -2.45698e-006, 7.11142e-006,
> -0.174855, 0.283865, 2.5744]
> 9 = -0.0404819 : [-1.81304e-005, -2.5165e-006, 7.35304e-006,
> -0.177024, 0.286958, 2.53553]
> 10 = 0.0277824 : [-1.81428e-005, -2.51756e-006, 7.50534e-006,
> -0.175715, 0.28891, 2.49653]
> 11 = 0.241717 : [-1.81675e-005, -2.4732e-006, 7.59313e-006,
> -0.174454, 0.290408, 2.45752]
> 12 = 0.198569 : [-1.81956e-005, -2.50076e-006, 7.62124e-006,
> -0.174316, 0.289997, 2.47705]
> 13 = 0.211859 : [-1.81711e-005, -2.48456e-006, 7.67883e-006,
> -0.175431, 0.28911, 2.46739]
> 14 = 0.271563 : [-1.81712e-005, -2.50097e-006, 7.66833e-006,
> -0.175269, 0.288967, 2.45762]
> 15 = 0.22593 : [-1.81791e-005, -2.48652e-006, 7.63361e-006,
> -0.175413, 0.288978, 2.44786]
> 16 = 0.954839 : [-1.81924e-005, -2.48619e-006, 7.62184e-006,
> -0.175887, 0.289044, 2.4381]
> 17 = 0.245999 : [-1.81852e-005, -2.46701e-006, 7.60605e-006,
> -0.175916, 0.289297, 2.44298]
> 18 = 0.163771 : [-1.81861e-005, -2.46174e-006, 7.60433e-006,
> -0.175958, 0.289195, 2.44054]
> 19 = 0.472102 : [-1.82019e-005, -2.47041e-006, 7.59436e-006,
> -0.175931, 0.289398, 2.43811]
> 20 = 0.306671 : [-1.8204e-005, -2.47435e-006, 7.58475e-006,
> -0.175902, 0.289338, 2.43567]
> 21 = 0.362819 : [-1.8203e-005, -2.47463e-006, 7.5833e-006,
> -0.175974, 0.289261, 2.43688]
> 22 = 0.33775 : [-1.82027e-005, -2.47465e-006, 7.58338e-006,
> -0.175984, 0.289256, 2.43627]
> 23 = 0.062375 : [-1.82026e-005, -2.47405e-006, 7.58279e-006,
> -0.175974, 0.289248, 2.43566]
> 24 = 0.294642 : [-1.82027e-005, -2.47339e-006, 7.58462e-006,
> -0.17596, 0.289238, 2.43505]
> 25 = 0.375321 : [-1.82031e-005, -2.47345e-006, 7.58648e-006,
> -0.175964, 0.289261, 2.43536]
> 26 = 0.295915 : [-1.82031e-005, -2.47429e-006, 7.58632e-006,
> -0.175959, 0.289254, 2.43521]
> 27 = 0.488161 : [-1.82028e-005, -2.47451e-006, 7.58712e-006,
> -0.175985, 0.289253, 2.43506]
>
> [End of optimization]
>
> 29 = 0.366311 : [-1.82028e-005, -2.47451e-006, 7.58712e-006,
> -0.175985, 0.289253, 2.43506]
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>
>
More information about the Insight-users
mailing list