Your SlideShare is downloading. ×
  • Like
ITK Tutorial Presentation Slides-950
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

ITK Tutorial Presentation Slides-950

  • 3,630 views
Published

http://hdl.handle.net/1926/161

http://hdl.handle.net/1926/161

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,630
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
92
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Applications: Using Insight(itk) and The Visualization Toolkit(vtk) Bill Lorensen Jim Miller GE Research Niskayuna, NY November 8, 2001
  • 2. Agenda
    • Approaches to interfacing vtk and itk
    • Case Studies / Demos
      • Registration
        • MR/MR
        • CT/MR
      • Segmentation
        • Watershed
  • 3. Motivation
    • itk has no visualization capabilities
    • itk has some interesting segmentation and registration algorithms
    • Both itk and vtk have a pipeline architecture
    • vtk has a nice wrapping facility to interpreters like tcl and python
    • Avoid code duplication and use “best of breed” from each toolkit.
  • 4. vtk/itk Interfaces
    • Connect vtk pipelines to itk pipelines
    • Image filter class hierarchies
    • Implement vtk filters with itk algorithms
    • Callbacks for filter progress
  • 5. Connect pipelines - vtk to itk
    • vtkImageExport *movingExporter = vtkImageExport::New();
    • movingExporter->SetInput(movingReader->GetOutput());
    • typedef itk::VTKImageImport<InputType> ImageImportType;
    • ImageImportType::Pointer movingImporter = ImageImportType::New();
    • ConnectPipelines(movingExporter, movingImporter);
    InsightApplications/vtkITK/Common/vtkITKUtility.h
  • 6. Connect Pipelines
    • Implements itk pipeline protocol, invoking vtk callbacks
    • PropagateRequestedRegion()
    • UpdateOutputInformation()
    • GenerateOutputInformation()
    • GenerateData()
  • 7. vtkITK Class Hierarchies
    • Class Hierarchy
    • vtkImageToImageFilter
      • vtkITKImageToImageFilter
        • vtkITKImageToImageFilterFF
        • vtkITKImageToImageFilterUSUS
          • vtkITKDiscreteGaussianImageFilter
  • 8. vtkITKImageToImageFilter
    • Changes exception macros to errors/warnings
    • Delegates
      • Modified
      • DebugOn/Off
      • SetInput/Output
      • Update
  • 9. vtkITKImageToImageFilterFF
    • Defines Input/Output typedefs
      • typedef float InputImagePixelType;
      • typedef float OutputImagePixelType;
      • typedef itk::Image<InputImagePixelType, 3> InputImageType;
      • typedef itk::Image<OutputImagePixelType, 3> OutputImageType;
    • Constructor
      • Creates importers/exporters
      • Connects vtk and itk pipelines
  • 10. vtkITKDiscreteGaussianImageFilter
    • Instantiates filter
    • Delegates filter’s member data set’s/get’s
  • 11. vtk Filters Implemented with itk algorithms
    • vtkITKMutualInformationTransform
    • Implement InternalUpdate()
      • vtkImageExport
      • itk::VTKImageImport
      • ConnectPipelines()
      • Convert vtk transform to quaternion
      • itk::RegistrationMethod
      • Convert itk quaternion to vtk transform
  • 12. Illustrative Examples Registration
  • 13. Motivation for Registration
    • Intra-modality
      • Alzheimer’s
        • Longitudinal analysis
      • CT Lung
        • Side-by-side slice reading
    • Inter-modality
      • PET/MR/CT/US/XRAY Tomo
        • Fusion and analysis
  • 14. Mutual Information Registration
    • Computes “mutual information” between two datasets, a reference and target
      • MI(X,Y) = H(X) + H(Y) – H(X,Y)
    • Small parameter set
    • Developed by Sandy Wells (BWH) and Paul Viola (MIT) in 1995
    • Defacto standard for automatic, intensity based registration
  • 15. Longitudinal MRI Study
    • Register multiple volumetric MRI datasets of a patient taken over an extended time
    • Create a batch processing facility to process dozens of datasets
    • Resample the datasets
  • 16. Approach
    • Validate the algorithm
    • Pick a set of parameters that can be used across all the studies
    • For each pair of datasets
      • Perform registration
      • Output a transform
    • View the resampled source dataset in context with the target dataset
  • 17. The MI Algorithm Parameter Space
    • Learning Rate
    • Standard Deviation of Parzen Window estimate
    • Number of Samples for density estimate
    • Number of Iterations
    • Image variance
    • Translation scale factors
    • GE’s Design for Six Sigma (DFSS) Design of Experiments Tool
  • 18.  
  • 19.  
  • 20.  
  • 21. Division of Labor vtk itk vtk Read data Export data Import Data Normalize data Shrink Register Report transform Read data Reslice Display MIRegistration.cxx MultiCompare.tcl
  • 22. The Pipeline
    • vtkImageReader
    • vtkImageExport
    • itk::vtkImporter
    • itk::NormalizeImageFilter
    • itk::ShrinkImageFilter
    • itk::ImageRegistrationMethod
    • vtkTransform
  • 23. Oregon Data
    • 25 Registrations
    • 13 Subjects, some with AD
    • Qualitative comparison
    • One set of parameters for all studies
    • Data Courtesy of Jeffrey Kaye, Oregon Health Sciences Center
  • 24. Longitudinal MRI No Registration Checkerboard Source Original image Difference Target Original image
  • 25. Longitudinal MRI Registration Checkerboard Source Original image Difference Target Original image
  • 26. Multi Field MRI Data
    • Register 1.5T and 3T to 4T data
    • Resampled 1.5T and 3T to correspond to the 4T sampling
    • Volume rendering of the 3 datasets from the same view
    • Demo mri1.bat, MultiCompareAD.tcl
    InsightApplications/MRIRegistration
  • 27. 1.5T vs 4T MRI No Registration Checkerboard Source Original Image Difference Target Original Image
  • 28. 1.5T vs 4T MRI Registration Checkerboard Source Original Image Difference Target Original Image
  • 29. 3D Visualization of the same subject Scanned with different MR field Strengths 4T 3T 1.5T All Registered To 4T
  • 30. CT Lung Longitudinal Study
    • Register two CT exams of the same patient taken at two different times
    • Side-by-side synchronized view for visual comparison
  • 31. Lung CT No Registration Checkerboard Source Original Image Difference Target Original Image
  • 32. Lung CT Registration Checkerboard Source Original Image Difference Target Original Image
  • 33.  
  • 34. microPet/Volume CT
  • 35. microPet/Volume CT
  • 36. Demo CT/MR fusion
  • 37. Implementing a vtk Transform with itk
    • vtkITKMutualInformationTransform
    • DemoMutual.tcl
  • 38. Visible Woman Registration Case Study Bill Lorensen, GE Research Peter Ratiu, Brigham and Womens Hospital
  • 39. Agenda
    • Problem Statement
    • Methods
    • Results
    • Discussion
  • 40. Problem Statement
    • Register the Visible Human Female Computed Tomography and MRI Data to the cryo-section data
    • Validate the use of the itk Mutual Information Registration algorithm on data of differing modalities
    • Assess the performance of the registration using landmarks selected by an anatomical expert
  • 41. Methods
    • NormalizeImageFilter (itk)
    • Mutual Information Registration (itk)
      • Implemented as a vtk Transform
    • Marching Cubes (vtk)
    • Checkerboard Display (vtk)
  • 42. Methods
    • Multiple registration runs with increasing scales
    • Both RGB and CT data scaled to zero mean and unit variance
    • 1/16, 1/8, ¼, ½, 1 scale
    • .01, .01, .004, .004, .001 learning rate
    • 2000 iterations at each resolution
  • 43. CT Results
    • Initial vertical translation of 20 mm
    • Checkerboard display of two modalities after each resolution run
  • 44.  
  • 45.  
  • 46.  
  • 47.  
  • 48.  
  • 49.  
  • 50.  
  • 51.  
  • 52.  
  • 53. CT Results
    • Generated isosurfaces of skin and bone from CT data
    • Transformed according to computed transformation
    • At each triangle vertex, sample the RGB data to color the vertex
  • 54.  
  • 55.  
  • 56.  
  • 57.  
  • 58.  
  • 59.  
  • 60.  
  • 61.  
  • 62. CT Results
    • CT Landmarks transformed by Mutual Information matrix into RGB coordinate system
    • Compute distance between CT and RGB points at each iteration
  • 63.  
  • 64. MR Results
    • Initial transform computed using experts anatomical landmarks as correspondences
    • Same parameter schedule as CT/RGB
  • 65.  
  • 66.  
  • 67.  
  • 68.  
  • 69.  
  • 70.  
  • 71.  
  • 72.  
  • 73.  
  • 74.  
  • 75. MRI Results
    • MRI Landmarks transformed by Mutual Information matrix into RGB coordinate system
    • Compute distance between MRI and RGB points at each iteration
  • 76.  
  • 77. CT Discussion
    • CT to RGB rigid body registration is a good first step for subsequent deformable registration
  • 78. MRI Discussion
    • MRI to RGB registration was not effective
      • Too much anatomical distortion occurred between the MR and RGB acquisitions
  • 79. Examples Segmentation
  • 80. Watershed Segmentation
    • I/O and Visualization with vtk
    • Image processing and segmentation with itk
    • User interface with tk
    • Prototype in tcl
  • 81. Demo Watershed
  • 82. Applications: Using Insight(itk) and The Visualization Toolkit(vtk) Bill Lorensen Jim Miller GE Research Niskayuna, NY November 8, 2001