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

Slides:



Advertisements
Similar presentations
ITK Architecture Kitware Inc.. ITK Basics C++ Generic Programming Data Pipeline Multi-threading Streaming Exceptions Events / Observers Tcl, Python and.
Advertisements

Getting Started with ITK + VTK
ITK Segmentation Methods
ITK-Overview Insight Software Consortium. What is ITK Image Processing Segmentation Registration No Graphical User Interface (GUI) No Visualization.
ITK Deformable Registration
ITK Deformable Registration
National Alliance for Medical Image Computing Slicer3 plugins Common architecture for interactive and batch processing.
National Alliance for Medical Image Computing Slicer3 Architecture.
NA-MIC National Alliance for Medical Image Computing National Alliance for Medical Image Computing: NAMIC Ron Kikinis, M.D.
Medical Image Registration Kumar Rajamani. Registration Spatial transform that maps points from one image to corresponding points in another image.
National Alliance for Medical Image Computing Anatomy of a plugin Common architecture for interactive and batch processing.
NA-MIC National Alliance for Medical Image Computing 3D Slicer Interactive Modules Steve Pieper, PhD.
CSci 6971: Image Registration Lecture 6: Getting Started with ITK January 30, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart,
CSci 6971: Image Registration Lecture 26: BSpline Transforms April 20, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart, RPI.
CSci 6971: Image Registration Lecture 8: Registration Components February 6, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart,
Canny Edge Detector1 1)Smooth image with a Gaussian optimizes the trade-off between noise filtering and edge localization 2)Compute the Gradient magnitude.
1 Image Filtering Readings: Ch 5: 5.4, 5.5, 5.6,5.7.3, 5.8 (This lecture does not follow the book.) Images by Pawan SinhaPawan Sinha formal terminology.
CSci 6971: Image Registration Lecture 9: Registration Components February 10, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart,
CSci 6971: Image Registration Lecture 8: Image Resampling February 3, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart, RPI Dr.
CSci 6971: Image Registration Lecture 20: Demons Registration April 16, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart, RPI.
Computer-Aided Diagnosis and Display Lab Department of Radiology, Chapel Hill UNC Julien Jomier, Erwann Rault, and Stephen R. Aylward Computer.
Image Filtering. Problem! Noise is a problem, even in images! Gaussian NoiseSalt and Pepper Noise.
Introduction to ITK Casey Goodlett (with help from others as listed in references)
Software systems for Computer Vision and Image Processing Sungsoo Ha Prof. Murali Subbarao (Stony Brook University) Prof. A.N. Rajagopalan (Indian Institute.
National Alliance for Medical Image Computing Registration in Slicer3 Julien Jomier Kitware Inc.
NA-MIC National Alliance for Medical Image Computing IGT Software Design and Process Bill Lorensen GE Research.
Getting Started with ITK in Python Language
GPU Acceleration in ITK v4
Dr. Engr. Sami ur Rahman Assistant Professor Department of Computer Science University of Malakand Medical Imaging ITK.
Image Registration Lecture 7: Getting Started with ITK March 15, 2005 Prof. Charlene Tsai.
Multi-Modal Quantitative Analysis of Pediatric Focal Epilepsy Andy Eow Medical Vision Group CSAIL, MIT.
NA-MIC National Alliance for Medical Image Computing NA-MIC Software Engineering Bill Lorensen GE Research NA-MIC Engineering Core PI.
NA-MIC National Alliance for Medical Image Computing Slicer3 and the NA-MIC kit Sonia Pujol, Ph.D. Instructor of Radiology Surgical Planning.
ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.
ITK Input/Output Kitware Inc.. Overview IO Factory Mechanism Image File IO Transform File IO SpatialObject File IO Logger.
Programming into Slicer3. Sonia Pujol, Ph.D., Harvard Medical School -1- National Alliance for Medical Image Computing Programming into Slicer3 Sonia Pujol,
SimITK and SimVTK: ITK and VTK in Simulink DG Gobbi, P Mousavi, KM Li, J Xiang, A Campigotto, A LaPointe, G Fichtinger, P Abolmaesumi Medical Image Analysis.
ITK Introduction and Overview Spring Topics  What Is ITK History Features  Software Engineering Methodology.
NA-MIC National Alliance for Medical Image Computing National Alliance for Medical Image Computing: NAMIC Ron Kikinis, M.D.
NA-MIC National Alliance for Medical Image Computing Slicer and ITK Raul San Jose.
GPU Brainstorming What Classes to focus on. Top Priorities Level Sets – (1) ParallelSparseFieldSolver (look at link from Paul) – (?) NarrowBandLevelSet.
Yingcai Xiao Chapter 10 Image Processing. Outline Motivation DWA: a real world example Algorithms Code examples.
Slicer3 for developers – S.Pujol -1- National Alliance for Medical Image Computing Slicer3 Course for developers Sonia Pujol, Ph.D. Surgical Planning Laboratory.
COMP322/S2000/L171 Robot Vision System Major Phases in Robot Vision Systems: A. Data (image) acquisition –Illumination, i.e. lighting consideration –Lenses,
NA-MIC National Alliance for Medical Image Computing Process-, Work-Flow in Medical Image Processing Guido Gerig
Sejong Univ. Edge Detection Introduction Simple Edge Detectors First Order Derivative based Edge Detectors Compass Gradient based Edge Detectors Second.
SimITK/SimVTK: Model Driven Engineering for Medical Imaging 1.
ITK Basic Filters Kitware Inc.. ITK Basic Filters Pixel-wise Arithmetic, Casting, Thresholding Mathematical morphology Noise reduction Gaussian, Anisotropic.
NA-MIC National Alliance for Medical Image Computing Engineering a Segmentation Framework Marcel Prastawa.
Bill Hoffman, Jesus Caban, Brad Lowkamp, Dan Muller, Fabrice de Chaumont, Julien Michel, Harvey Cline, Gabe Hart, Ghassam Hamarech, John Galeotti, Raghu.
Read a DICOM File typedef unsigned charInputPixelType; const unsigned intInputDimension = 2; typedef itk::Image InputImageType; typedef itk::ImageFileReader.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Edge Segmentation in Computer Images CSE350/ Sep 03.
TOPIC 12 IMAGE SEGMENTATION & MORPHOLOGY. Image segmentation is approached from three different perspectives :. Region detection: each pixel is assigned.
Advisor : Ku-Yaw Chang Speaker : Ren-Li Shen /6/12.
ITK Statistical Classification Kitware Inc.. Statistical Classification Multiple Components Images K-Means Markov Random Fields.
National Alliance for Medical Image Computing Slicer3 Plugins Common architecture for interactive and batch processing.
NA-MIC National Alliance for Medical Image Computing Three ways to use the NA-MIC kit Sonia Pujol, Ph.D. Instructor of Radiology Surgical.
ITK 9.3. Level Set Segmentation Shape Detection Segmentation
Insight Toolkit Introduction Luis Ibáñez William Schroeder Insight Software Consortium.
DT-MRI BWH, MIT Carl-Fredrik Westin, Lauren O’Donnell, Raul San-Jose, Ola Friman, Gordon Kindlmann, William Wells, Sylvain Bouix, Marek Kubicki,
ITK Segmentation Methods
Detection of discontinuity using
Generic image diffusion system
ITK-Overview Insight Software Consortium.
ITK Architecture Kitware Inc..
Biomedical Image Processing Platform
ITK Workshop Software Design October 5-8, 2005.
SimpleITK Fundamental Concepts
NAC: Optimized registration in Slicer
Presentation transcript:

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

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing C++ Glue Code How to Integrate ITK in your application ITK Image Processing GUI {MFC,Qt, wxWin FLTK} Visualization {OpenGL, VTK}

National Alliance for Medical Image Computing ITK Developers

National Alliance for Medical Image Computing 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.

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing 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;

National Alliance for Medical Image Computing 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();

National Alliance for Medical Image Computing Basic Filters Pixel-wise Arithmetic, Casting, Thresholding Mathematical morphology Noise reduction Gaussian, Anisotropic diffusion Derivatives

National Alliance for Medical Image Computing Region Growing –ConfidenceConnected –ConnectedThreshold –IsolatedConnected Watersheds Level Sets –FastMarching –ShapeDetection –GeodesicActiveContours –ThresholdSegmentation –CannySegmentationLevelSet Segmentation Methods

National Alliance for Medical Image Computing SpeedCurvature Zero set, time = t Zero set, time = t+1 Shape Detection PDE Includes a curvature termPrevents leaking

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing shapeDetection->SetMaximumRMSError( ); 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

National Alliance for Medical Image Computing Fixed Image Moving Image Metric Transform Interpolator Optimizer Registration Method Registration Framework

National Alliance for Medical Image Computing ITK Transforms Rigid (Quaternion), Similarity, Affine Centered transforms ThinPlateSpline, ElasticBodySpline, B- Spline TransformIO: Matlab, XML, Text

National Alliance for Medical Image Computing ITK Metrics MeanSquares, NormalizedCorrellation, GradientDifference MutualInformation (Viola-Mattes) KullbackLeiblerCompareHistogram Model-to-Image metrics: - ICP

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

National Alliance for Medical Image Computing ITK Interpolators NearestNeighbor, Linear, BSpline WindowedSync

National Alliance for Medical Image Computing Enjoy ITK!