ITK/Examples: Difference between revisions
From KitwarePublic
< ITK
Jump to navigationJump to search
Daviddoria (talk | contribs) |
Daviddoria (talk | contribs) |
||
Line 220: | Line 220: | ||
|- | |- | ||
| [[ITK/Examples/SpectralAnalysis/CrossCorrelationInFourierDomain | Compute the cross-correlation of two images in the Fourier domain]] || {{ITKDoxygenURL|VnlFFTRealToComplexConjugateImageFilter}}{{ITKDoxygenURL|VnlFFTComplexConjugateToRealImageFilter}} || || | | [[ITK/Examples/SpectralAnalysis/CrossCorrelationInFourierDomain | Compute the cross-correlation of two images in the Fourier domain]] || {{ITKDoxygenURL|VnlFFTRealToComplexConjugateImageFilter}}{{ITKDoxygenURL|VnlFFTComplexConjugateToRealImageFilter}} || || | ||
|- | |||
| [[ITK/Examples/SpectralAnalysis/RealAndImaginaryToComplexImageFilter | Convert a real image and an imaginary image to a complex image]] || {{ITKDoxygenURL|RealAndImaginaryToComplexImageFilter}} || | |||
|} | |} | ||
Revision as of 14:59, 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
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. |