1 / 18

ITK Spatial Objects

ITK Spatial Objects. Kitware Inc. Spatial Objects - Motivation. Image are a limited representation of physical reality Images are not good shape descriptors Many of the medical imaging problems relate to defining regions in space. Spatial Objects - Applications.

dulcea
Download Presentation

ITK Spatial Objects

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ITKSpatial Objects Kitware Inc.

  2. Spatial Objects - Motivation • Image are a limited representationof physical reality • Images are not good shape descriptors • Many of the medical imaging problems relate to defining regions in space

  3. Spatial Objects - Applications • Model to Image Registration(model-based segmentation) • Model to Model Registration • Atlas Formation • Describing Relationships between objects

  4. Spatial Objects - Features • Form Hierarchies in Space (scene-graphs) • Parent-Child Relationships • Spatial Transform to Parent • Spatial Transform to World

  5. Spatial Objects – Basic API • bool IsInside( Point ); • AddSpatialObject() / RemoveSpatialObject() • GetParent() / GetChildren() • SetNodeToParentNodeTransform( affine )

  6. Spatial Objects - Features Transform to World Node Transform to Node Node Node Node Object Object Object Transform to Parent Node Node Node Node Object Object Object Object

  7. Spatial ObjectsRegistration Applications

  8. Application in Registration FixedImage FixedImageMask ImageMaskSpatialObject Transform Metric MovingImage MovingImageMask ImageMaskSpatialObject Interpolator

  9. Masking Registration #include "itkMaskImageSpatialObject.h“ typedef itk:: ImageMaskSpatialObject< Dimension > MaskType; MaskType::Pointer maskSpatialObject = MaskType ::New(); maskSpatialObject->SetImage( maskReader->GetOutput() ); metric->SetFixedImageMask( maskSpatialObject ); registration->StartRegistration();

  10. Masked Registration Run Command: ImageRegistrationWithMask BrainProtonDensitySliceBorder20.png BrainProtonDensitySliceR10X13Y17.png BrainProtonDensitySliceBorder20Mask.png registeredOutput.png differenceAfter.png differenceBefore.png Output: Registered image Difference images before and after

  11. Exercise 37a

  12. Model to Image Registration MovingSpatialObject Registration Method Metric Optimizer FixedImage Interpolator Transform

  13. Model to Image Registration #include "itkImage.h“ #include "itkImageFileReader.h“ #include "itkEllipsoidSpatialObject.h“ #include "itkImageToSpatialObjectMetric.h“ #include "itkImageToSpatialObjectRegistrationMethod.h“ #include “itkLinearInterpolateImageFunction.h“ #include “itkTranslationTransform.h“ #include “itkAmoebaOptimizer.h“ int main( intargc,char * argv[] ) { typedef itk::Image< float, 3 > ImageType; typedef itk::EllipseSpatialObject< 3 > EllipseType;

  14. Model to Image Registration EllipseType::Pointer ellipse = EllipseType::New(); ellipse->SetRadius( 50.0 ); EllipseType::TransformType::OffsetType offset; offset[0] = 70.0; offset[1] = 50.0; offset[2] = 50.0; ellipse->GetObjectToParentTransform()->SetOffset( offset ); ellipse->ComputeObjectToWorldTransform();

  15. Model to Image Registration typedef itk::ImageToSpatialObjectRegistrationMethod< ImageType, EllipseType > RegistrationType; RegistrationType::Pointer registration = RegistrationType ::New(); typedef itk::SimpleImageToSpatialObjectMetric< ImageType, EllipseType > MetricType; MetricType::Pointer metric = MetricType ::New(); registration->SetFixedImage( reader->GetOutput() ); registration->SetMovingSpatialObject ( ellipse ); registration->StartRegistration();

  16. Model to Image Registration Run Command: ModelToImageRegistration sphere.mhd 5 Output: Translation that overlaps the Ellipse to the image

  17. Exercise 37b

  18. Enjoy ITK !

More Related