[Insight-users] possible spacing bug in multiresolution registration

Carolyn Johnston Carolyn . Johnston at vexcel . com
Mon, 08 Sep 2003 11:12:41 -0700


Hello Luis et al,

I am encountering a nasty problem when running multiresolution 
registration on that same dataset (with very small spacing) that we had 
the spacing trouble with before.

I have run this  multiresolution code successfully on datasets that have 
unit spacing and larger. But when I run it on the small-spacing data, I 
get the following output (there is a print statement on the optimizer 
that is called by an iteration observer on the multiresolution 
registration). The format of the optimizer observer output is:

iteration number, value, positionx, positiony

You can see that both the optimizer's value and its position become nans 
immediately. Let me know if you need more information.

:) Carolyn
_________________________________________________________________________


 ----->>> Level 0 : Minimum stepsize = 0.000278 : Maximum stepsize = 
0.000834

RegularStepGradientDescentOptimizer (0x8106c50)
  RTTI typeinfo:   N3itk35RegularStepGradientDescentOptimizerE
  Reference Count: 2
  Modified Time: 443
  Debug: Off
  Observers:
    IterationEvent(Command)
  InitialPosition: []
  CurrentPosition: []
  Scales: []
  MaximumStepLength: 0.000834
  MinimumStepLength: 0.000278
  GradientMagnitudeTolerance: 0.0001
  NumberOfIterations: 10
  CurrentIteration: 0
  Value: 0
  Maximize: 0
  CostFunction: (None)
  CurrentStepLength: 0
  StopCondition: 5

0,   nan,   nan,   nan
1,   nan,   nan,   nan
2,   nan,   nan,   nan
3,   nan,   nan,   nan
4,   nan,   nan,   nan
5,   nan,   nan,   nan
6,   nan,   nan,   nan
7,   nan,   nan,   nan
8,   nan,   nan,   nan
9,   nan,   nan,   nan

 ----->>> Level 1 : Minimum stepsize = 0.000139 : Maximum stepsize = 
0.000834

RegularStepGradientDescentOptimizer (0x8106c50)
  RTTI typeinfo:   N3itk35RegularStepGradientDescentOptimizerE
  Reference Count: 2
  Modified Time: 543
  Debug: Off
  Observers:
    IterationEvent(Command)
  InitialPosition: [0, 0]
  CurrentPosition: [nan, nan]
  Scales: [1, 1]
  Cost Function: 0x81049a8
  MaximumStepLength: 0.000834
  MinimumStepLength: 0.000139
  GradientMagnitudeTolerance: 0.0001
  NumberOfIterations: 10
  CurrentIteration: 10
  Value: nan
  Maximize: 0
  CostFunction: 0x8106c9c
  CurrentStepLength: 0.000834
  StopCondition: 5

(I cut the executable off here. Typically it prints out more of the 
same, and then seg faults right before it finishes).