|
|
(829 intermediate revisions by 22 users not shown) |
Line 1: |
Line 1: |
| 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.
| | {{warning|1=The media wiki content on this page is no longer maintained. The examples presented on the https://itk.org/Wiki/* pages likely require ITK version 4.13 or earlier releases. In many cases, the examples on this page no longer conform to the best practices for modern ITK versions. |
| Please add examples in your areas of expertise!
| |
|
| |
|
| ==Simple Operations==
| | Recent examples that are up to date with ITK version 5 can be found at [https://itk.org/ITKExamples ITK Examples]}} |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/DistanceBetweenPoints | Distance between two points]] || {{ITKDoxygenURL|Point}} ||
| |
| |-
| |
| | [[ITK/Examples/CreateVector | Create a vector]] || {{ITKDoxygenURL|Vector}} ||
| |
| |-
| |
| | [[ITK/Examples/CovariantVector | Create a covariant vector]] || {{ITKDoxygenURL|CovariantVector}} ||
| |
| |-
| |
| | [[ITK/Examples/VariableLengthVector | Variable length vector ]] || {{ITKDoxygenURL|VariableLengthVector}} || main() works properly, but neither conversion seems to work.
| |
| |}
| |
| | |
| ==Image Basics==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Images/MaskImageFilter | Apply a mask to an image]] || {{ITKDoxygenURL|MaskImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/ImageDuplicator | Duplicate an image]] || {{ITKDoxygenURL|ImageDuplicator}} ||
| |
| |-
| |
| | [[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/RandomImageSource | Produce an image of noise]] || {{ITKDoxygenURL|RandomImageSource}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/ThresholdImageFilter | Threshold an image]] || {{ITKDoxygenURL|ThresholdImageFilter}} || The result is the original image but with the values below (or above) the threshold "clamped" to an output value.
| |
| |-
| |
| | [[ITK/Examples/Images/BinaryThresholdImageFilter | Threshold an image]] || {{ITKDoxygenURL|BinaryThresholdImageFilter}} || The result is a binary image (inside the threshold region or outside the threshold region).
| |
| |-
| |
| | [[ITK/Examples/Images/UnaryFunctorImageFilter | Apply a custom operation to each pixel in an image]] || {{ITKDoxygenURL|UnaryFunctorImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/MinimumMaximumImageCalculator | Find the minimum and maximum value (and the position of the value) in an image]] || {{ITKDoxygenURL|MinimumMaximumImageCalculator}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/AddImageFilter | Add two images together]] || {{ITKDoxygenURL|AddImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/PasteImageFilter | Paste a part of one image into another image]] || {{ITKDoxygenURL|PasteImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/VectorImage | Create a vector image]] || {{ITKDoxygenURL|VectorImage}} || An image with an ND vector at each pixel
| |
| |-
| |
| | [[ITK/Examples/Images/MultiplyImageFilter | Multiply two images together]] || {{ITKDoxygenURL|MultiplyImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/NeighborhoodIterator | Iterate over a region of an image with a neighborhood]] || {{ITKDoxygenURL|NeighborhoodIterator}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/ImageRegionIterator | Iterate over a region of an image]] || {{ITKDoxygenURL|ImageRegionIterator}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/ImageFileReader | Read an image]] || {{ITKDoxygenURL|ImageFileReader}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/RegionOfInterestImageFilter | Extract a portion of an image (region of interest)]] || {{ITKDoxygenURL|RegionOfInterestImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/ImageFileWriter | Write an image]] || {{ITKDoxygenURL|ImageFileWriter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/CurvatureFlowImageFilterType | Smooth an image using curvature flow]] || {{ITKDoxygenURL|CurvatureFlowImageFilterType}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/RescaleIntensityImageFilter | Rescale the intensity values of an image to a specified range]] || {{ITKDoxygenURL|RescaleIntensityImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/SetPixels | Set specified pixels to specified values]] || {{ITKDoxygenURL|Image}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/ConnectedComponentImageFilter | Label connected components in a binary image]] || {{ITKDoxygenURL|ConnectedComponentImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/NormalizeImageFilter | Normalize an image]] || {{ITKDoxygenURL|NormalizeImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/CastImageFilter | Cast an image from one type to another]] || {{ITKDoxygenURL|CastImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/PermuteAxesImageFilter | Switch the axes of an image]] || {{ITKDoxygenURL|PermuteAxesImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/LinearInterpolateImageFunction | Linearly interpolate a position in an image]] || {{ITKDoxygenURL|LinearInterpolateImageFunction}} ||
| |
| |-
| |
| | [[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}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/LaplacianRecursiveGaussianImageFilter | Compute the Laplacian of an image]] || {{ITKDoxygenURL|LaplacianRecursiveGaussianImageFilter}} ||
| |
| |}
| |
| | |
| ==Smoothing==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Images/MeanImageFilter | Mean filter an image]] || {{ITKDoxygenURL|MeanImageFilter}} || Replace each pixel by the mean of its neighborhood
| |
| |-
| |
| | [[ITK/Examples/Images/MedianImageFilter | Median filter an image]] || {{ITKDoxygenURL|MedianImageFilter}} || Replace each pixel by the median of its neighborhood
| |
| |-
| |
| | [[ITK/Examples/Images/DiscreteGaussianImageFilter | Smooth an image with a discrete Gaussian filter]] || {{ITKDoxygenURL|DiscreteGaussianImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/BinomialBlurImageFilter | Blur an image]] || {{ITKDoxygenURL|BinomialBlurImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/BilateralImageFilter | Bilateral filter an image]] || {{ITKDoxygenURL|BilateralImageFilter}} || Edge preserving smoothing.
| |
| |}
| |
| | |
| ==Morphology==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/BinaryErodeImageFilter | Erode a binary image]] || {{ITKDoxygenURL|BinaryErodeImageFilter}} || Shouldn't the output be "cleaner"? That is, solid regions should remain solid.
| |
| |-
| |
| | [[ITK/Examples/Images/BinaryDilateImageFilter | Dilate a binary image]] || {{ITKDoxygenURL|BinaryDilateImageFilter}} || Wait until BinaryErodeImageFilter is working.
| |
| |-
| |
| | [[ITK/Examples/Images/GrayscaleDilateImageFilter | Dilate a grayscale image]] || {{ITKDoxygenURL|GrayscaleDilateImageFilter}} || Wait until BinaryErodeImageFilter is working.
| |
| |-
| |
| | [[ITK/Examples/Images/GrayscaleErodeImageFilter | Erode a grayscale image]] || {{ITKDoxygenURL|GrayscaleErodeImageFilter}} || Wait until BinaryErodeImageFilter is working.
| |
| |}
| |
| | |
| ==Missing==
| |
| {{ITKExamplesTable}}
| |
| |}
| |
| | |
| ==Spectral Analysis==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Images/VnlFFTRealToComplexConjugateImageFilter | Compute the FFT of an image]] || {{ITKDoxygenURL|VnlFFTRealToComplexConjugateImageFilter}} ||
| |
| |}
| |
| | |
| ==Small Problems==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/CropImageFilter | Crop an image]] || {{ITKDoxygenURL|CropImageFilter}} || Works, but I'm not exactly sure how to specify the crop region. The documentation should be improved.
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/ConstantPadImageFilter | Pad an image with a constant value]] || {{ITKDoxygenURL|ConstantPadImageFilter}} || 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.
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/WrapPadImageFilter | Pad an image by wrapping]] || {{ITKDoxygenURL|WrapPadImageFilter}} || Not sure how to specify the final output size/extent. The documentation should be improved.
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/ShrinkImageFilter | Shrink an image]] || {{ITKDoxygenURL|ShrinkImageFilter}} || Image doesn't seem to be shrunk?
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/FlipImageFilter | Flip an image over specified axes]] || {{ITKDoxygenURL|FlipImageFilter}} || The axes specification is not quite right - warning: address of axes always evaluates true
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/VTKImageToImageFilter | Convert a VTK image to an ITK image]] || {{ITKDoxygenURL|VTKImageToImageFilter}} || Seems to expect an input image with only 1 component? (i.e. greyscale)
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/NormalizedCorrelationImageFilter | Normalized correlation]] || {{ITKDoxygenURL|NormalizedCorrelationImageFilter}} || Output is all black?
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/ShapedNeighborhoodIterator | Iterate over a region of an image with a shaped neighborhood]] || {{ITKDoxygenURL|ShapedNeighborhoodIterator}} || How do you specify the neighborhood?
| |
| |}
| |
| | |
| ==Big Problems==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/JoinImageFilter | Join images, stacking their components]] || {{ITKDoxygenURL|JoinImageFilter}} || How to convert the vector image produced by the joinFilter to a standard image?
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/MeanSquaresImageToImageMetric | Find the best position of the moving image in the fixed image.]] || {{ITKDoxygenURL|MeanSquaresImageToImageMetric}} || Output (0,0) is incorrect.
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/TranslateAnImage | Translate an image]] || {{ITKDoxygenURL|TranslationTransform}}, {{ITKDoxygenURL|ResampleImageFilter}} || This example currently freezes.
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/GradientImageFilter | Compute and display the gradient of an image]] || {{ITKDoxygenURL|GradientImageFilter}} || Blank output.
| |
| |}
| |
| | |
| [[ITK/Examples/QuickView | Easily display a set of images]]
| |