[Insight-users] Too many samples map outside moving image buffer

Luis Ibanez luis.ibanez at kitware.com
Thu Mar 15 20:26:39 EST 2007


Hi Goo,

This is a common error message in image registration.

It means that at the current iteration of the optimization,
the two images as so off-registration that their spatial
overlap is not large enough for bringing them back into
registration.

The common causes of this problem are:

1) Poor initialization:    You must initialize the transform
       properly. Please read the ITK Software Guide
     http://www.itk.org/ItkSoftwareGuide.pdf  for a description
     of the use of the CenteredTransformInitializer class.


2)  Optimzer steps too large. If you optimizer takes steps
      that are too large, it risks to become unstable and to
      send the images too far appart.

       You may want to start the optimizer with a maximum
       step lenght of 1.0, and only increase it once you have
       managed to fine tune all other registration parameters.

        Increasing the step length makes your program faster,
        but it also makes it more unstable.


3)  Poor set up o the transform parameters scaling.

        This is extremely critical in registration. You must make
        sure that you balance the relative difference of scale between
        the rotation parameters and the translation parameters.

        In typical medical datasets such as CT and MR, translations
        are measured in millimeters, and therefore are in the range
         of -100:100, while rotations are measured in radians, and
         therefore they tend to be in the range of   -1:1.


         A rotation of 3 radians is catastrophic, while a translation
        of 3 millimeters is rather inoffensive. That difference in scale
        is the one that must be accounted for.




   Regards,


         Luis




--------------------------------------------------------------------
On 3/13/07, Goo <gtshowtime at gmail.com> wrote:
> Hi All :
>
> I met an error message when using Mattes MI and Affine Transform.
> This message is notifying me "Too many samples map outside moving image
> buffer"
>
> I guess this maybe caused by TransformPoint in
> itkMattesMutualInformationImageToImageMetric.txx
>
>    this->TransformPoint( nFixedImageSamples, parameters, mappedPoint,
>                           sampleOk, movingImageValue );
>
> but I don't know how to solve this problem.
>
> My test data are two different modality images with the size 512*512.
>
> The Metric setting :
>   unsigned int numberOfBins = 50;
>   unsigned int numberOfSamples = 10000;
>
> The Transform setting :
>   initialParameters[0] = 0.0;  // Initial offset in mm along X
>   initialParameters[1] = 0.0;  // Initial offset in mm along Y
>   registration->SetInitialTransformParameters( initialParameters );
>
> The optimizer setting :
>   optimizer->MinimizeOn();
>   optimizer->SetMaximumStepLength( 5.00 );
>   optimizer->SetMinimumStepLength( 0.001 );
>   optimizer->SetNumberOfIterations( 200 );
>   optimizer->SetRelaxationFactor( 0.8 );
>
> Can anybody help me to solve this problem?
>
> Regards.
>


More information about the Insight-users mailing list