[Insight-users] ImageSpatialObject interpolation and transformation problem

Luis Ibanez luis.ibanez at kitware.com
Tue May 25 18:00:15 EDT 2010


Hi Matthias,


Thanks for the detailed description
of what you are doing.


1)  Please note that you should instantiate
     the SpatialObject as a 3D one, given that
     you need to rotate it and translate it in a
     3D space.  Your UltraSound slice is a thin
     sampling of a 3D region.

2)  To be consistent with (1), then you will load
     the Ultrasound slice as a 3D image whose
     size along the Z direction is 1.

3)  Applying the Tracking transform values to the
     SpatialObject transform will indeed be a natural
     way of placing it in the right location in space.

     As usual, you will have to pay attention to the
     direction of the transformation.  That is, make
     sure that you set the transform from the Image
     to the parent.


4)  The interpolator that is built-in the ImageSpatial
     Object will not do the 3D interpolation for you
     (that will have been nice though....  :-)      )

     The interpolator is intended just to help you
     query the values of 3D points at non-image-grid
     positions.

     You probably will need this intepolator as a helper
     for getting in-plane values of your Ultrasound slices
     while you populate the full 3D image.


5)  You will have to implement the interpolation
     scheme by which you spread out the values
     from the ultrasound slices in order to fill up
     a 3D volume.

     The approach of the vtkGaussianSplatter is
     one good candidate among many other options.


     A critical factor here will be the spacing that
     you get between your Ultrasound slices, as
     well as the degree to which they are tilted one
     with respect to the next.


Finally,

You may find interesting to look at the following
papers in the Insight Journal:
http://www.insight-journal.org/search/?search=ultrasound

A)   "Real-Time Ultrasound Image Analysis for the Insight Toolkit"

       http://www.insight-journal.org/browse/publication/36
       http://hdl.handle.net/1926/43

B)  "An open-source real-time ultrasound reconstruction system
       for four-dimensional imaging of moving organs"
       Pace D., Gobbi D., Wedlake C., Gumprecht J.,
       Boisvert J., Tokuda J., Hata N., Peters T.
       http://www.insight-journal.org/browse/publication/655
       http://hdl.handle.net/10380/3083

C) "An Open-Source Solution for Interactive Acquisition,
      Processing and Transfer of Interventional Ultrasound Images"
      Boisvert J., Gobbi D., Vikal S., Rohling R.,
      Fichtinger G., Abolmaesumi P.
      http://www.insight-journal.org/browse/publication/618
      http://hdl.handle.net/10380/1459


  Regards,


       Luis


------------------------------------------------------------------------------------------------------------
On Tue, May 11, 2010 at 2:32 PM, Matthias Mucha <matthiasmucha at gmx.de> wrote:
> Dear List,
>
> I want to use the itk::ImageSpatialObject to store ultrasound-images with position-data (tracking-data) and then use an interpolation-method to build a 3D-Volume. I'm not familiar with itk::ImageSpatialObject so I have some questions about the use of it. Up to now I defined an itk::ImageSpatialObject and filled it with an ITK-Image.
>
> typedef SpatialObjectType::TransformType TransformType;
> ImageSpatialObject::Pointer imageSO = ImageSpatialObject::New();
>
> //set the 2D-ITK-Image into a spatial object
> imageSO->SetImage(m_CapturedFrame);
>
> Need I to use the SpatialObjectType::TransformType to apply the tracking-data (translation and rotation) for each ultrasound-image?
>
> Is it possible to define a 3-dimensional itk::ImageSpatialObject, fill it with all 2D-ultrasound-ImageSpatialObjects and then use the SetInterpolator-method from itk::ImageSpatialObject to get a 3D-volume when I want to render it? Or is it better to use the vtkGaussianSplatter for this task?
>
> Best regards!
>
> Matthias Mucha
> --
> _____________________________________
> 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