[Insight-users] Re: Multiresolution / Optimization parameters

Luis Ibanez luis.ibanez at kitware.com
Wed Jan 24 09:41:03 EST 2007


Hi Evelyn,

The relationship between the optimizer step and the image resolution
depends on the type of transform that you are optimizing.

The chain of relationships is as follows:


  Optimizer Step ----> multiplies the Array of Transform Parameters

  Some transform parameters relate to Translations

  Translations relate to image spacing and size.


So...

  If you are working with a pure rotation transform,
  then, there is no relationship between the optimizer
  step and the image size and spacing.


but


  If you are working with a rigid transform (that includes
  translation) then the optimizer step length will somehow
  relate to the image spacing and size.

  That relationship is based on the values of the
  ParameterScales array.  In this array you put the values
  that will convert optimizer steps into parameters changes.



As you pointed out, when dealing with a transform that has
six parameters, you are performing optimization in a 6-D
space, and it is difficult to visualize the path of the
optimizer. We are unfortunately limited to looking at 2D or
3D projections of these 6D space.

In general what you want to do is to start by optimizing
only translations, which can still be visualized in a 3D
space. Once you align the objects in translation space
you can reset your center of rotation and perform an
optimization of pure rotation.



When you are doing multi resolution registration, you should
fine tune the parameters of the optimizer on a level by
level basis.  That is, don't even look at the second level
until you have managed to achieve convergence in the first
one.  In general you should start your pyramid with only
one (coarse) resolution, and fine tune the parameters there.

Once this level converges, then you add the second finer
level, fine tune its parameters until it converges,...
then you add the next level....and so on.

The "optimal" initial shrinking factor is *very* hard to
find. But, you don't need the optimal, you just need a
good one.  A rule of thumb is given by the size of the
characteristic features of the important objects in the
image.  For example, if you are registering brain images
and the brain occupies 300 pixels in the image, you probably
don't want to reduce it to less than 30 pixels, so a shrinking
factor of 8 is probably a "good one", which may result in a
three-level pyramid of 2, 4, and 8 shrinking factors respectively.

Note that you must apply this reasoning on every dimension
independently, since your hypothetical brain image may
have dimensions 512 x 512 x 100.



Finally, multi resolution relates to the MI metric parameters
in the following way:

1) You should have more pixels than bins
    if your coarsest image only has 30x30x10 pixels = 9,000
    then your joint histogram should have less than 9000 bins,
    so that you have good chances of actually populating bins
    with more than one pixel per bin.  Therefore a number of
    bins of 32 (that results in a joint histogram with 32^2 bins)
    maybe too much.


2) The "Number of Samples" in the metric must be less
    than the number of pixels in the image.

    This sounds obvious, but it is commonly overlook when
    performing multi-resolution registration. It is a common
    mistake to set the number of samples by thinking on the
    finest resolution image, and to forget to change it when
    registering the coarser resolution images.



Also: you *cannot* compare the values of MutualInformation
       computed at a resolution level, with the values
       computed at a different resolution level. These values
       will be discontinuous.



Regards,



     Luis




===================================================


evelyn_heyes at homeworking.org wrote:
> Hello Luis,
> 
> I would like to know if there is any relationship between optimization step size and image size/ resolution. I am using versorRigid3DTransform to register 2 3D volumes using Mattes MI. I have plotted the metric values as done in Fig. 8.46 in the ITK guide in hope to find the optimal step size (min/max). However, since I am optimizing 6 parameters, there would be no intuitive way to intrepret the smoothness of the optimization (previously, ITK guide/you suggested to analyze in 2 dimensions only, but would such analysis generalize to 6 dimensions? 
> 
> Also, if this registration is done with multiresolution, should step size be adjusted accordingly? Say, if I began with 0 level using {stepMax, stepMIn}={2,0.001}, then should multiresolution with 2 levels be {stepMax, stepMIn}*2*k and 3 levels be {stepMax, stepMIn}*3*k? Another question with multiresolution is how do we find the optimal start shrinking factor? How do start shrinking factor, optimzation steplength, and the images' original images' size and resolution all relate to each other? 
> 
> Finally, how does multiresolution relate with the metric's parameters? From my experiment with the # of bins (I ploltted MI value against images resolutions), I noted that the negative MI value would increase in subsequent levels (since I am trying to minimize the negative MI in Mattes implem.): 
> 
> i.e.
> 
> level 1: 
> shrink factor for fixed img: 6,6,3
> shrink factor for moving img: 3,3,3
> step size: max= 2;  min=0.5
> ****metric: -0.042 => -0.083 
> 
> level 2: 
> shrink factor for fixed img: 3,3,1
> shrink factor for moving img: 1,1,1
> step size: max=.48, min=0.125
> ****metric: -0.060 => -0.072  
> 
> level 3: 
> shrink factor for fixed img: 1,1,1
> shrink factor for moving img: 1,1,1
> step size: max=0.12, min=0.13 
> ****metric: -0.61 => -0.062 
> 
> The original fixed image has resolution=[256,256,67] and spacing=[1.9, 1.9, 3.0]mm
> The original moving image has res. [128,128,70] and spacing [5.0, 5.0, 5.0]mm
> 
> How could we evaluate this registration setup given these data specs? 
> 
> Thanks for your time,
> Eve
> 


More information about the Insight-users mailing list