I Introduction
Welcome
Organization
How to Learn ITK
Software Organization
Obtaining the Software
Downloading ITK
Downloading Packaged Releases
Downloading using Git
Join the Mailing List
Directory Structure
Documentation
Data
The Insight Community and Support
A Brief History of ITK
Installation
Configuring ITK
Preparing CMake
Configuring ITK
Getting Started With ITK
Hello World !
System Overview
System Organization
Essential System Concepts
Generic Programming
Include Files and Class Definitions
Object Factories
Smart Pointers and Memory Management
Error Handling and Exceptions
Event Handling
Multi-Threading
Numerics
Data Representation
Data Processing Pipeline
Spatial Objects
Wrapping
II Design and Functionality
DataRepresentation
Image
Creating an Image
Reading an Image from a File
Accessing Pixel Data
Defining Origin and Spacing
RGB Images
Vector Images
Importing Image Data from a Buffer
PointSet
Creating a PointSet
Getting Access to Points
Getting Access to Data in Points
RGB as Pixel Type
Vectors as Pixel Type
Normals as Pixel Type
Mesh
Creating a Mesh
Inserting Cells
Managing Data in Cells
Customizing the Mesh
Topology and the K-Complex
Representing a PolyLine
Simplifying Mesh Creation
Iterating Through Cells
Visiting Cells
More on Visiting Cells
Path
Creating a PolyLineParametricPath
Containers
Spatial Objects
Introduction
Hierarchy
SpatialObject Tree Container
Transformations
Types of Spatial Objects
ArrowSpatialObject
BlobSpatialObject
CylinderSpatialObject
EllipseSpatialObject
GaussianSpatialObject
GroupSpatialObject
ImageSpatialObject
ImageMaskSpatialObject
LandmarkSpatialObject
LineSpatialObject
MeshSpatialObject
SurfaceSpatialObject
TubeSpatialObject
VesselTubeSpatialObject
DTITubeSpatialObject
SceneSpatialObject
Read/Write SpatialObjects
Statistics Computation via SpatialObjects
Filtering
Thresholding
Binary Thresholding
General Thresholding
Edge Detection
Canny Edge Detection
Casting and Intensity Mapping
Linear Mappings
Non Linear Mappings
Gradients
Gradient Magnitude
Gradient Magnitude With Smoothing
Derivative Without Smoothing
Second Order Derivatives
Second Order Recursive Gaussian
Laplacian Filters
Laplacian Filter Finite Difference
Laplacian Filter Recursive Gaussian
Neighborhood Filters
Mean Filter
Median Filter
Mathematical Morphology
Binary Filters
Grayscale Filters
Voting Filters
Binary Median Filter
Hole Filling Filter
Iterative Hole Filling Filter
Smoothing Filters
Blurring
Discrete Gaussian
Binomial Blurring
Recursive Gaussian IIR
Local Blurring
Gaussian Blur Image Function
Edge Preserving Smoothing
Introduction to Anisotropic Diffusion
Gradient Anisotropic Diffusion
Curvature Anisotropic Diffusion
Curvature Flow
MinMaxCurvature Flow
Bilateral Filter
Edge Preserving Smoothing in Vector Images
Vector Gradient Anisotropic Diffusion
Vector Curvature Anisotropic Diffusion
Edge Preserving Smoothing in Color Images
Gradient Anisotropic Diffusion
Curvature Anisotropic Diffusion
Distance Map
Geometric Transformations
Filters You Should be Afraid to Use
Change Information Image Filter
Flip Image Filter
Resample Image Filter
Introduction
Importance of Spacing and Origin
A Complete Example
Rotating an Image
Rotating and Scaling an Image
Resampling using a deformation field
Subsampling and image in the same space
Resampling an Anisotropic image to make it Isotropic
Frequency Domain
Computing a Fast Fourier Transform (FFT)
Filtering on the Frequency Domain
Extracting Surfaces
Surface extraction
Reading and Writing Images
Basic Example
Pluggable Factories
Using ImageIO Classes Explicitly
Reading and Writing RGB Images
Reading, Casting and Writing Images
Extracting Regions
Extracting Slices
Reading and Writing Vector Images
The Minimal Example
Producing and Writing Covariant Images
Reading Covariant Images
Reading and Writing Complex Images
Extracting Components from Vector Images
Reading and Writing Image Series
Reading Image Series
Writing Image Series
Reading and Writing Series of RGB Images
Reading and Writing DICOM Images
Foreword
Reading and Writing a 2D Image
Reading a 2D DICOM Series and Writing a Volume
Reading a 2D DICOM Series and Writing a 2D DICOM Series
Printing DICOM Tags From One Slice
Printing DICOM Tags From a Series
Changing a DICOM Header
Registration
Registration Framework
"Hello World" Registration
Features of the Registration Framework
Direction of the Transform Mapping
Registration is done in physical space
Monitoring Registration
Multi-Modality Registration
Viola-Wells Mutual Information
Mattes Mutual Information
Centered Transforms
Rigid Registration in 2D
Initializing with Image Moments
Similarity Transform in 2D
Rigid Transform in 3D
Centered Affine Transform
Multi-Resolution Registration
Fundamentals
Parameter Tuning
Transforms
Geometrical Representation
Transform General Properties
Identity Transform
Translation Transform
Scale Transform
Scale Logarithmic Transform
Euler2DTransform
CenteredRigid2DTransform
Similarity2DTransform
QuaternionRigidTransform
VersorTransform
VersorRigid3DTransform
Euler3DTransform
Similarity3DTransform
Rigid3DPerspectiveTransform
AffineTransform
BSplineDeformableTransform
KernelTransforms
Interpolators
Nearest Neighbor Interpolation
Linear Interpolation
B-Spline Interpolation
Windowed Sinc Interpolation
Metrics
Mean Squares Metric
Exploring a Metric
Normalized Correlation Metric
Mean Reciprocal Square Differences
Mutual Information Metric
Parzen Windowing
Viola and Wells Implementation
Mattes et al. Implementation
Kullback-Leibler distance metric
Normalized Mutual Information Metric
Mean Squares Histogram
Correlation Coefficient Histogram
Cardinality Match Metric
Kappa Statistics Metric
Gradient Difference Metric
Optimizers
Registration using Match Cardinality metric
Registration using the One plus One Evolutionary Optimizer
Registration using masks constructed with Spatial objects
Rigid registrations incorporating prior knowledge
Image Pyramids
Deformable Registration
FEM-Based Image Registration
BSplines Image Registration
Level Set Motion for Deformable Registration
BSplines Multi-Grid Image Registration
BSplines Multi-Grid Image Registration
BSplines Image Registration in 3D
Image Warping with Kernel Splines
Image Warping with BSplines
Demons Deformable Registration
Asymmetrical Demons Deformable Registration
Symmetrical Demons Deformable Registration
Visualizing Deformation fields
Visualizing 2D deformation fields
Visualizing 3D deformation fields
Model Based Registration
Point Set Registration
Point Set Registration in 2D
Point Set Registration in 3D
Point Set to Distance Map Metric
Registration Troubleshooting
Too many samples outside moving image buffer
General heuristics for parameter fine-tunning
Segmentation
Region Growing
Connected Threshold
Otsu Segmentation
Neighborhood Connected
Confidence Connected
Application of the Confidence Connected filter on the Brain Web Data
Isolated Connected
Confidence Connected in Vector Images
Segmentation Based on Watersheds
Overview
Using the ITK Watershed Filter
Level Set Segmentation
Fast Marching Segmentation
Shape Detection Segmentation
Geodesic Active Contours Segmentation
Threshold Level Set Segmentation
Canny-Edge Level Set Segmentation
Laplacian Level Set Segmentation
Geodesic Active Contours Segmentation With Shape Guidance
Feature Extraction
Hough Transform
Line Extraction
Circle Extraction
Statistics
Data Containers
Sample Interface
Sample Adaptors
ImageToListSampleAdaptor
PointSetToListSampleAdaptor
Histogram
Subsample
MembershipSample
MembershipSampleGenerator
K-d Tree
Algorithms and Functions
Sample Statistics
Mean and Covariance
Weighted Mean and Covariance
Sample Generation
SampleToHistogramFilter
NeighborhoodSampler
Sample Sorting
Probability Density Functions
Gaussian Distribution
Distance Metric
Euclidean Distance
Decision Rules
Maximum Decision Rule
Minimum Decision Rule
Maximum Ratio Decision Rule
Random Variable Generation
Normal (Gaussian) Distribution
Statistics applied to Images
Image Histograms
Scalar Image Histogram with Adaptor
Scalar Image Histogram with Generator
Color Image Histogram with Generator
Color Image Histogram Writing
Image Information Theory
Computing Image Entropy
Computing Images Mutual Information
Classification
k-d Tree Based k-Means Clustering
K-Means Classification
Bayesian Plug-In Classifier
Expectation Maximization Mixture Model Estimation
Classification using Markov Random Field
III ITK Community Participation
Iterators
Introduction
Programming Interface
Creating Iterators
Moving Iterators
Accessing Data
Iteration Loops
Image Iterators
ImageRegionIterator
ImageRegionIteratorWithIndex
ImageLinearIteratorWithIndex
ImageSliceIteratorWithIndex
ImageRandomConstIteratorWithIndex
Neighborhood Iterators
NeighborhoodIterator
Basic neighborhood techniques: edge detection
Convolution filtering: Sobel operator
Optimizing iteration speed
Separable convolution: Gaussian filtering
Slicing the neighborhood
Random access iteration
ShapedNeighborhoodIterator
Shaped neighborhoods: morphological operations
Image Adaptors
Image Casting
Adapting RGB Images
Adapting Vector Images
Adaptors for Simple Computation
Adaptors and Writers
How To Write A Filter
Terminology
Overview of Filter Creation
Streaming Large Data
Overview of Pipeline Execution
Details of Pipeline Execution
UpdateOutputInformation()
PropagateRequestedRegion()
UpdateOutputData()
Threaded Filter Execution
Filter Conventions
Optional
Useful Macros
How To Write A Composite Filter
Implementing a Composite Filter
A Simple Example
Software Process
Git Source Code Repository
CDash Regression Testing System
Working The Process
The Effectiveness of the Process
Appendices
Licenses
Insight Toolkit License
Third Party Licenses
DICOM Parser
Double Conversion
Expat
GDCM
GIFTI
HDF5
JPEG
KWSys
MetaIO
Netlib's SLATEC
NIFTI
NrrdIO
OpenJPEG
PNG
TIFF
VNL
ZLIB