Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The...

28
Image Processing with ITK The Image Segmentation and Registration Toolkit

Transcript of Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The...

Page 1: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

Image Processing with

ITK The Image Segmentation and Registration Toolkit

Page 2: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

Insight Toolkit (ITK) • www.itk.org

• Started in 2000

• Image Processing Toolkit

– C++ library (+2 million LOC)

– Automatic bindings: Java, Python, TCL

– Portable by design: Linux, Windows, Mac OSX,

Solaris…

• Very active community: 1500+ registered users

Page 3: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

• Initially developed for the visible human

• Image Processing

• Segmentation

• Registration

• No Graphical User Interface (GUI)

• No Visualization

What is ITK?

Page 4: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

ITK Sponsors

The National

Science

Foundation

The National

Institute for Dental and

Craniofacial Research

The National Institute of Neurological

Disorders and Stroke

Page 5: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

ITK Developers

Page 6: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

• Public Investment: $14 Million

• Initial development: 5 years

• Continued maintenance: 5 years

• Users subscribed to the mailing-list: 1,754

• Monthly number of emails in users-list: 500

ITK by the Numbers

Page 7: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

Building Communities: ITK

• Insight Toolkit

– Initial funding: $14M / Current estimated cost:

$34M

Page 8: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

How to Integrate ITK in your

Application

C++ Glue Code

ITK

Image Processing

GUI

{MFC,Qt, wxWin FLTK}

Visualization

{OpenGL, VTK}

Page 9: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

What do I need ?

CMake

www.cmake.org

C++ Compiler

GCC 2.95 – 4.4

Visual C++ 6.0 – 9.0

Intel 7.1 – 9.0

Sun CC 5.7

IRIX CC

Borland 5.5

Mac - gcc

Page 10: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

Downloading the Software

Live on the Edge

GIT

Stability

Release tar files

Insight.tgz GIT repository

http://www.itk.org

Page 11: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

#include "itkImage.h"

#include "itkImageFileReader.h"

#include "itkGradientMagnitudeImageFilter.h"

int main( int argc, char **argv ) {

typedef itk::Image<unsigned short,2> ImageType;

typedef itk::ImageFileReader<ImageType> ReaderType;

typedef itk::GradientMagnitudeImageFilter<

ImageType,ImageType> FilterType;

ReaderType::Pointer reader = ReaderType::New();

FilterType::Pointer filter = FilterType::New();

reader->SetFileName( argv[1] );

filter->SetInput( reader->GetOutput() );

filter->Update();

return 0;

}

ITK Minimal Example

Page 12: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

• Denoising

• Image enhencement

• Edge detection

• Intensity filtering

Filtering Algorithms

Page 13: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

Image Segmentation

Page 14: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

Image Segmentation

Page 15: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

Segmentation

Page 16: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

Segmentation

Page 17: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

Satellite Images

Page 18: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

• Region Growing

– ConfidenceConnected

– ConnectedThreshold

– IsolatedConnected

• Watersheds

• Level Sets

– FastMarching

– ShapeDetection

– GeodesicActiveContours

– ThresholdSegmentation

– CannySegmentationLevelSet

Segmentation Algorithms

Page 19: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

Shape Detection

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

Page 20: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

Registration

Page 21: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

Image Registration Framework

Fixed

Image

Moving

Image

Metric

Transform

Interpolator Optimizer

Parameters

Page 22: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

• Transforms

– Linear: Translation, Rigid, Affine

– Deformable: B-Spline, TP-Spline, Daemon

• Metrics

– Mean square

– Cross-correlation

– Mutual Information

– …

• Optimizers

– Gradient Descent

– Genetic algorithms

– Conjugate gradient

– …

• Interpolators

Registration Algorithms

Page 23: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

• http://www.itk.org/Wiki/ITK

• http://www.itk.org/ItkSoftwareGuide.pdf

• http://www.itk.org/Doxygen/html/index.html

ITK Resources

Page 24: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started
Page 25: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started
Page 26: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started
Page 27: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

• The ITK Software Guide

is freely available as a

PDF document at

• www.itk.org/

ItkSoftwareGuide.pdf

• Its paper version can be

ordered from Amazon.com and

from Kitware’s e-store.

Page 28: Image Processing with ITK - RMLL2011.rmll.info/IMG/pdf/itk.pdf · Image Processing with ITK The Image Segmentation and Registration Toolkit . Insight Toolkit (ITK) • •Started

Enjoy ITK !