ITK/Examples
From KitwarePublic
< ITK
Jump to navigationJump to search
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 |
---|---|---|
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 | |
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 |
---|---|---|
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 |
---|---|---|
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. |
Morphology
Spectral Analysis
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Compute the FFT of an image | VnlFFTRealToComplexConjugateImageFilter |
Utilities
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Monitor a filter | SimpleFilterWatcher | See debug style information. |
Statistics
Image Segmentation
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Mean shift clustering | ||
KMeans Clustering |
Meshes
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Decimation | ||
Add points and edges |
Wish List
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Level Sets | ||
Region Growing | ||
Mesh subdivision |
Included in the ITK Repository
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Image registration |
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. |
Problems
Small Problems
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Compute the Laplacian of an image | GaussianMixtureModelComponent | Input image type must be double or float (probably should smooth before this anyway, so do this type conversion in the smoothing filter? |
Compute distributions of image pixels using GMM EM | GaussianMixtureModelComponent | |
Compute distributions of image pixels using GMM EM | ExpectationMaximizationMixtureModelEstimator | |
Compute distributions of samples using GMM EM | ExpectationMaximizationMixtureModelEstimator | Someone please confirm that this outputs the mean and the variance (i.e. I used a standard deviation of 30 to create the samples and the second estimated parameter is near 1000 (~30^2) . Is this correct?) |
Find edges in an image | CannyEdgeDetectionImageFilter | How to set a reasonable Threshold for the output edges? |
Variable length vector | VariableLengthVector | main() works properly, but neither conversion seems to work. |
Compute the histogram of an image | ImageToHistogramFilter | The last entry of the red histogram should contain several values, but it is 0? |
Classifying pixels using KMeans | KmeansModelEstimator | How to apply the labels of the filter to the input image? |
Basic region growing | RegionGrowImageFilter | Just getting started with demo... |
Find connected components in an image | ConnectedThresholdImageFilter | Just need to finish it. |
Convert an image from one type to another | ConvertPixelBuffer | |
Apply a function to every pixel with access to its neighborhood | NeighborhoodOperatorImageFilter | |
Apply a function to every pixel with access to its neighborhood | NeighborhoodOperatorImageFunction | |
In-place filtering of an image | InPlaceImageFilter | This only works for filters which derive from itkInPlaceImageFilter |
Pad an image with a constant value | ConstantPadImageFilter | Not sure how to specify the final output size/extent. The documentation should be improved. |
Pad an image | MirrorPadImageFilter | Not sure how to specify the final output size/extent. The documentation should be improved. |
Pad an image by wrapping | WrapPadImageFilter | Not sure how to specify the final output size/extent. The documentation should be improved. |
Shrink an image | ShrinkImageFilter | Image doesn't seem to be shrunk? |
Flip an image over specified axes | FlipImageFilter | The axes specification is not quite right - warning: address of axes always evaluates true |
Convert a VTK image to an ITK image | VTKImageToImageFilter | Seems to expect an input image with only 1 component? (i.e. greyscale) |
Normalized correlation | NormalizedCorrelationImageFilter | Output is all black? |
Iterate over a region of an image with a shaped neighborhood | ShapedNeighborhoodIterator | Crashes when initializing the iterator loop? |
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. |