[Insight-users] DeformableRegistration6 error

kingaza at gmail.com kingaza at gmail.com
Sun May 29 00:32:00 EDT 2005


Hi Luis, and all


if  boundSelect = upperBould = loweBound = 0 in itkLBFGSBOptimizer,
that means non-constrained optimization, is it right?

and for a 3D affine registration, with the size of 100*100*10, could
you give me the recommended values to these bounds?

thanks very much!

Regrads,
Kingaza


On 11/10/04, Luis Ibanez <luis.ibanez at kitware.com> wrote:
> 
> 
> Hi Kingaza,
> 
> 
> The purpose of providing bounds (lower and upper) in this optimizer
> is to constraint the size of the region to be explored in the
> parametric space.
> 
> 
> For example, if you are doing 2D Rigid Registration and you know that
> for the particular images that you have, the rotation of the image must
> be smaller than 10 degrees, then you can provide that information to the
> optimizer in the form of
> 
> 
>                angle lower bound = -10.0
>                angle upper bound = +10.0
> 
> 
> assuming that the angle is set explicitly as one of the array elements
> in the parameters array of the Transform.
> 
> This is generally known as "constrained optimization".
> 
> 
> Note that in addition to the upper/lower bound values, there is an
> array passed to this optimizer that specifies whether a parameter is
> bounded or not.
> 
> 
> Please let us konw if you have further questions
> 
> 
>     Thanks
> 
> 
>         Luis
> 
> 
> -------------------------
> kingaza at gmail.com wrote:
> 
> > hi luis,
> >
> > thank you very much!
> >
> > and i also find that i must resolve another problem to run my program.
> > In high resolution, a new boundselect is a must, because its size will
> > be various with the BSpline grid size.
> >
> > but there is something strange that the values of boundselect,
> > lowerbound and upperbound are zeros, even after registration.
> >
> > then my further puzzel is: what is the role of boundselect in this
> > registration procedure?
> >
> > regards
> >
> > kingaza
> >
> >
> > On Mon, 08 Nov 2004 20:10:30 -0500, Luis Ibanez <luis.ibanez at kitware.com> wrote:
> >
> >>Hi Kingaza,
> >>
> >>As we explained in the previous email, the error condition
> >>that you are encountering is the result of a premature
> >>termination of the optimizer when it reaches its convergence
> >>criteria.
> >>
> >>You want to work in fine tunning the values of the method
> >>
> >>    SetProjectedGradientTolerance()
> >>
> >>The LBFGSBOptimizer will stop when the actual gradient is
> >>smaller than the value that you set.  Therefore, if the
> >>optimizer is stopping prematurely that means that your
> >>gradient criteria was too relaxed, e.g. the value was too
> >>large.  You probably want to reduce this settinng to values
> >>in the range 1e-6 to 1e-10.
> >>
> >>Note that this is closely related to the Image Metric that
> >>you are using, since after all, the derivatives of the metric
> >>are proportional to the magnitude of the metric.
> >>
> >>You may also want to fine tune the value of the method
> >>
> >>    SetCostFunctionConvergenceFactor()
> >>
> >>because the optimizer will stop whenever the reduction
> >>in the cost function is less than  (factor * machine precision).
> >>The values recommended in the documentation are
> >>
> >>1e+12 for low accuracy (may result in early terminatino)
> >>1e+7  for moderate accuracy
> >>1e+1  for high accuracy
> >>
> >>Note again that this is proportional to the magnitudes
> >>of the Image Metric that you are using.
> >>
> >>It is quite different if you are using Mutual Information
> >>or MeanSquares or NormalizedCrossCorrelation.
> >>
> >>Something that may help you at this point is to work with
> >>a very small crooped version of your image. That will
> >>help you run multiple experiments rapidly until you
> >>figure out the parameters that may be appropriate for your
> >>type of image and type of ImageMetric.
> >>
> >>
> >>
> >>
> >>   Regards,
> >>
> >>      Luis
> >>
> >
> >
> >
> 
> 
> 
> 
>


More information about the Insight-users mailing list