[Insight-users] Re: MutualInformationImageToImageMetric: Lack of Transform Initialization

Luis Ibanez luis.ibanez at kitware.com
Mon May 21 06:59:50 EDT 2007


Hi Deepa,

Please read the ITK Software Guide.

    http://www.itk.org/ItkSoftwareGuide.pdf

In particular the "Image Registration" chapter
and the section on "Transforms".

You could use the SetOffset() method in order
to initialize the Translation Transform.

You could also use the SetParameters() method
for the same purpose.



Sooner or later you will have to read the
documentation...



     Regards,


        Luis



====================================
deepa_malempati at rediff.com wrote:
> Hi Luis,
> The translation transform has no methods to supply it with required inputs.so,i just initialized it to registration
> as 
>  registration->SetTransform( transform );
> 
> Luis Ibanez wrote:
> 
>>
>>Hi Malempati,
>>
>>When you report the "size" of an image, you
>>should indicated in terms of the number of
>>pixels along every dimension.
>>
>>For example:  1024 x 768 pixels.
>>
>>
>>The report:
>>
>>            Size: 42496
>>
>>is not very useful.
>>
>>
>>---
>>
>>If you are *not initializing* the Transform,
>>then that's the source of your registration
>>problem.
>>
>>
>>At a minimum, you should initialize the Transform
>>in such a way that the centers of both images will
>>overlap.
>>
>>For a description on how to do this
>>please read the ITK Software Guide
>>
>>    http://www.itk.org/ItkSoftwareGuide.pdf
>>
>>in particular the "Image Registration" chapter.
>>
>>For instruction on how to initialize transforms
>>see, Section 8.6.1., pdf-pages 382-382,
>>
>>As you will see, the computation involves the number
>>of pixels of the image along every dimension, the
>>pixel spacing and the origin.
>>
>>
>>
>>    Regards,
>>
>>
>>        Luis
>>
>>
>>
>>---------------------------------------
>>deepa_malempati at rediff.com wrote:
>>
>>>Hi,
>>>Luis.
>>>The details of images are given below:
>>>1:Fixedimage                           2:MovingImage
>>>  a.Size: 42496                            Size: 39277
>>>  b.Spacing: [1.2, 1.01562]         Spacing: [1, 1]
>>>  c.  Origin: [0, 0]                          Origin: [0, 0]
>>>And i'm using the Translation Transform.It is not Initialized with any
>>>values in the code.
>>>
>>>Luis Ibanez wrote:
>>>
>>>
>>>>Hi Malempati,
>>>>
>>>>It is very unlikely that the source of the problem
>>>>is the size in Kilobytes of your images.
>>>>
>>>>
>>>>If you have an observer and the error message
>>>>appears before the observer reports on the first
>>>>iteration, then you can remove the Optimizer
>>>>as a suspect, and instead focus on the most
>>>>likely reasons;
>>>>
>>>>
>>>>  1) A poor initialization of the Transform.
>>>>
>>>>or
>>>>
>>>>  2) Invalid values of origin & spacing in the
>>>>     fixed and moving images.
>>>>
>>>>
>>>>Questions:
>>>>
>>>>1) What is the size of your images in pixels ?
>>>>2) What is the pixel spacing of each image ?
>>>>3) What is the origin of the images ?
>>>>
>>>>
>>>>You can get all this information by calling
>>>>
>>>>   reader->GetOutput()->Print( std::cout )
>>>>
>>>>
>>>>
>>>>Also:
>>>>
>>>>
>>>>4) What transform are you using ?
>>>>5) How are you initializing the Transform ?
>>>>
>>>>
>>>>
>>>>  Regards,
>>>>
>>>>
>>>>
>>>>     Luis
>>>>
>>>>
>>>>
>>>>-------------------------------------------
>>>>deepa_malempati at rediff.com wrote:
>>>>
>>>>
>>>>>Hi,
>>>>>Luis,thanks for u'r reply.
>>>>>i have used the observer,but not even single iteration is getting
>>>>>performed.Would it be due to the size variation of the images.The sizes
>>>>>of the fixed image is 21KB and that of moving image is 6 KB.
>>>>>waiting for u'r reply,
>>>>>Thanking u,
>>>>>MALEMPATI.
>>>>>Luis Ibanez wrote:
>>>>>
>>>>>
>>>>>
>>>>>>Hi Malempati:
>>>>>>
>>>>>>
>>>>>>1) Read the ITK Software Guide
>>>>>>
>>>>>>    http://www.itk.org/ItkSoftwareGuide.pdf
>>>>>>
>>>>>>  in particular the Image Registration chapter.
>>>>>>
>>>>>>
>>>>>>2) Make sure that your images have valid values
>>>>>>  of image origin and image spacing
>>>>>>
>>>>>>3) Make sure that you initialize the Transform
>>>>>>  parameters
>>>>>>
>>>>>>4) Add an observer to the Optimizer, and print
>>>>>>  out the values of the metric and transform
>>>>>>  parameters at every iteration.
>>>>>>
>>>>>>5) Identify how many iterations you manage to
>>>>>>  run before you get the error message.
>>>>>>
>>>>>>
>>>>>>
>>>>>>The error means that the Fixed and Moving images
>>>>>>have such small overlap that the registration
>>>>>>process can't continue.
>>>>>>
>>>>>>The problem may be caused by:
>>>>>>
>>>>>>a) incorrect image information
>>>>>>b) bad initialization
>>>>>>c) poor choices in the optimizer parameters
>>>>>>
>>>>>>
>>>>>>
>>>>>> Regards
>>>>>>
>>>>>>
>>>>>>    Luis
>>>>>>
>>>>>>
>>>>>>
>>>>>>-------------------
>>>>>>MALEMPATI wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>>Hi, 
>>>>>>>all.how to get rid of this error given below. 
>>>>>>>
>>>>>>>itk::ERROR: MutualInformationImageToImageMetric(012C9D90): All the 
>>>>>>>sampled point mapped to outside of the moving image
>>>>>>
>>>>>>_______________________________________________
>>>>>>Insight-users mailing list
>>>>>>Insight-users at itk.org
>>>>>>http://www.itk.org/mailman/listinfo/insight-users
>>>>>>
>>>>>>
>>>>>
>>>>>Quoted from: 
>>>>>http://www.nabble.com/MutualInformationImageToImageMetric-tf3762435.html#a10652461
>>>>>
>>>>>
>>>>
>>>>_______________________________________________
>>>>Insight-users mailing list
>>>>Insight-users at itk.org
>>>>http://www.itk.org/mailman/listinfo/insight-users
>>>>
>>>>
>>>
>>>Quoted from: 
>>>http://www.nabble.com/MutualInformationImageToImageMetric-tf3762435.html#a10664017
>>>
>>>
>>
>>_______________________________________________
>>Insight-users mailing list
>>Insight-users at itk.org
>>http://www.itk.org/mailman/listinfo/insight-users
>>
>>
> 
> Quoted from: 
> http://www.nabble.com/Re%3A-MutualInformationImageToImageMetric%3A-Lack-of-Transform-Initialization-tf3781966.html#a10695517
> 
> 


More information about the Insight-users mailing list