[Insight-users] Quesiton about registration in ITK

Luis Ibanez luis.ibanez at kitware.com
Mon Feb 20 11:12:57 EST 2006


Hi "ask ITK"



         Why do you want to do such thing ?


Note that depending on the Optimizer that you are using,
the metric can be invoked many time in an iteration.
For example, an Evolutionary optimizer will invoke the
metric for each one of the individuals of the colony in
your population. This may be hundreds to thousands of
invocations. The Amoeba optimizer will also perform (N+1)
calls to the Metric in a single iteration.

Even gradient based optimizer may invoke the Metric
multiple times per iterations, specially when they are
not using the Derivative computed by the Metric, but
instead using finite differences in order to get the
derivative values.



If you really can justify changing the value of the Metric,
you must be *very familiar* with the operations that the
Optimizer is performing based on the Metric values.


On thing that you may want to do is to simply create
your own metric that derives from an ITK metric, and
overload the GetValue() method. In this method you
can first call the method in the superclass (the ITK
metric), and add the value that you want in your
implementation.


Again, please be aware that this doesn't sound like a
good idea. So you probably should reconsider the reasons
that led you to modify the Metric values.



     Regards,


        Luis



--------------------------------------------------------
ask ITK wrote:
> Dear,
> 
>      After setting all the required information,  the itk registration
> is started with
> a single function StartRegistration().
> 
> Is there anyway for us to "change" the metric value during every
> iteration from the
> optimizer?
> 
> We can monitor the registration by looking at the metric value of
> every iteration.
> but can we modify the metric value before it is used to compute the
> next iteration?
> 
> e.g.,
> 1st iteration, metric value = 0.7
> 2nd iteration, metric value = 0.8
> 
> can we modify the metric value such that before 2nd iteration,
> its value become 0.75?
> i.e. the optimzer will get a input of 0.75 instead of 0.7
> 
> Thanks a lot!
> _______________________________________________
> 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