Download presentation
Presentation is loading. Please wait.
Published bySheila Greene Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.