SlideShare a Scribd company logo
Introduction to ITK Segmentation The Insight Consortium presented by Josh Cates Scientific Computing and Imaging Institute University of Utah
Session Objectives Review some important considerations when using ITK filters Overview of low-level image processing filters denoising / scale space feature extraction Overview some common segmentation filters connected component pixel classification watersheds level-set methods Brief introduction to image processing “frameworks” in ITK See examples  simple command line full applications with user interaction
Important Facts about ITK Filters Most filters are N dimensional Many filters run multi-threaded Filters are implemented within frameworks Most filters are documented Filters are regression tested Data type matters Pixel spacing matters Filters are not full applications Filters require parameter tuning
Big Picture: The Role of ITK Filters Raw Data Filtering linear nonlinear Feature Extraction differential geom. edge detection Segmentation region growing watersheds level-sets Visualization binary volume meshes labeled image implicit surfaces Dataflow architecture: ITK filters fit together to produce segmentation applications. Preprocessing Moral: ITK segmentation filters  are not complete applications –  components in a pipeline.
Big Picture: The Role of ITK Filters Raw Data Filtering Feature Extraction Segmentation Visualization User Interface
Where to go to  really  learn to use the filters http://www.itk.org Doxygen Manual Pages Software Guide Algorithm descriptions Tutorials for using algorithms Theory Book Insight into Images , Terry Yoo, ed. Users Mailing List CVS Repositories: Insight/Examples InsightApplications
What is an ITK Image? Templated over data type May be vector-valued Templated over dimensionality Spacing, origin & orientation information Pixels may be addressed directly or through an assortment of iterators Interpolators may also be used In general, implemented as a flat, C++ array Buffers may be imported & exported LargestPossibleRegion BufferedRegion RequestedRegion
Thresholding BinaryThresholdImageFilter
Thresholding ThresholdImageFilter
Intensity Transformations CastImageFilter RescaleIntensityImageFilter ShiftScaleImageFilter NormalizeImageFilter SigmoidImageFilter
Intensity Transformations SigmoidImageFilter
Image Morphology BinaryErodeImageFilter BinaryDilateImageFilter
Image Morphology GrayscaleErodeImageFilter GrayscaleDilateImageFilter
Edge Detection & Feature Extraction CannyEdgeDetectionImageFilter LaplacianImageFilter GradientMagnitudeImageFilter
Edge Detection & Feature Extraction GradientMagnitudeRecursiveGaussianImageFilter
Edge Detection & Feature Extraction DerivativeImageFilter
Image Denoising: Linear MeanImageFilter
Image Denoising: Linear MedianImageFilter
Image Denoising: Linear BinomialBlurImageFilter RecursiveGaussianImageFilter DiscreteGaussianImageFilter
Image Denoising: Nonlinear BilateralImageFilter CurvatureFlowImageFilter GradientAnisotropicDiffusionImageFilter CurvatureAnisotropicDiffusionImageFilter
Image Denoising: Nonlinear VectorGradientAnisotropicDiffusionImageFilter VectorCurvatureAnisotropicDiffusionImageFilter
Linear Diffusion
Nonlinear Diffusion
Geometric Transformations TransformImageFilter
Remember Filters generalize to N dimensions Filters “work” on arbitrary data types, but only some data types make sense Filters are implemented within  extensible  frameworks
Image Neighborhood Framework Neighborhood is a set of pixels local adjacent to one another Used to implement algorithms where result at pixel  i  is based on some computation within the neighborhood of  i Iterators abstract the API for working with a neighborhood of pixels in arbitrary dimensions Operators are applied to image neighborhood to perform various calculations Boundary conditions are handled automatically
Neighborhood Iterator Framework
Neighborhood Iterators
ITK Segmentation Algorithms Classification / Thresholding Region Growing Watersheds Level-set Methods “ Hybrid” Methods
Statistical Pattern Classification Idea Find disjoint regions in a feature space Classify image pixels according to feature vectors Classifier Multiple membership functions (each represents one possible class) return scores from feature vectors Decision rule based on scores Implemented using the ITK statistics subsystem (framework)
Statistical Pattern Classification Framework Measurement vectors are input to membership functions Membership functions feed scores to decision rule Decision rule compares scores and returns a class label Data Container (Test) Sample Image Membership Function(+) Classifier Decision Rule Data Container (Classification Result) Membership Sample Classified Image Parameter Estimator(+) Data Container(+) Training
Segmentation of gene expression images of the mouse brain at the Allen Institute for Brain Science, Seattle WA* Designed with ITK components Itk::ImageModelEstimatorBase & related classes itk::Statistics::MembershipFunctionBase & related classes itk::DecisionRuleBase & related classes Other filters: morphological, connected component labeling, threshold filters etc. Requirements Modular design / code reuse Careful memory usage (each 2D image is on the order of 150 MPixels) Robust and adaptable to change in image quality Classifier Framework Example *Courtesy of Dr. Lydia Ng, Allen Institute for Brain Science,  www.brainatlas.org .
Classifier Framework Example (a) Original ISH stained image; (b) heat map representing the membership  values of each pixel representing expression, and (c) the final threshold  mask generated from the heat map
Region Growing Idea Start with set of  seed pixels  – region Iteratively include neighboring pixels that satisfy  membership criteria Membership criteria – similarity based metrics Intensity interval, Regional statistics Algorithms Simple to complex variations Easy to write using ND neighborhood tools Several strategies Connected Threshold, Otsu Threshold, Neighborhood Connected, (Vector) Confidence Connected, Isolated Connected
Confidence Connected Filter Threshold based region growing Mean and standard deviation of region determine upper and lower thresholds Recomputes thresholds at intervals Compute   and   of region Flood fill with threshold interval  k  k  Repeat N times
Region Growing Segmentation ConfidenceConnectedImageFilter smoothing iterations 5 smoothing time step 0.125 C.C. multiplier 2.5 C.C. iterations 5 white matter (60,116) original ventricle (81,112) gray matter (107,69)
Region Growing Segmentation VectorConfidenceConnectedImageFilter
Watershed Segmentation Image treated as a topological relief map – intensity represents height Gradient descent defines  segmented regions Set of all pixels whose paths of steepest descent terminate in same local minimum Bounded by image features  “ No parameters”
ITK Watershed Transform Image (filtered) Feature Extraction “ Edge Map” Watershed Transform Watershed Depth
The Oversegmentation Problem Watershed transform produces too many regions One per local minimum Especially in noisy or highly detailed data To alleviate oversegmentation Hierarchical approach – merge adjacent regions according to increasing  watershed depth A. P. Mangan, R. T. Whitaker, Partitioning 3D surface meshes using watershed segmentation, IEEE Transactions on Visualization and Computer Graphics 5 (4) (1999) 308–321.
Watersheds Hierarchy Watershed Depth Threshold Boolean Operations On Sub-trees (e.g. user interaction) Oversegmented Undersegmented = basin  Watershed Transform Watershed Depth Enforce minimum watershed depths at successively higher levels. Initial Watershed  Transform
Example: Watersheds GUI Watershed Depth Threshold InsightApplications/SegmentationEditor 3D isosurface rendering Data with overlay Watershed transform Segmentation in progress Sliders manipulate watershed depth and position in the hierarchy.
Example: Watersheds GUI
Example: Watersheds GUI
LevelSet Surface Modeling Theory k th  Level Set: set of all points of value k Embed N dimensional surface as ZERO level set of N+1 dim. volume Model N dim. surface movement as evolving wavefront – forward differences solution to PDE
Segmentation Using Level Sets Define speed term(s) to go to zero at edges – data fitting term Surface motion/speed based on intensity-based features Solve the level-set equation where
PDE Solver Framework Purpose Nonlinear image processing – e.g. anisotropic diffusion Moving wave fronts – level set models Deformable registration Generic framework Separate solvers from equations –  interchangeable  code objects
PDE Solver Hierarchy Dense Finite Difference Solver Sparse Narrow Band Diffusion Other Solvers Finite Difference Function Diffusion Level Set Other Functions Aniso. Diff Curv.  Limited Segment. Threaded Sparse 4 th  Order Deformable Registration
Constructing a PDE Filter Input Image Output Image (Filtered) Solver Object Subclass Function Object Parameters
LevelSet Segmentation Framework “ Feature” Image Initial Model Output Model User-Defined LS Seg. Filter Level-Set Segmentation Filter Finite Difference Solver Curvature Function Finite Difference Solver Sparse-Field Level-Set Solver Level Set Function Shape Detection Function Active-Contours Function Laplacian Function Threshold Function Canny Edges Function
LevelSet Segmentation Algorithms in ITK Fast marching Geodesic active contours CURVES (vessel segmentation) Intensity interval (scalar and vector) Canny edge distance Laplacian edges …  and more.
Example: Threshold based LS Segmentation Speed function (positive inside object) Similar to confidence connected filter Points Inside Points Outside Points Outside Low Threshold High Threshold Image Intensity Model Speed Lefohn, Kniss, Hansen, Whitaker, “GPU-Based, Interactive, Level-Set Models for Volume Visualization and Analysis”, IEEE Vis 2003 Lefohn, Whitaker, Cates, “Interactive Level-Set Models for Brain Tumor Segmentation”, MICCAI 2003
Example: LevelSet Segmentation GUI
Multiscale LevelSet 3D Segmentation Seed surface Data Scale 1/4 1/2 1/1
Advanced Features in the PDE Framework Parallel Solvers – Narrowband, Sparse field Speedup (vs. 1 processor Number of processors SGI Origin 3000 64 600 Mhz Processors
4 th  Order Flow Segmentation Framework
Segmentation Using 4 th  Order Flows Special 4 th  order solver plugs into LS segmentation  framework – no change in function objects. Speed term only Speed + Anisotropic 4 th  order terms (not real-time)
SNAP Tool Aimed at clinical users – easy to learn and use Implements various ITK level set algorithms Implements both edge-based and  region competition  geodesic snake  methodology InsightApplications/Snap
SNAP User Interface Dialog for setting evolution parameters Scalpel tool for editing segmentations Manual Segmentation InsightApplications/Snap SNAP Segmentation of the Caudate Nuclei SNAP Segmentation Wizard with VCR Controls
“Hybrid” Segmentation Methods Apply several algorithms in sequence Utilize strengths of each Speed / accuracy tradeoffs — e.g. connected component vs. level-sets Maximize use of information in data — e.g. region based plus boundary based
Hybrid Method: Region Growing + Level Sets Generate initial model using confidence connected filter Fit to data using level-set methods – minimize distance to Canny edges Canny LS Segmentation Filter LS Image (float) Image Confidence  Connected Initial  model Anisotropic Diffusion Feature Image
Confidence Connected + LevelSet Result Initial confidence- connected result Post-processing with  Canny LS segmenter LS Speed Term: distance from Canny edges Data: Warfield, Nabavi, Butz, Tuncali, Silverman, “Intraoperative segmentation and nonrigid  registration for image guided therapy, in: MICCAI'2000, SpringerVerlag, 2000, pp.176-185.
http://www.itk.org enjoy ITK!

More Related Content

PPT
ITK Tutorial Presentation Slides-947
PPT
ITK Tutorial Presentation Slides-950
PDF
Introduction to VTK
PPT
ITK Tutorial Presentation Slides-951
PDF
Medical image computing - BMVA summer school 2014
PPT
Presentation Object Recognition And Tracking Project
PPT
A Framework for Comparison and Evaluation of Nonlinear Intra-Subject Image Re...
PDF
MEDICAL IMAGE SEGMENTATION FOR DISEASE DETECTION USING DIGITAL FILTER
ITK Tutorial Presentation Slides-947
ITK Tutorial Presentation Slides-950
Introduction to VTK
ITK Tutorial Presentation Slides-951
Medical image computing - BMVA summer school 2014
Presentation Object Recognition And Tracking Project
A Framework for Comparison and Evaluation of Nonlinear Intra-Subject Image Re...
MEDICAL IMAGE SEGMENTATION FOR DISEASE DETECTION USING DIGITAL FILTER

What's hot (20)

PPT
Video object tracking with classification and recognition of objects
PPTX
Object tracking
PPTX
Object Detection & Tracking
PDF
Detection and Tracking of Moving Object: A Survey
PDF
Presentation of Visual Tracking
PPT
Real-time Object Tracking
PPTX
Object tracking
PDF
IRJET-Haar Classifier based Identification and Tracking of Moving Objects fro...
PDF
Overview Of Video Object Tracking System
PPTX
TRACKING OF PARTIALLY OCCLUDED OBJECTS IN VIDEO SEQUENCES
PDF
Kk3517971799
PPTX
motion and feature based person tracking in survillance videos
PDF
Gesture Recognition using Principle Component Analysis & Viola-Jones Algorithm
PDF
Occlusion and Abandoned Object Detection for Surveillance Applications
PDF
IRJET- Image based Approach for Indian Fake Note Detection by Dark Channe...
PDF
Edge Detection Using Fuzzy Logic with Varied Inputs
PPTX
A Genetic Algorithm-Based Moving Object Detection For Real-Time Traffic Surv...
PDF
Video surveillance Moving object detection& tracking Chapter 1
PDF
Performance Evaluation of Image Edge Detection Techniques
DOCX
lab report 4
Video object tracking with classification and recognition of objects
Object tracking
Object Detection & Tracking
Detection and Tracking of Moving Object: A Survey
Presentation of Visual Tracking
Real-time Object Tracking
Object tracking
IRJET-Haar Classifier based Identification and Tracking of Moving Objects fro...
Overview Of Video Object Tracking System
TRACKING OF PARTIALLY OCCLUDED OBJECTS IN VIDEO SEQUENCES
Kk3517971799
motion and feature based person tracking in survillance videos
Gesture Recognition using Principle Component Analysis & Viola-Jones Algorithm
Occlusion and Abandoned Object Detection for Surveillance Applications
IRJET- Image based Approach for Indian Fake Note Detection by Dark Channe...
Edge Detection Using Fuzzy Logic with Varied Inputs
A Genetic Algorithm-Based Moving Object Detection For Real-Time Traffic Surv...
Video surveillance Moving object detection& tracking Chapter 1
Performance Evaluation of Image Edge Detection Techniques
lab report 4
Ad

Similar to ITK Tutorial Presentation Slides-946 (20)

PPT
Image segmentation ppt
PPTX
IMAGE SEGMENTATION.
PDF
Different Image Segmentation Techniques for Dental Image Extraction
PPT
digital imagesegmentation-191212120951.ppt
PPT
Image segmentation
PDF
A STUDY AND ANALYSIS OF DIFFERENT EDGE DETECTION TECHNIQUES
PPTX
Image processing
PDF
imagesegmentationppt-120409061123-phpapp01 (2).pdf
PDF
imagesegmentationppt-120409061123-phpapp01 (2).pdf
PDF
Image segmentation
PPT
ImSeg04 (2).ppt
PPT
ImSeg04.ppt
PPT
Im seg04
PPT
Final ppt
PPT
Introduction to Digital Image Processing
PPT
Segmentation
PPTX
image processing using matlab in faculty
PDF
Image segmentation
PDF
A version of watershed algorithm for color image segmentation
PDF
Image segmentation by modified map ml estimations
Image segmentation ppt
IMAGE SEGMENTATION.
Different Image Segmentation Techniques for Dental Image Extraction
digital imagesegmentation-191212120951.ppt
Image segmentation
A STUDY AND ANALYSIS OF DIFFERENT EDGE DETECTION TECHNIQUES
Image processing
imagesegmentationppt-120409061123-phpapp01 (2).pdf
imagesegmentationppt-120409061123-phpapp01 (2).pdf
Image segmentation
ImSeg04 (2).ppt
ImSeg04.ppt
Im seg04
Final ppt
Introduction to Digital Image Processing
Segmentation
image processing using matlab in faculty
Image segmentation
A version of watershed algorithm for color image segmentation
Image segmentation by modified map ml estimations
Ad

More from Kitware Kitware (20)

PPT
Radial Thickness Calculation and Visualization for Volumetric Layers-8397
PPT
Registration-3771
PPT
Automatic Brain Segmentation-3770
PPT
Nrrd to Dicom Conversion-3769
PPT
Data Saving-3767
PPT
FreeSurfer Reader-3766
PPT
Functional Magnetic Resonance Imaging Analysis-3765
PPT
Diffusion Tensor Imaging Analysis-3749
PPT
Manual Segmentation-3747
PPT
Data Loading and Visualization-3735
PPT
Principles and Practices of Scientific Originology-8392
PPT
Principles and Practices of Scientific Originology-8391
PPT
ITK Tutorial Presentation Slides-953
PPT
ITK Tutorial Presentation Slides-952
PPT
ITK Tutorial Presentation Slides-949
PPT
ITK Tutorial Presentation Slides-948
PPT
ITK Tutorial Presentation Slides-945
PPT
ITK Tutorial Presentation Slides-944
PPT
ITK Tutorial Presentation Slides-943
PPT
A Quantitative DTI Fiber Tract Analysis Suite-898
Radial Thickness Calculation and Visualization for Volumetric Layers-8397
Registration-3771
Automatic Brain Segmentation-3770
Nrrd to Dicom Conversion-3769
Data Saving-3767
FreeSurfer Reader-3766
Functional Magnetic Resonance Imaging Analysis-3765
Diffusion Tensor Imaging Analysis-3749
Manual Segmentation-3747
Data Loading and Visualization-3735
Principles and Practices of Scientific Originology-8392
Principles and Practices of Scientific Originology-8391
ITK Tutorial Presentation Slides-953
ITK Tutorial Presentation Slides-952
ITK Tutorial Presentation Slides-949
ITK Tutorial Presentation Slides-948
ITK Tutorial Presentation Slides-945
ITK Tutorial Presentation Slides-944
ITK Tutorial Presentation Slides-943
A Quantitative DTI Fiber Tract Analysis Suite-898

Recently uploaded (20)

PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Machine learning based COVID-19 study performance prediction
PDF
Electronic commerce courselecture one. Pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
sap open course for s4hana steps from ECC to s4
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation_ Review paper, used for researhc scholars
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
Mobile App Security Testing_ A Comprehensive Guide.pdf
Network Security Unit 5.pdf for BCA BBA.
Machine learning based COVID-19 study performance prediction
Electronic commerce courselecture one. Pdf
Programs and apps: productivity, graphics, security and other tools
Dropbox Q2 2025 Financial Results & Investor Presentation
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Agricultural_Statistics_at_a_Glance_2022_0.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Diabetes mellitus diagnosis method based random forest with bat algorithm
sap open course for s4hana steps from ECC to s4
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation_ Review paper, used for researhc scholars
“AI and Expert System Decision Support & Business Intelligence Systems”
Digital-Transformation-Roadmap-for-Companies.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The AUB Centre for AI in Media Proposal.docx
The Rise and Fall of 3GPP – Time for a Sabbatical?

ITK Tutorial Presentation Slides-946

  • 1. Introduction to ITK Segmentation The Insight Consortium presented by Josh Cates Scientific Computing and Imaging Institute University of Utah
  • 2. Session Objectives Review some important considerations when using ITK filters Overview of low-level image processing filters denoising / scale space feature extraction Overview some common segmentation filters connected component pixel classification watersheds level-set methods Brief introduction to image processing “frameworks” in ITK See examples simple command line full applications with user interaction
  • 3. Important Facts about ITK Filters Most filters are N dimensional Many filters run multi-threaded Filters are implemented within frameworks Most filters are documented Filters are regression tested Data type matters Pixel spacing matters Filters are not full applications Filters require parameter tuning
  • 4. Big Picture: The Role of ITK Filters Raw Data Filtering linear nonlinear Feature Extraction differential geom. edge detection Segmentation region growing watersheds level-sets Visualization binary volume meshes labeled image implicit surfaces Dataflow architecture: ITK filters fit together to produce segmentation applications. Preprocessing Moral: ITK segmentation filters are not complete applications – components in a pipeline.
  • 5. Big Picture: The Role of ITK Filters Raw Data Filtering Feature Extraction Segmentation Visualization User Interface
  • 6. Where to go to really learn to use the filters http://www.itk.org Doxygen Manual Pages Software Guide Algorithm descriptions Tutorials for using algorithms Theory Book Insight into Images , Terry Yoo, ed. Users Mailing List CVS Repositories: Insight/Examples InsightApplications
  • 7. What is an ITK Image? Templated over data type May be vector-valued Templated over dimensionality Spacing, origin & orientation information Pixels may be addressed directly or through an assortment of iterators Interpolators may also be used In general, implemented as a flat, C++ array Buffers may be imported & exported LargestPossibleRegion BufferedRegion RequestedRegion
  • 10. Intensity Transformations CastImageFilter RescaleIntensityImageFilter ShiftScaleImageFilter NormalizeImageFilter SigmoidImageFilter
  • 12. Image Morphology BinaryErodeImageFilter BinaryDilateImageFilter
  • 13. Image Morphology GrayscaleErodeImageFilter GrayscaleDilateImageFilter
  • 14. Edge Detection & Feature Extraction CannyEdgeDetectionImageFilter LaplacianImageFilter GradientMagnitudeImageFilter
  • 15. Edge Detection & Feature Extraction GradientMagnitudeRecursiveGaussianImageFilter
  • 16. Edge Detection & Feature Extraction DerivativeImageFilter
  • 17. Image Denoising: Linear MeanImageFilter
  • 18. Image Denoising: Linear MedianImageFilter
  • 19. Image Denoising: Linear BinomialBlurImageFilter RecursiveGaussianImageFilter DiscreteGaussianImageFilter
  • 20. Image Denoising: Nonlinear BilateralImageFilter CurvatureFlowImageFilter GradientAnisotropicDiffusionImageFilter CurvatureAnisotropicDiffusionImageFilter
  • 21. Image Denoising: Nonlinear VectorGradientAnisotropicDiffusionImageFilter VectorCurvatureAnisotropicDiffusionImageFilter
  • 25. Remember Filters generalize to N dimensions Filters “work” on arbitrary data types, but only some data types make sense Filters are implemented within extensible frameworks
  • 26. Image Neighborhood Framework Neighborhood is a set of pixels local adjacent to one another Used to implement algorithms where result at pixel i is based on some computation within the neighborhood of i Iterators abstract the API for working with a neighborhood of pixels in arbitrary dimensions Operators are applied to image neighborhood to perform various calculations Boundary conditions are handled automatically
  • 29. ITK Segmentation Algorithms Classification / Thresholding Region Growing Watersheds Level-set Methods “ Hybrid” Methods
  • 30. Statistical Pattern Classification Idea Find disjoint regions in a feature space Classify image pixels according to feature vectors Classifier Multiple membership functions (each represents one possible class) return scores from feature vectors Decision rule based on scores Implemented using the ITK statistics subsystem (framework)
  • 31. Statistical Pattern Classification Framework Measurement vectors are input to membership functions Membership functions feed scores to decision rule Decision rule compares scores and returns a class label Data Container (Test) Sample Image Membership Function(+) Classifier Decision Rule Data Container (Classification Result) Membership Sample Classified Image Parameter Estimator(+) Data Container(+) Training
  • 32. Segmentation of gene expression images of the mouse brain at the Allen Institute for Brain Science, Seattle WA* Designed with ITK components Itk::ImageModelEstimatorBase & related classes itk::Statistics::MembershipFunctionBase & related classes itk::DecisionRuleBase & related classes Other filters: morphological, connected component labeling, threshold filters etc. Requirements Modular design / code reuse Careful memory usage (each 2D image is on the order of 150 MPixels) Robust and adaptable to change in image quality Classifier Framework Example *Courtesy of Dr. Lydia Ng, Allen Institute for Brain Science, www.brainatlas.org .
  • 33. Classifier Framework Example (a) Original ISH stained image; (b) heat map representing the membership values of each pixel representing expression, and (c) the final threshold mask generated from the heat map
  • 34. Region Growing Idea Start with set of seed pixels – region Iteratively include neighboring pixels that satisfy membership criteria Membership criteria – similarity based metrics Intensity interval, Regional statistics Algorithms Simple to complex variations Easy to write using ND neighborhood tools Several strategies Connected Threshold, Otsu Threshold, Neighborhood Connected, (Vector) Confidence Connected, Isolated Connected
  • 35. Confidence Connected Filter Threshold based region growing Mean and standard deviation of region determine upper and lower thresholds Recomputes thresholds at intervals Compute  and  of region Flood fill with threshold interval  k  k  Repeat N times
  • 36. Region Growing Segmentation ConfidenceConnectedImageFilter smoothing iterations 5 smoothing time step 0.125 C.C. multiplier 2.5 C.C. iterations 5 white matter (60,116) original ventricle (81,112) gray matter (107,69)
  • 37. Region Growing Segmentation VectorConfidenceConnectedImageFilter
  • 38. Watershed Segmentation Image treated as a topological relief map – intensity represents height Gradient descent defines segmented regions Set of all pixels whose paths of steepest descent terminate in same local minimum Bounded by image features “ No parameters”
  • 39. ITK Watershed Transform Image (filtered) Feature Extraction “ Edge Map” Watershed Transform Watershed Depth
  • 40. The Oversegmentation Problem Watershed transform produces too many regions One per local minimum Especially in noisy or highly detailed data To alleviate oversegmentation Hierarchical approach – merge adjacent regions according to increasing watershed depth A. P. Mangan, R. T. Whitaker, Partitioning 3D surface meshes using watershed segmentation, IEEE Transactions on Visualization and Computer Graphics 5 (4) (1999) 308–321.
  • 41. Watersheds Hierarchy Watershed Depth Threshold Boolean Operations On Sub-trees (e.g. user interaction) Oversegmented Undersegmented = basin Watershed Transform Watershed Depth Enforce minimum watershed depths at successively higher levels. Initial Watershed Transform
  • 42. Example: Watersheds GUI Watershed Depth Threshold InsightApplications/SegmentationEditor 3D isosurface rendering Data with overlay Watershed transform Segmentation in progress Sliders manipulate watershed depth and position in the hierarchy.
  • 45. LevelSet Surface Modeling Theory k th Level Set: set of all points of value k Embed N dimensional surface as ZERO level set of N+1 dim. volume Model N dim. surface movement as evolving wavefront – forward differences solution to PDE
  • 46. Segmentation Using Level Sets Define speed term(s) to go to zero at edges – data fitting term Surface motion/speed based on intensity-based features Solve the level-set equation where
  • 47. PDE Solver Framework Purpose Nonlinear image processing – e.g. anisotropic diffusion Moving wave fronts – level set models Deformable registration Generic framework Separate solvers from equations – interchangeable code objects
  • 48. PDE Solver Hierarchy Dense Finite Difference Solver Sparse Narrow Band Diffusion Other Solvers Finite Difference Function Diffusion Level Set Other Functions Aniso. Diff Curv. Limited Segment. Threaded Sparse 4 th Order Deformable Registration
  • 49. Constructing a PDE Filter Input Image Output Image (Filtered) Solver Object Subclass Function Object Parameters
  • 50. LevelSet Segmentation Framework “ Feature” Image Initial Model Output Model User-Defined LS Seg. Filter Level-Set Segmentation Filter Finite Difference Solver Curvature Function Finite Difference Solver Sparse-Field Level-Set Solver Level Set Function Shape Detection Function Active-Contours Function Laplacian Function Threshold Function Canny Edges Function
  • 51. LevelSet Segmentation Algorithms in ITK Fast marching Geodesic active contours CURVES (vessel segmentation) Intensity interval (scalar and vector) Canny edge distance Laplacian edges … and more.
  • 52. Example: Threshold based LS Segmentation Speed function (positive inside object) Similar to confidence connected filter Points Inside Points Outside Points Outside Low Threshold High Threshold Image Intensity Model Speed Lefohn, Kniss, Hansen, Whitaker, “GPU-Based, Interactive, Level-Set Models for Volume Visualization and Analysis”, IEEE Vis 2003 Lefohn, Whitaker, Cates, “Interactive Level-Set Models for Brain Tumor Segmentation”, MICCAI 2003
  • 54. Multiscale LevelSet 3D Segmentation Seed surface Data Scale 1/4 1/2 1/1
  • 55. Advanced Features in the PDE Framework Parallel Solvers – Narrowband, Sparse field Speedup (vs. 1 processor Number of processors SGI Origin 3000 64 600 Mhz Processors
  • 56. 4 th Order Flow Segmentation Framework
  • 57. Segmentation Using 4 th Order Flows Special 4 th order solver plugs into LS segmentation framework – no change in function objects. Speed term only Speed + Anisotropic 4 th order terms (not real-time)
  • 58. SNAP Tool Aimed at clinical users – easy to learn and use Implements various ITK level set algorithms Implements both edge-based and region competition geodesic snake methodology InsightApplications/Snap
  • 59. SNAP User Interface Dialog for setting evolution parameters Scalpel tool for editing segmentations Manual Segmentation InsightApplications/Snap SNAP Segmentation of the Caudate Nuclei SNAP Segmentation Wizard with VCR Controls
  • 60. “Hybrid” Segmentation Methods Apply several algorithms in sequence Utilize strengths of each Speed / accuracy tradeoffs — e.g. connected component vs. level-sets Maximize use of information in data — e.g. region based plus boundary based
  • 61. Hybrid Method: Region Growing + Level Sets Generate initial model using confidence connected filter Fit to data using level-set methods – minimize distance to Canny edges Canny LS Segmentation Filter LS Image (float) Image Confidence Connected Initial model Anisotropic Diffusion Feature Image
  • 62. Confidence Connected + LevelSet Result Initial confidence- connected result Post-processing with Canny LS segmenter LS Speed Term: distance from Canny edges Data: Warfield, Nabavi, Butz, Tuncali, Silverman, “Intraoperative segmentation and nonrigid registration for image guided therapy, in: MICCAI'2000, SpringerVerlag, 2000, pp.176-185.