+ All Categories
Home > Documents > ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics...

ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics...

Date post: 30-Dec-2015
Category:
Upload: angela-dalton
View: 216 times
Download: 1 times
Share this document with a friend
Popular Tags:
41
ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology
Transcript
Page 1: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

ITK The Insight Segmentation &

Registration Toolkit

Martin Urschler

Institute for Computer Graphics and Vision

Graz University of Technology

Page 2: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Contents

What is ITK?BackgroundConcepts

Examples FiltersSegmentationRigid and Deformable Registration

Conclusion

Page 3: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

What is ITK?

(Medical) Image Processing in C++

Segmentation

Registration

No Graphical User Interface (GUI)Bindings to Qt, Fltk

No VisualizationBindings to Kitware VTK, VolView

Page 4: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Short History

NLM ITK @ www.itk.org

1999: NIH grant for 3 years to develop open source medical seg. & reg. toolkit

Insight Software Consortium:GE Corporate R&D Kitware (vtk, VolView)UNC, UT, UPenn

Page 5: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

How To Integrate ITK?

Page 6: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

What Does One Need?

Page 7: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Concepts (I)

C++ Generic Programming (Templates)

Data Pipeline

Support for Multi-Threading

Events and Observers

Smart Pointers

Object Factories for Data Management

TCL and Python wrappings

Extreme Programming

Page 8: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Concepts (II)

Page 9: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Concepts (III)

Data Pipeline

Page 10: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Concepts (IV)

vxl – vnl library (vxl.sourceforge.net)C++ wrapper around netlib (fortran) (specialized) matrix & vector classesMatrix decompositions (svd, …)Real polynomials and root finderOptimization (levenberg-marquardt,

gradient descent, …)

Page 11: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Itk::Image & itk::Mesh

Image< PixelType, Dimension >

RegionsLargestPossibleBufferedRequested

Mesh< PointType, Dimension, MeshTrait > Indexed face set

Page 12: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Spatial Objects

Scene Graph - Object hierarchy

Stores transformations

Check if points are inside SO, …

E.g. Image, Surface, Landmark, Tube, Ellipse, …

Page 13: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Basic Filters

Data Pipeline

e.g. Threshold, Casting, Intensity Mapping, Gradient, Mean, Median, Binary & Grayscale Morphology, (Recursive) Gaussian-Blur, Canny Edge Detect, Laplacian, Anisotropic Diffusion, Bilateral Filtering,

DistanceMap, Image Resampling, …

Page 14: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Segmentation

Partitioning images into meaningful pieces, e.g. delineating regions of anatomical interest.

Edge based – find boundaries between regions Pixel Classification – metrics classify regions Region based – similarity of pixels within a

segment

Page 15: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Segmentation Pipeline

Page 16: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Segmentation Pipeline

Page 17: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Segmentation

Region Growing, different criterionsConnected thresholdNeighbourhood connectedConfidence connected

Statistical model of region (mean, std-dev)Fuzzy connected

Unsharp definition of an affinity relation.

Page 18: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Watershed Segmentation

Page 19: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Watershed Segmentation

Level 1

Page 20: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Watershed Segmentation

Level 2

Page 21: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Level Set Segmentation

Model n-dim. Surface movement as an evolving wavefrontSurface is zero level set of n+1-dim. function f

Solve PDE

( , )( ) ( , ) 0

f x tv x f x t

t

Page 22: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Level Set Segmentation

Define speed term v(x) to go to zero at edges – data fitting term

Surface motion based on image features or intensities

Insight PDE solver framework

Page 23: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Level Set Segmentation

Page 24: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Level Set Segmentation

Example: ThresholdLevelSetImageFilter

Page 25: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Level Set Segmentation

Page 26: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Combined SegmentationInitial model – confidence conn. region grow

Fit to data using canny based level set filter

Page 27: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Registration Framework

Find transformation mapping homologous points into each other

Many medical applications:Time series registrationMulti-modality image fusion (MR/CT –

SPECT, …)Atlas construction (for segmentation)

Page 28: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Registration Framework

Components:

Page 29: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Inverse Mapping

Relationship between points of two imagesOutput pixels are mapped back onto the input image

Avoids holes in outputInterpolate output pixel from input neighbourhood

Page 30: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Note on Spacing & Origin

In medical img. registration, a transform is rigid only with respect to physical coordinate and not pixel coordinatePhys.-Coord = Pixel-Coord * Img-Spacing + Img-Origin

Registration is always with respect to physical coordinates! -> make sure that image spacing and origin are set accordingly!

Page 31: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Registration

itkTransform: Identity, Translation, Rotation, Similarity,

Affine, …Alternative 3D rigid transform:

Quaternion/VersorRigidTransform Exact representation of 3D rotation Versor leads to smoother parameter space for

optimization Avoids Gimbal Lock!

Page 32: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Registration

itkInterpolateImageFunction:Choice: Efficiency vs. QualityNearestNeighbor (piecewise constant image)Linear (piecewise linear image)BSpline

Page 33: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Registration

ImageToImageMetric:Measure how well „moving“ image matches

fixed oneMean SquaresNormalized CorrelationMutual Information (different

implementations available)

Page 34: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Registration

Mutual Information:Entropies of images A,B: H(A), H(B)Joint entropy of A,B: H(A,B) If A and B independent H(A,B) = H(A)+H(B)Else difference is MI -> Minimize differenceProblem: estimate pdfs

for H(A), H(B), H(A,B)

Page 35: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Registration

Optimizer:Conjugate GradientGradientDescentRegularStep GradientDescentEvolutionaryLevenberg-MarquardtSome specialized algorithms

Page 36: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Registration

Itk(MultiResolution)ImageRegistration class combines all componentsRobustness: Multiscale Approach

based on image pyramids

Translation to Rigid to Deformable

Coarse to fine grid strategy

Page 37: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Deformable Registration

FEM-basedModel image as physical body on which

external forces actBody deforms to minimize external forceResistance of body to deformation serves

as regularizationFormulation as regularized variational

energy optimization

Page 38: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Deformable Registration

BSplineDeformableTransformDeformable warpDeformation field by optimizing BSpline

coefficients

Grid positioning

Page 39: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Deformable Registration

Demons algorithm (J.P. Thirion) Intra-Modality Image is set of iso-contours Regular grid of forces deforms image by pushing

contours in normal direction Displacement from optical flow equation with

regularization term

Useful for segmentation by registering to atlas.

Page 40: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Demons Algorithm Scheme

Page 41: ITK The Insight Segmentation & Registration Toolkit Martin Urschler Institute for Computer Graphics and Vision Graz University of Technology.

Conclusion

Very useful for rapid prototyping

Strongly growing community and code base

Problems:Very complexOverhead -> higher run-timesStill under development


Recommended