ITK/Examples: Difference between revisions
From KitwarePublic
< ITK
Jump to navigationJump to search
Daviddoria (talk | contribs) |
Daviddoria (talk | contribs) |
||
Line 106: | Line 106: | ||
| [[ITK/Examples/ImageProcessing/BinaryThresholdImageFilter | Threshold an image]] || {{ITKDoxygenURL|BinaryThresholdImageFilter}} || The result is a binary image (inside the threshold region or outside the threshold region). | | [[ITK/Examples/ImageProcessing/BinaryThresholdImageFilter | Threshold an image]] || {{ITKDoxygenURL|BinaryThresholdImageFilter}} || The result is a binary image (inside the threshold region or outside the threshold region). | ||
|- | |- | ||
| [[ITK/Examples/ImageProcessing/UnaryFunctorImageFilter | Apply a custom operation to each pixel in an image]] || {{ITKDoxygenURL|UnaryFunctorImageFilter}} || | | [[ITK/Examples/ImageProcessing/UnaryFunctorImageFilter | Apply a custom operation to each pixel in an image]] || {{ITKDoxygenURL|UnaryFunctorImageFilter}} || Perform a custom operation on every pixel in an image. This example rotate the vector-valued pixels by 90 degrees. | ||
|- | |- | ||
| [[ITK/Examples/ImageProcessing/MinimumMaximumImageCalculator | Find the minimum and maximum value (and the position of the value) in an image]] || {{ITKDoxygenURL|MinimumMaximumImageCalculator}} || | | [[ITK/Examples/ImageProcessing/MinimumMaximumImageCalculator | Find the minimum and maximum value (and the position of the value) in an image]] || {{ITKDoxygenURL|MinimumMaximumImageCalculator}} || |
Revision as of 01:10, 25 January 2011
These are fully independent, compilable examples. There is significant overlap in the examples, but they are each intended to illustrate a different concept and be fully stand alone compilable. Please add examples in your areas of expertise!
About the Examples
Simple Operations
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Catch an ITK exception | Try/Catch blocks | |
Get the points on a Bresenham line between two points | BresenhamLine | |
Add an offset to a pixel index | Offset | |
Distance between two points | Point | |
Create a vector | Vector | |
Create a covariant vector | CovariantVector | |
Get the name/type/class of an object | GetNameOfClass() | |
An object which holds the index of a pixel | Index | |
An object which holds the size of an image | Size | |
An object which holds the index (start) and size of a region of an image | ImageRegion | |
Make part of an image transparent | RGBAPixel | Transparency, RGBA, alpha |
Determine if one region is fully inside another region | ImageRegion | Region intersection |
Determine the overlap of two regions | ImageRegion | Region intersection |
Duplicate an image | ImageDuplicator | |
Produce an image of noise | RandomImageSource | |
Create a vector image | VectorImage | An image with an ND vector at each pixel |
Set specified pixels to specified values | Image |
Input/Output (IO)
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Convert a C-style array to an itkImage | ImportImageFilter | |
Read an image file without knowing its type before hand | ImageFileReader | |
Write an image | ImageFileWriter | |
Read an image | ImageFileReader | |
Write a TIFF image | TIFFImageIO | This is a general demonstration of how to use a specific writer rather than relying on the ImageFileWriter to choose for you. |
Display an ITK image | ImageToVTKImageFilter |
Image Processing
Iterating Over (Traversing) An Image
Image Edges, Gradients, and Derivatives
Smoothing
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Anti alias a binary image | AntiAliasBinaryImageFilter | |
Mean filter an image | MeanImageFilter | Replace each pixel by the mean of its neighborhood |
Median filter an image | MedianImageFilter | Replace each pixel by the median of its neighborhood |
Smooth an image with a discrete Gaussian filter | DiscreteGaussianImageFilter | |
Blur an image | BinomialBlurImageFilter | |
Bilateral filter an image | BilateralImageFilter | Edge preserving smoothing. |
Smooth an image using curvature flow | CurvatureFlowImageFilterType | |
Gaussian smoothing that works with image adaptors | SmoothingRecursiveGaussianImageFilter |
Morphology
Curves
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Compute the mean distance between all points of two curves | ContourMeanDistanceImageFilter |
Spectral Analysis
Example Name | ITK Classes Demonstrated | Description | |
---|---|---|---|
Compute the FFT of an image | VnlFFTRealToComplexConjugateImageFilter | ||
Compute the cross-correlation of two images in the Fourier domain | VnlFFTRealToComplexConjugateImageFilterVnlFFTComplexConjugateToRealImageFilter |
Utilities
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Monitor a filter | SimpleFilterWatcher | See debug style information. |
Time probe | TimeProbe | Compute the time between points in code. |
Statistics
Spatial Objects
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Convert a spatial object to an image | SpatialObjectToImageFilter | |
Ellipse | EllipseSpatialObject | |
Line spatial object | LineSpatialObject, LineSpatialObjectPoint | Specify a piecewise-linear object by specifying points along the line. |
Inspection
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Combine two images by alternating blocks of a checkerboard pattern | CheckerBoardImageFilter |
Image Registration
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
A basic global registration of two images | ImageRegistrationMethod, TranslationTransform | Translation only transform. |
A global registration of two images | ImageRegistrationMethod, AffineTransform | Full affine transform. |
A global registration of two images | ImageRegistrationMethod, BSplineDeformableTransform | BSpline transform. |
Mutual Information | MutualInformationImageToImageMetric, TranslationTransform | Global registration by maximizing the mutual information and using a translation only transform |
Mutual Information Affine | MutualInformationImageToImageMetric, AffineTransform | Global registration by maximizing the mutual information and using an affine transform |
Image Segmentation
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Mean shift clustering | ||
KMeans Clustering | ||
Multiphase Chan And Vese Sparse Field Level Set Segmentation | itkScalarChanAndVeseSparseLevelSetImageFilter, itkScalarChanAndVeseLevelSetFunction |
Meshes
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Decimation | ||
Add points and edges | ||
Compute normals of a mesh | QuadEdgeMeshNormalFilter |
Wish List
Included in the ITK Repository
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Image registration |
Matlab
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Write data from Matlab in a format readable by ITK | ||
Write data from ITK in a format readable by Matlab |
Developer Examples
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Produce an image programmatically. | ImageSource | Nothing in, image out. |
Filter an image | ImageToImageFilter | Image in, same type of image out. |
Write a filter with multiple inputs of the same type. | ImageToImageFilter | Two images in (same type), same type of image out. |
Write a filter with multiple inputs of different types. | ImageToImageFilter | Two images in (different type), image (same type as first input) out. |
Write a filter with multiple outputs of the same type. | ImageToImageFilter | Images in, two images out (same type as first input). |
Problems
Small Problems
Big Problems
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Join images, stacking their components | JoinImageFilter | How to convert the vector image produced by the joinFilter to a standard image? |
Find the best position of the moving image in the fixed image. | MeanSquaresImageToImageMetric | Output (0,0) is incorrect. |
Translate an image | TranslationTransform, ResampleImageFilter | This example currently freezes. |
Compute and display the gradient of an image | GradientImageFilter | Blank output. |