[Insight-users] Question on TransformInitializer

Lodron, Gerald Gerald.Lodron at joanneum.at
Wed Mar 17 02:53:27 EDT 2010


Hi

I am using itk::CenteredVersorTransformInitializer which is only implemented with momentsOn(). 

As I told i make a binary image from my segmentation and multiplies it with the image, so the resulting image has grayvalues on the image data and zeros on background. Does the itkMaskImageFilter work different? And the result is a transformation initialization without overlap (for sure i make this with moving and fixed image). I tested this on several different CT images and the result stays the same, everytime when i multiply it with a mask the initialization fails, without multiplying it works...I also looked at the image, the segmentation and the multiplying works without porblems so the image looks as it should... 

I am not able to post screenshots because then my email got blocked (I already tested this several times, i always get a message that my message waits approval from the admin but never gets released). But the image is displaying a standard 3D CT data set from the top of the head to the middle of the lung (for sure centered in the image). The segmentation does only segment the patient, background is the patient table and the air outside the body. 

Best regards,

-----Ursprüngliche Nachricht-----
Von: Luis Ibanez [mailto:luis.ibanez at kitware.com] 
Gesendet: Dienstag, 16. März 2010 19:11
An: Lodron, Gerald
Cc: insight-users at itk.org
Betreff: Re: [Insight-users] Question on TransformInitializer

Hi Gerald,

Are you using the VersorTransformIntializer with

              GeometryOn()    ?

or with

              MomentsOn()    ?


For the masking process to make sense,
you should use it with MomentsOn().

Note also that ITK has a Mask filter:

          itkMaskImageFilter


that you could use to mask your moving
image.


--

If you still have problems, please post
screenshots of the Fixed image and
Moving image, as well as the following
parameters for both images:

  A) Image Origin
  B) Image Size in pixels
  C) Image Spacing
  D) Image Direction ( direction cosines)



Regards,


     Luis


------------------------------------------
On Fri, Mar 12, 2010 at 5:30 AM, Lodron, Gerald <Gerald.Lodron at joanneum.at> wrote:
>
> Hello
>
> I made a 3D registration of two CT data sets and use the Versor transform initializer and a image mask in my registration. The registration wroks in my most test data sets but now i want to improve the registration. I thought i could use the segmentation result also in the initializer but there is no SetMovingImageMask function in the initializer, so i first made the following: I multiplied the boolean image of the segmentation with the image before i give it to the initializer. The result of the initializer is very bad, the initial transformation transform the image so that no overlap appears. My second approach was to use the GetFixedCalculator() function of the initializer which gives me the moments calculator object back. The moments calculater has such a SetSpatialObjectMask function. The only problem is that the GetFixedCalculator() function returns a const pointer, using a const cast it compiles, but the result is the same as with multiplieing.
>
> Any suggestions/explanations why this does not work?
>
>
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at 
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>


More information about the Insight-users mailing list