[Insight-users] Optimization problem

Rupert Brooks rupe.brooks at gmail.com
Mon Sep 22 08:16:35 EDT 2008


Hi Sven,

If you mean this bug http://public.kitware.com/Bug/view.php?id=0005342
I'm the reporter.  I was trying to use the ExhaustiveOptimizer exactly
as Brad suggested, to explore a grid in the parameter space at low
resolution, to find a good starting point.  It didnt work for me
because the value returned by GetCurrentPosition at the end of the
optimization is not the minimum value, but the last value, which may
or may not be any good.

So, if you plug it into the ImageRegistrationMethod class, it almost
certainly wont work.

After discussion on the itk developer list, it turns out this is an
explicit design choice, NOT a bug.  The exhaustive optimizer is
different from the other optimizers in the ITK optimizer group.
Knowing this, you may be able to get it to work - i think it has
different methods to get the minimum.   Unfortunately i cant exactly
give you the details, because i dont really know, although looking at
the test for that class may help. Alternatively, I can send you a
modified version that DOES work like the the rest of the optimizer
hierarchy if you like.  I warn you though, i havent spent any time
tidying that code.  :-P

A more general word of advice on this problem - theres two kinds of
local minima.  In one case, the true registration has a better cost
function value than the false local minima.  In this case, the
strategy suggested here will work.   In another case, the FALSE minima
actually has the better value.  This can often be due to very small
image overlap, etc.  In this case, you'll have to come up with some
other way to reject those false matches.  From painful experience i
will say that knowing which kind of problem you face will save you a
lot of time :-).

Good luck
Rupert B.

On Thu, Sep 18, 2008 at 4:12 AM, Fischer, Sven
<Sven.Fischer at medizin.uni-leipzig.de> wrote:
> Hi Brad,
>
>
>
> Thank you very much for your reply. I tried to use the ExhaustiveOptimizer,
> but it did not iterate over my first parameter. Is there some bug in the
> ExhaustiveOptimizer? I found on the Kitware public wiki-page "ITK Adopt A
> Bug Program" an entry for the ExhaustiveOptimizer. What is the bug mentioned
> there about? Thank you in advance.
>
>
>
> Cheers
>
> Sven
>
>
>
> ________________________________
>
> Von: Bradley Lowekamp [mailto:blowekamp at mail.nih.gov]
> Gesendet: Dienstag, 16. September 2008 17:55
> An: Fischer, Sven
> Betreff: Re: [Insight-users] Optimization problem
>
>
>
> Hello,
>
>
>
> I know it's not the fastest, but I have found using the ExhaustiveOptimizer
> at the coarsest resolution can be useful of finding a good starting point.
> If you are able to get the right resolution (or coarse feature) and the
> right grid size it should give you a reasonable starting place for iterative
> methods.
>
>
>
> Brad
>
>
>
>
>
>
>
> On Sep 16, 2008, at 5:26 AM, Fischer, Sven wrote:
>
> Hi all,
>
>
>
> I'm doing a 2D 3D registration between fluoroscopic images and CT images,
> creating a DRR. Since I have several local optima I use a multi resolution
> approach. I scale the images by a factor of two and do Gaussian blurring. So
> I scale in 4 steps. First I register the images with one eighth of the
> original size, than with one fourth, with the half size and finally with the
> original size. But I have local optima in the first step. So it leads me to
> misregistration when my starting point is too far away from the final point
> when my images are correct registered. I can avoid this problem with using a
> different step size for the Powell optimizer. But when I find a good step
> size for one starting point it often is useless for other starting points.
>
> My images are cardiac images, where the aorta and the spine can be seen very
> clearly. I use the Gradient Difference Metric ( not exactly the
> ITK-Implementation, I changed it a bit, and it worked very well in several
> tests ).
>
> Do you have an idea how I could find good starting points or how to choose
> the step size for the Optimizer, depending on the information the image
> gives me? Or should I use another Optimizer? What is your experience? I'm
> looking forward to your answers.
>
>
>
> Regards
>
> Sven
>
> _______________________________________________
>
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>
>
>
> ========================================================
>
> Bradley Lowekamp
>
> Lockheed Martin Contractor for
>
> Office of High Performance Computing and Communications
>
> National Library of Medicine
>
> blowekamp at mail.nih.gov
>
>
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>
>



-- 
--------------------------------------------------------------
Rupert Brooks


More information about the Insight-users mailing list