ITK/Examples: Difference between revisions
From KitwarePublic
< ITK
Jump to navigationJump to search
Daviddoria (talk | contribs) |
Daviddoria (talk | contribs) |
||
Line 464: | Line 464: | ||
|- | |- | ||
| [[ITK/Examples/Broken/Images/InPlace | In-place filtering of an image]] || {{ITKDoxygenURL|InPlaceImageFilter}} || This only works for filters which derive from itkInPlaceImageFilter | | [[ITK/Examples/Broken/Images/InPlace | In-place filtering of an image]] || {{ITKDoxygenURL|InPlaceImageFilter}} || This only works for filters which derive from itkInPlaceImageFilter | ||
|- | |- | ||
| [[ITK/Examples/Broken/Images/MirrorPadImageFilter | Pad an image]] || {{ITKDoxygenURL|MirrorPadImageFilter}} || Not sure how to specify the final output size/extent. The documentation should be improved. | | [[ITK/Examples/Broken/Images/MirrorPadImageFilter | Pad an image]] || {{ITKDoxygenURL|MirrorPadImageFilter}} || Not sure how to specify the final output size/extent. The documentation should be improved. |
Revision as of 17:09, 27 February 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! You can checkout the entire set of examples from this repository:
http://gitorious.org/itkwikiexamples/itkwikiexamples
Click here for instructions on how to build an example.
About the Examples
Simple Operations
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 |
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 |
DICOM
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Resample a DICOM series | GDCMImageIO | Resample a DICOM series with user-specified spacing. |
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 |
---|---|---|
Permute a sequence of indices | ImageRandomNonRepeatingConstIteratorWithIndex | |
Random number generator | MersenneTwisterRandomVariateGenerator | |
Map scalars into a jet colormap | JetColormapFunctor | |
Monitor a filter | SimpleFilterWatcher | See debug style information. |
Time probe | TimeProbe | Compute the time between points in code. |
Observe an event | Command | |
Vector container | VectorContainer | |
Bounding box | BoundingBox |
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. |
Blob | BlobSpatialObject |
Inspection
Example Name | ITK Classes Demonstrated | Description |
---|---|---|
Combine two images by alternating blocks of a checkerboard pattern | CheckerBoardImageFilter | |
Printing a pixel value to the console | GetPixel |
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. |
Compute and display the gradient of an image | GradientImageFilter | Blank output. |