+ All Categories
Home > Technology > ITK Tutorial Presentation Slides-950

ITK Tutorial Presentation Slides-950

Date post: 27-May-2015
Category:
Upload: kitware-kitware
View: 3,790 times
Download: 0 times
Share this document with a friend
Description:
http://hdl.handle.net/1926/161
Popular Tags:
82
Applications: Applications: Using Insight(itk) and Using Insight(itk) and The Visualization The Visualization Toolkit(vtk) Toolkit(vtk) Bill Lorensen Jim Miller GE Research Niskayuna, NY
Transcript
Page 1: ITK Tutorial Presentation Slides-950

Applications:Applications:Using Insight(itk) andUsing Insight(itk) andThe Visualization Toolkit(vtk)The Visualization Toolkit(vtk)

Bill Lorensen

Jim Miller

GE Research

Niskayuna, NY

November 8, 2001

Page 2: ITK Tutorial Presentation Slides-950

AgendaAgenda

Approaches to interfacing vtk and itkCase Studies / Demos

– Registration MR/MR CT/MR

– Segmentation Watershed

Page 3: ITK Tutorial Presentation Slides-950

MotivationMotivation

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.

Page 4: ITK Tutorial Presentation Slides-950

vtk/itk Interfacesvtk/itk Interfaces

Connect vtk pipelines to itk pipelinesImage filter class hierarchiesImplement vtk filters with itk algorithmsCallbacks for filter progress

Page 5: ITK Tutorial Presentation Slides-950

Connect pipelines - vtk to itkConnect 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.hInsightApplications/vtkITK/Common/vtkITKUtility.h

Page 6: ITK Tutorial Presentation Slides-950

Connect PipelinesConnect Pipelines

Implements itk pipeline protocol, invoking vtk callbacks

PropagateRequestedRegion()

UpdateOutputInformation()

GenerateOutputInformation()

GenerateData()

Page 7: ITK Tutorial Presentation Slides-950

vtkITK Class HierarchiesvtkITK Class Hierarchies

Class HierarchyvtkImageToImageFilter

–vtkITKImageToImageFiltervtkITKImageToImageFilterFFvtkITKImageToImageFilterUSUS…

–vtkITKDiscreteGaussianImageFilter

Page 8: ITK Tutorial Presentation Slides-950

vtkITKImageToImageFilter vtkITKImageToImageFilter

Changes exception macros to errors/warnings

Delegates– Modified– DebugOn/Off– SetInput/Output– Update

Page 9: ITK Tutorial Presentation Slides-950

vtkITKImageToImageFilterFFvtkITKImageToImageFilterFF

Defines Input/Output typedefstypedef 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

Page 10: ITK Tutorial Presentation Slides-950

vtkITKDiscreteGaussianImageFiltervtkITKDiscreteGaussianImageFilter

Instantiates filterDelegates filter’s member data

set’s/get’s

Page 11: ITK Tutorial Presentation Slides-950

vtk Filters Implemented vtk Filters Implemented with itk algorithmswith itk algorithms

vtkITKMutualInformationTransformImplement InternalUpdate()

– vtkImageExport– itk::VTKImageImport– ConnectPipelines()– Convert vtk transform to quaternion– itk::RegistrationMethod– Convert itk quaternion to vtk transform

Page 12: ITK Tutorial Presentation Slides-950

Illustrative ExamplesIllustrative Examples

Registration

Page 13: ITK Tutorial Presentation Slides-950

Motivation for RegistrationMotivation for Registration

Intra-modality– Alzheimer’s

Longitudinal analysis

– CT LungSide-by-side slice reading

Inter-modality– PET/MR/CT/US/XRAY Tomo

Fusion and analysis

Page 14: ITK Tutorial Presentation Slides-950

Mutual Information Mutual Information RegistrationRegistration

Computes “mutual information” between two datasets, a reference and target– MI(X,Y) = H(X) + H(Y) – H(X,Y)

Small parameter setDeveloped by Sandy Wells (BWH) and

Paul Viola (MIT) in 1995Defacto standard for automatic,

intensity based registration

Page 15: ITK Tutorial Presentation Slides-950

Longitudinal MRI StudyLongitudinal 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

Page 16: ITK Tutorial Presentation Slides-950

ApproachApproach

Validate the algorithmPick a set of parameters that can be

used across all the studiesFor each pair of datasets

– Perform registration– Output a transform

View the resampled source dataset in context with the target dataset

Page 17: ITK Tutorial Presentation Slides-950

The MI Algorithm Parameter The MI Algorithm Parameter SpaceSpace

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

Page 18: ITK Tutorial Presentation Slides-950
Page 19: ITK Tutorial Presentation Slides-950
Page 20: ITK Tutorial Presentation Slides-950
Page 21: ITK Tutorial Presentation Slides-950

Division of LaborDivision 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

Page 22: ITK Tutorial Presentation Slides-950

The PipelineThe Pipeline

vtkImageReadervtkImageExportitk::vtkImporteritk::NormalizeImageFilteritk::ShrinkImageFilteritk::ImageRegistrationMethodvtkTransform

Page 23: ITK Tutorial Presentation Slides-950

Oregon DataOregon 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

Page 24: ITK Tutorial Presentation Slides-950

Longitudinal MRI No Registration

Checkerboard

SourceOriginalimage

Difference

TargetOriginal image

Page 25: ITK Tutorial Presentation Slides-950

Longitudinal MRI

Registration

Checkerboard

SourceOriginalimage

Difference

TargetOriginal image

Page 26: ITK Tutorial Presentation Slides-950

Multi Field MRI DataMulti Field MRI Data

Register 1.5T and 3T to 4T dataResampled 1.5T and 3T to correspond

to the 4T samplingVolume rendering of the 3 datasets from

the same view

Demo mri1.bat, MultiCompareAD.tcl

InsightApplications/MRIRegistrationInsightApplications/MRIRegistration

Page 27: ITK Tutorial Presentation Slides-950

1.5T vs 4T MRI No Registration

Checkerboard

SourceOriginalImage

Difference

TargetOriginal Image

Page 28: ITK Tutorial Presentation Slides-950

1.5T vs 4T MRI

Registration

Checkerboard

SourceOriginalImage

Difference

TargetOriginal Image

Page 29: ITK Tutorial Presentation Slides-950

3D Visualization of the same subject3D Visualization of the same subjectScanned with different MR field StrengthsScanned with different MR field Strengths

4T

3T 1.5T

All Registered To 4T

Page 30: ITK Tutorial Presentation Slides-950

CT Lung Longitudinal CT Lung Longitudinal StudyStudy

Register two CT exams of the same patient taken at two different times

Side-by-side synchronized view for visual comparison

Page 31: ITK Tutorial Presentation Slides-950

Lung CT No Registration

Checkerboard

SourceOriginalImage

Difference

TargetOriginal Image

Page 32: ITK Tutorial Presentation Slides-950

Lung CT Registration

Checkerboard

SourceOriginalImage

Difference

TargetOriginal Image

Page 33: ITK Tutorial Presentation Slides-950
Page 34: ITK Tutorial Presentation Slides-950

microPet/Volume CTmicroPet/Volume CT

Page 35: ITK Tutorial Presentation Slides-950

microPet/Volume CTmicroPet/Volume CT

Page 36: ITK Tutorial Presentation Slides-950

Demo CT/MR fusion

Page 37: ITK Tutorial Presentation Slides-950

Implementing a vtk Implementing a vtk Transform with itkTransform with itk

vtkITKMutualInformationTransform

DemoMutual.tcl

Page 38: ITK Tutorial Presentation Slides-950

Visible Woman Registration Visible Woman Registration Case StudyCase Study

Bill Lorensen, GE Research

Peter Ratiu, Brigham and Womens Hospital

Page 39: ITK Tutorial Presentation Slides-950

AgendaAgenda

Problem StatementMethodsResultsDiscussion

Page 40: ITK Tutorial Presentation Slides-950

Problem StatementProblem 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

Page 41: ITK Tutorial Presentation Slides-950

MethodsMethods

NormalizeImageFilter (itk)Mutual Information Registration (itk)

– Implemented as a vtk TransformMarching Cubes (vtk)Checkerboard Display (vtk)

Page 42: ITK Tutorial Presentation Slides-950

MethodsMethods

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 rate2000 iterations at each resolution

Page 43: ITK Tutorial Presentation Slides-950

CT ResultsCT Results

Initial vertical translation of 20 mmCheckerboard display of two modalities

after each resolution run

Page 44: ITK Tutorial Presentation Slides-950
Page 45: ITK Tutorial Presentation Slides-950
Page 46: ITK Tutorial Presentation Slides-950
Page 47: ITK Tutorial Presentation Slides-950
Page 48: ITK Tutorial Presentation Slides-950
Page 49: ITK Tutorial Presentation Slides-950
Page 50: ITK Tutorial Presentation Slides-950
Page 51: ITK Tutorial Presentation Slides-950
Page 52: ITK Tutorial Presentation Slides-950
Page 53: ITK Tutorial Presentation Slides-950

CT ResultsCT 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

Page 54: ITK Tutorial Presentation Slides-950
Page 55: ITK Tutorial Presentation Slides-950
Page 56: ITK Tutorial Presentation Slides-950
Page 57: ITK Tutorial Presentation Slides-950
Page 58: ITK Tutorial Presentation Slides-950
Page 59: ITK Tutorial Presentation Slides-950
Page 60: ITK Tutorial Presentation Slides-950
Page 61: ITK Tutorial Presentation Slides-950
Page 62: ITK Tutorial Presentation Slides-950

CT ResultsCT Results

CT Landmarks transformed by Mutual Information matrix into RGB coordinate system

Compute distance between CT and RGB points at each iteration

Page 63: ITK Tutorial Presentation Slides-950

Distances Between Corresponding Key Points

0

2

4

6

8

10

12

14

1 2 3 4 5 6 7 8 9 10

Iteration

Dis

tanc

e (m

m)

[234,280]

[264,506]

[282,131]

[291,107]

[270,104]

[239,608]

[118,334]

[431,347]

[41,376]

[365,362]

[265,377]

[260,485]

[402,265]

[144,252]

Page 64: ITK Tutorial Presentation Slides-950

MR ResultsMR Results

Initial transform computed using experts anatomical landmarks as correspondences

Same parameter schedule as CT/RGB

Page 65: ITK Tutorial Presentation Slides-950
Page 66: ITK Tutorial Presentation Slides-950
Page 67: ITK Tutorial Presentation Slides-950
Page 68: ITK Tutorial Presentation Slides-950
Page 69: ITK Tutorial Presentation Slides-950
Page 70: ITK Tutorial Presentation Slides-950
Page 71: ITK Tutorial Presentation Slides-950
Page 72: ITK Tutorial Presentation Slides-950
Page 73: ITK Tutorial Presentation Slides-950
Page 74: ITK Tutorial Presentation Slides-950
Page 75: ITK Tutorial Presentation Slides-950

MRI ResultsMRI Results

MRI Landmarks transformed by Mutual Information matrix into RGB coordinate system

Compute distance between MRI and RGB points at each iteration

Page 76: ITK Tutorial Presentation Slides-950

Distances Between Corresponding Key Points

0

2

4

6

8

10

12

14

16

18

1 2 3 4 5 6 7 8

Iteration

Dis

tanc

e (m

m)

[283,129]

[242,584]

[185,118]

[378,128]

[277,303]

[185,131]

[378,135]

[241,144]

[318,146]

[70,352]

[143,254]

[402,261]

Page 77: ITK Tutorial Presentation Slides-950

CT DiscussionCT Discussion

CT to RGB rigid body registration is a good first step for subsequent deformable registration

Page 78: ITK Tutorial Presentation Slides-950

MRI DiscussionMRI Discussion

MRI to RGB registration was not effective– Too much

anatomical distortion occurred between the MR and RGB acquisitions

Page 79: ITK Tutorial Presentation Slides-950

ExamplesExamples

Segmentation

Page 80: ITK Tutorial Presentation Slides-950

Watershed SegmentationWatershed Segmentation

I/O and Visualization with vtkImage processing and segmentation

with itkUser interface with tkPrototype in tcl

Page 81: ITK Tutorial Presentation Slides-950

Demo Watershed

Page 82: ITK Tutorial Presentation Slides-950

Applications:Applications:Using Insight(itk) andUsing Insight(itk) andThe Visualization Toolkit(vtk)The Visualization Toolkit(vtk)

Bill Lorensen

Jim Miller

GE Research

Niskayuna, NY

November 8, 2001


Recommended