ITK/Examples: Difference between revisions

From KitwarePublic
< ITK
Jump to navigationJump to search
No edit summary
Line 14: Line 14:
|}
|}


==Working with Images==
==Image Basics==
{{ITKExamplesTable}}
{{ITKExamplesTable}}
|-
|-
| [[ITK/Examples/Images/ImageDuplicator | Duplicate an image]] || {{ITKDoxygenURL|ImageDuplicator}} ||  
| [[ITK/Examples/Images/ImageDuplicator | Duplicate an image]] || {{ITKDoxygenURL|ImageDuplicator}} ||  
|-
| [[ITK/Examples/Images/DerivativeImageFilter | Compute the derivative of an image in a particular direction]] || {{ITKDoxygenURL|DerivativeImageFilter}} ||
|-
| [[ITK/Examples/Images/GradientMagnitudeRecursiveGaussianImageFilter | Find the gradient magnitude of the image first smoothed with a Gaussian kernel]] || {{ITKDoxygenURL|GradientMagnitudeRecursiveGaussianImageFilter}} ||
|-
| [[ITK/Examples/Images/RecursiveGaussianImageFilter | Find higher derivatives of an image]] || {{ITKDoxygenURL|RecursiveGaussianImageFilter}} ||
|-
| [[ITK/Examples/Images/CannyEdgeDetectionImageFilter | Find edges in an image]] || {{ITKDoxygenURL|CannyEdgeDetectionImageFilter}} || How to set a reasonable Threshold for the output edges?
|-
|-
| [[ITK/Examples/Images/SigmoidImageFilter | Pass image pixels through a sigmoid function]] || {{ITKDoxygenURL|SigmoidImageFilter}} || The qualitative description of how Alpha and Beta affect the function from the ITK Software Guide and the associated images would be nice to add to the doxygen.
| [[ITK/Examples/Images/SigmoidImageFilter | Pass image pixels through a sigmoid function]] || {{ITKDoxygenURL|SigmoidImageFilter}} || The qualitative description of how Alpha and Beta affect the function from the ITK Software Guide and the associated images would be nice to add to the doxygen.
Line 46: Line 38:
|-
|-
| [[ITK/Examples/Images/MultiplyImageFilter | Multiply two images together]] || {{ITKDoxygenURL|MultiplyImageFilter}} ||
| [[ITK/Examples/Images/MultiplyImageFilter | Multiply two images together]] || {{ITKDoxygenURL|MultiplyImageFilter}} ||
|-
| [[ITK/Examples/Images/BinaryContourImageFilter | Extract the boundaries of connected regions in a binary image]] || {{ITKDoxygenURL|BinaryContourImageFilter}} ||
|-
|-
| [[ITK/Examples/Images/NeighborhoodIterator | Iterate over a region of an image with a neighborhood]] || {{ITKDoxygenURL|NeighborhoodIterator}} ||
| [[ITK/Examples/Images/NeighborhoodIterator | Iterate over a region of an image with a neighborhood]] || {{ITKDoxygenURL|NeighborhoodIterator}} ||
Line 58: Line 48:
|-
|-
| [[ITK/Examples/Images/ImageFileWriter | Write an image]] || {{ITKDoxygenURL|ImageFileWriter}} ||
| [[ITK/Examples/Images/ImageFileWriter | Write an image]] || {{ITKDoxygenURL|ImageFileWriter}} ||
|-
| [[ITK/Examples/Images/GradientMagnitudeImageFilter | Compute the gradient magnitude image]] || {{ITKDoxygenURL|GradientMagnitudeImageFilter}} ||
|-
|-
| [[ITK/Examples/Images/CurvatureFlowImageFilterType | Smooth an image using curvature flow]] || {{ITKDoxygenURL|CurvatureFlowImageFilterType}} ||
| [[ITK/Examples/Images/CurvatureFlowImageFilterType | Smooth an image using curvature flow]] || {{ITKDoxygenURL|CurvatureFlowImageFilterType}} ||
Line 77: Line 65:
| [[ITK/Examples/Images/LinearInterpolateImageFunction | Linearly interpolate a position in an image]] || {{ITKDoxygenURL|LinearInterpolateImageFunction}} ||
| [[ITK/Examples/Images/LinearInterpolateImageFunction | Linearly interpolate a position in an image]] || {{ITKDoxygenURL|LinearInterpolateImageFunction}} ||
|-
|-
| [[ITK/Examples/ItkVtkGlue/ImageToVTKImageFilter | Display an ITK image]] || {{ITKDoxygenURL|ImageToVTKImageFilter}} ||
| [[ITK/Examples/Images/ImageToVTKImageFilter | Display an ITK image]] || {{ITKDoxygenURL|ImageToVTKImageFilter}} ||
|}
 
==Image Edges, Gradients, and Derivatives==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Images/DerivativeImageFilter | Compute the derivative of an image in a particular direction]] || {{ITKDoxygenURL|DerivativeImageFilter}} ||
|-
| [[ITK/Examples/Images/GradientMagnitudeRecursiveGaussianImageFilter | Find the gradient magnitude of the image first smoothed with a Gaussian kernel]] || {{ITKDoxygenURL|GradientMagnitudeRecursiveGaussianImageFilter}} ||
|-
| [[ITK/Examples/Images/RecursiveGaussianImageFilter | Find higher derivatives of an image]] || {{ITKDoxygenURL|RecursiveGaussianImageFilter}} ||
|-
| [[ITK/Examples/Images/CannyEdgeDetectionImageFilter | Find edges in an image]] || {{ITKDoxygenURL|CannyEdgeDetectionImageFilter}} || How to set a reasonable Threshold for the output edges?
|-
| [[ITK/Examples/Images/BinaryContourImageFilter | Extract the boundaries of connected regions in a binary image]] || {{ITKDoxygenURL|BinaryContourImageFilter}} ||
|-
| [[ITK/Examples/Images/GradientMagnitudeImageFilter | Compute the gradient magnitude image]] || {{ITKDoxygenURL|GradientMagnitudeImageFilter}} ||
|}
|}



Revision as of 18:22, 23 October 2010

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!

Simple Operations

Example Name ITK Classes Demonstrated Description
Distance between two points Point
Create a vector Vector
Create a covariant vector CovariantVector
Variable length vector VariableLengthVector main() works properly, but neither conversion seems to work.

Image Basics

Example Name ITK Classes Demonstrated Description
Duplicate an image ImageDuplicator
Pass image pixels through a sigmoid function SigmoidImageFilter The qualitative description of how Alpha and Beta affect the function from the ITK Software Guide and the associated images would be nice to add to the doxygen.
Produce an image of noise RandomImageSource
Threshold an image ThresholdImageFilter The result is the original image but with the values below (or above) the threshold "clamped" to an output value.
Threshold an image BinaryThresholdImageFilter The result is a binary image (inside the threshold region or outside the threshold region).
Apply a custom operation to each pixel in an image UnaryFunctorImageFilter
Find the minimum and maximum value (and the position of the value) in an image MinimumMaximumImageCalculator
Add two images together AddImageFilter
Paste a part of one image into another image PasteImageFilter
Create a vector image VectorImage An image with an ND vector at each pixel
Multiply two images together MultiplyImageFilter
Iterate over a region of an image with a neighborhood NeighborhoodIterator
Iterate over a region of an image ImageRegionIterator
Read an image ImageFileReader
Extract a portion of an image (region of interest) RegionOfInterestImageFilter
Write an image ImageFileWriter
Smooth an image using curvature flow CurvatureFlowImageFilterType
Rescale the intensity values of an image to a specified range RescaleIntensityImageFilter
Set specified pixels to specified values Image
Label connected components in a binary image ConnectedComponentImageFilter
Normalize an image NormalizeImageFilter
Cast an image from one type to another CastImageFilter
Switch the axes of an image PermuteAxesImageFilter
Linearly interpolate a position in an image LinearInterpolateImageFunction
Display an ITK image ImageToVTKImageFilter

Image Edges, Gradients, and Derivatives

Example Name ITK Classes Demonstrated Description
Compute the derivative of an image in a particular direction DerivativeImageFilter
Find the gradient magnitude of the image first smoothed with a Gaussian kernel GradientMagnitudeRecursiveGaussianImageFilter
Find higher derivatives of an image RecursiveGaussianImageFilter
Find edges in an image CannyEdgeDetectionImageFilter How to set a reasonable Threshold for the output edges?
Extract the boundaries of connected regions in a binary image BinaryContourImageFilter
Compute the gradient magnitude image GradientMagnitudeImageFilter

Missing

Example Name ITK Classes Demonstrated Description

Small Problems

Example Name ITK Classes Demonstrated Description
Crop an image CropImageFilter Works, but I'm not exactly sure how to specify the crop region. The documentation should be improved.
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 How do you specify the neighborhood?

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.