Presentation is loading. Please wait.

Presentation is loading. Please wait.

National Alliance for Medical Image Computing ITK The Image Segmentation and Registration Toolkit Julien Jomier Kitware Inc.

Similar presentations


Presentation on theme: "National Alliance for Medical Image Computing ITK The Image Segmentation and Registration Toolkit Julien Jomier Kitware Inc."— Presentation transcript:

1 National Alliance for Medical Image Computing http://na-mic.org ITK The Image Segmentation and Registration Toolkit Julien Jomier Kitware Inc.

2 National Alliance for Medical Image Computing http://na-mic.org What is ITK? Open Source (BSD-Like) Written in C++ Wrapping for Java, Python, Tcl Cross-Plaform Image Processing Segmentation Registration No Graphical User Interface (GUI) No Visualization

3 National Alliance for Medical Image Computing http://na-mic.org C++ Glue Code How to Integrate ITK in your application ITK Image Processing GUI {MFC,Qt, wxWin FLTK} Visualization {OpenGL, VTK}

4 National Alliance for Medical Image Computing http://na-mic.org ITK Developers

5 National Alliance for Medical Image Computing http://na-mic.org Generic Programming Example: Standard Template Library Abstraction of types and behaviors Templates -itkImage Images are N-Dimensional, arbitrary pixel types and dimension and pixel type must be defined at compile time.

6 National Alliance for Medical Image Computing http://na-mic.org Reader Image File Gaussian Image Writer File The Data Pipeline ITK has a Data Pipeline architecture Filters are connected together The output image is own by each filter Computation is performed on demand

7 National Alliance for Medical Image Computing http://na-mic.org The Simplest, yet useful ITK program #include “itkImage.h” #include “itkImageFileReader.h” #include “itkMedianImageFilter.h” #include “itkImageFileWriter.h” typedef itk::Image ImageType; typedef itk::ImageFileReader ReaderType; typedef itk::MedianImageFilter FilterType; typedef itk::ImageFileWriter WriterType;

8 National Alliance for Medical Image Computing http://na-mic.org The Simplest, yet useful ITK program ReaderType::Pointer reader= ReaderType::New(); FilterType::Pointer filter= FilterType::New(); WriterType::Pointer writer= WriterType::New(); reader->SetFileName(“InputImage.png”); filter->SetInput( reader->GetOutput() ); writer->SetInput( filter->GetOutput() ); writer->SetFileName(“OutputImage.png”); writer->Update();

9 National Alliance for Medical Image Computing http://na-mic.org Basic Filters Pixel-wise Arithmetic, Casting, Thresholding Mathematical morphology Noise reduction Gaussian, Anisotropic diffusion Derivatives

10 National Alliance for Medical Image Computing http://na-mic.org Region Growing –ConfidenceConnected –ConnectedThreshold –IsolatedConnected Watersheds Level Sets –FastMarching –ShapeDetection –GeodesicActiveContours –ThresholdSegmentation –CannySegmentationLevelSet Segmentation Methods

11 National Alliance for Medical Image Computing http://na-mic.org SpeedCurvature Zero set, time = t Zero set, time = t+1 Shape Detection PDE Includes a curvature termPrevents leaking

12 National Alliance for Medical Image Computing http://na-mic.org Feature Image Sigmoid Gradient Magnitude Gradient Input Image Binary Mask Smooth Positive LevelSet Rescale Balanced [-0.5,0.5] Input LevelSet Shape Detection Input Feature Threshold output LevelSet Shape Detection

13 National Alliance for Medical Image Computing http://na-mic.org typedef itk::Image ImageType; typedef itk::ShapeDetectionLevelSetImageFilter< ImageType, ImageType > FilterType; FilterType::Pointer shapeDetection = FilterType::New(); shapeDetection->SetInput( inputLevelSet ); shapeDetection->SetFeatureImage( speedImage ); shapeDetection->SetPropagationScaling( 1.0 ); shapeDetection->SetCurvatureScaling( 0.05 ); Shape Detection

14 National Alliance for Medical Image Computing http://na-mic.org shapeDetection->SetMaximumRMSError( 0.001 ); shapeDetection->SetMaximumIterations( 400 ); shapeDetection->Update(); std::cout GetRMSChange() << std::endl; std::cout GetElapsedIterations() << std::endl; thresholder->SetInput( shapeDetection->GetOutput() ); thresholder->SetLowerThreshold( -1e7 ); thresholder->SetUpperThreshold( 0.0 ); Shape Detection

15 National Alliance for Medical Image Computing http://na-mic.org Fixed Image Moving Image Metric Transform Interpolator Optimizer Registration Method Registration Framework

16 National Alliance for Medical Image Computing http://na-mic.org ITK Transforms Rigid (Quaternion), Similarity, Affine Centered transforms ThinPlateSpline, ElasticBodySpline, B- Spline TransformIO: Matlab, XML, Text

17 National Alliance for Medical Image Computing http://na-mic.org ITK Metrics MeanSquares, NormalizedCorrellation, GradientDifference MutualInformation (Viola-Mattes) KullbackLeiblerCompareHistogram Model-to-Image metrics: - ICP

18 National Alliance for Medical Image Computing http://na-mic.org ITK Optimizers Derived from VNL GradientDescent, ConjugateGradient, Powel Amoeba, One-plus-One, LBFGS(B), LevenbergMarquart Use metric value or metric derivative or both.

19 National Alliance for Medical Image Computing http://na-mic.org ITK Interpolators NearestNeighbor, Linear, BSpline WindowedSync

20 National Alliance for Medical Image Computing http://na-mic.org Enjoy ITK! www.itk.org


Download ppt "National Alliance for Medical Image Computing ITK The Image Segmentation and Registration Toolkit Julien Jomier Kitware Inc."

Similar presentations


Ads by Google