[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