|
|
(621 intermediate revisions by 17 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!
| |
| You can checkout the entire set of examples from this repository:
| |
| http://gitorious.org/itkwikiexamples/itkwikiexamples
| |
| <pre>git clone git://gitorious.org/itkwikiexamples/itkwikiexamples.git ITKWikiExamples</pre>
| |
|
| |
|
| ==About the Examples==
| | Recent examples that are up to date with ITK version 5 can be found at [https://itk.org/ITKExamples ITK Examples]}} |
| * [http://www.itk.org/Wiki/images/e/e6/ITK_Examples_Iowa_Meeting_2010_11-8-2010.odp Official announcement]
| |
| ===ItkVtkGlue===
| |
| ITK and VTK are very separate toolkits - ITK for image processing and VTK for data visualization. It is often convenient to use the two together - namely, to display an ITK image on the screen. The ItkVtkGlue kit serves exactly this purpose. Also provided inside ItkVtkGlue is a QuickView class to allow a 2 line display of an ITK image.
| |
| | |
| If you download the entire ITK Wiki Examples Collection, the ItkVtkGlue directory will be included and configured. If you wish to just build a few examples, then you will need to [http://gitorious.org/itkwikiexamples/itkwikiexamples/blobs/raw/master/ItkVtkGlue.tar.gz download ItkVtkGlue] and build it.
| |
| | |
| ===[[ITK/Examples/Instructions/ForUsers|Information for Wiki Examples Users]]===
| |
| If you just want to use the Wiki Examples, [[ITK/Examples/Instructions/ForUsers|go here]]. You will learn how to search for examples, build a few examples and build all of the examples.
| |
| | |
| ===[[ITK/Examples/Instructions/ForDevelopers|Information for Wiki Examples Developers]]===
| |
| If you want to contribute examples [[ITK/Examples/Instructions/ForDevelopers|go here]]. You will learn how to add a new example and the guidelines for writing an example.
| |
| | |
| ===[[ITK/Examples/Instructions/ForAdministrators|Information for Wiki Examples Administrators]]===
| |
| If you are a Wiki Example Administrator or want to learn more about the process [[ITK/Examples/Instructions/ForAdministrators|go here]]. You will learn how the Wiki Examples repository is organized, how the repository is synced to the wiki and how to add new topics, tests and regression baselines.
| |
| | |
| ==Simple Operations==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/VectorResampleImageFilter | Translate a vector image]] || {{ITKDoxygenURL|TranslationTransform}}, {{ITKDoxygenURL|VectorResampleImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/TranslationTransform | Translate an image]] || {{ITKDoxygenURL|TranslationTransform}}, {{ITKDoxygenURL|ResampleImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/NumericTraits | Get some basic information about a type]] || {{ITKDoxygenURL|NumericTraits}}||
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/ScalarToRGBColormapImageFilter | Apply a color map to an image]] || {{ITKDoxygenURL|ScalarToRGBColormapImageFilter}}||
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/TryCatch | Catch an ITK exception]] || || Try/Catch blocks
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/BresenhamLine | Get the points on a Bresenham line between two points]] || {{ITKDoxygenURL|BresenhamLine}} ||
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/Offset | Add an offset to a pixel index]] || {{ITKDoxygenURL|Offset}} ||
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/DistanceBetweenPoints | Distance between two points]] || {{ITKDoxygenURL|Point}} ||
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/DistanceBetweenIndices | Distance between two indices]] || {{ITKDoxygenURL|Point}}, {{ITKDoxygenURL|Index}} ||
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/CreateVector | Create a vector]] || {{ITKDoxygenURL|Vector}} ||
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/CovariantVector | Create a covariant vector]] || {{ITKDoxygenURL|CovariantVector}} ||
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/GetNameOfClass | Get the name/type/class of an object ]] || || GetNameOfClass()
| |
| |-
| |
| | [[ITK/Examples/Images/Index | An object which holds the index of a pixel ]] || {{ITKDoxygenURL|Index}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/Size | An object which holds the size of an image ]] || {{ITKDoxygenURL|Size}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/ImageRegion | An object which holds the index (start) and size of a region of an image ]] || {{ITKDoxygenURL|ImageRegion}} ||
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/Transparency | Make part of an image transparent]] || {{ITKDoxygenURL|RGBAPixel}} || Transparency, RGBA, alpha
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/RegionIntersection | Determine if one region is fully inside another region]] || {{ITKDoxygenURL|ImageRegion}} || Region intersection, IsInside()
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/PixelInsideRegion | Determine if a pixel is inside of a region]] || {{ITKDoxygenURL|ImageRegion}} || IsInside()
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/RegionOverlap | Determine the overlap of two regions]] || {{ITKDoxygenURL|ImageRegion}} || Region intersection
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/ImageDuplicator | Duplicate an image]] || {{ITKDoxygenURL|ImageDuplicator}} ||
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/RandomImageSource | Produce an image of noise]] || {{ITKDoxygenURL|RandomImageSource}} ||
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/VectorImage | Create a vector image]] || {{ITKDoxygenURL|VectorImage}} || An image with an ND vector at each pixel
| |
| |-
| |
| | [[ITK/Examples/SimpleOperations/SetPixels | Set specified pixels to specified values]] || {{ITKDoxygenURL|Image}} ||
| |
| |}
| |
| | |
| | |
| ==Input/Output (IO)==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/IO/ReadVectorImage| Read an image file with an unknown number of components]] || {{ITKDoxygenURL|ImageFileReader}},{{ITKDoxygenURL|VectorImage}} ||
| |
| |-
| |
| | [[ITK/Examples/IO/ImportImageFilter| Convert a C-style array to an itkImage]] || {{ITKDoxygenURL|ImportImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/IO/ReadUnknownImageType | Read an image file without knowing its type before hand]] || {{ITKDoxygenURL|ImageFileReader}} ||
| |
| |-
| |
| | [[ITK/Examples/IO/ImageFileWriter | Write an image]] || {{ITKDoxygenURL|ImageFileWriter}} ||
| |
| |-
| |
| | [[ITK/Examples/IO/ImageFileReader | Read an image]] || {{ITKDoxygenURL|ImageFileReader}} ||
| |
| |-
| |
| | [[ITK/Examples/IO/TIFFImageIO | Write a TIFF image]] || {{ITKDoxygenURL|TIFFImageIO}} || This is a general demonstration of how to use a specific writer rather than relying on the ImageFileWriter to choose for you.
| |
| |-
| |
| | [[ITK/Examples/IO/ImageToVTKImageFilter | Display an ITK image]] || {{ITKDoxygenURL|ImageToVTKImageFilter}} ||
| |
| |}
| |
| | |
| ==DICOM==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/DICOM/ResampleDICOM | Resample a DICOM series]] || {{ITKDoxygenURL|GDCMImageIO}} || Resample a DICOM series with user-specified spacing.
| |
| |}
| |
| | |
| ==Image Processing==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Images/NeighborhoodOperatorImageFilter | Apply a kernel to every pixel in an image]] || {{ITKDoxygenURL|NeighborhoodOperatorImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/LaplacianImageFilter | Compute the Laplacian of an image]] || {{ITKDoxygenURL|LaplacianImageFilter}} || Input image type must be double or float
| |
| |-
| |
| | [[ITK/Examples/Images/ConstantPadImageFilter | Pad an image with a constant value]] || {{ITKDoxygenURL|ConstantPadImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/IntensityWindowingImageFilter| IntensityWindowingImageFilter]] || {{ITKDoxygenURL|IntensityWindowingImageFilter}} || Apply a linear intensity transform from a specified input range to a specified output range.
| |
| |-
| |
| | [[ITK/Examples/Images/ShrinkImageFilter | Shrink an image]] || {{ITKDoxygenURL|ShrinkImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Images/NormalizedCorrelationImageFilter | Normalized correlation]] || {{ITKDoxygenURL|NormalizedCorrelationImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/MultiplyByConstantImageFilter | Multiply every pixel in an image by a constant]] || {{ITKDoxygenURL|MultiplyByConstantImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/SquaredDifferenceImageFilter | Compute the squared difference of corresponding pixels in two images]] || {{ITKDoxygenURL|SquaredDifferenceImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/AddPixelAccessor | Add a constant to every pixel without duplicating the image in memory (an accessor)]] || {{ITKDoxygenURL|AddPixelAccessor}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/RegionalMaximaImageFilter | RegionalMaximaImageFilter]] || {{ITKDoxygenURL|RegionalMaximaImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/ValuedRegionalMaximaImageFilter | ValuedRegionalMaximaImageFilter]] || {{ITKDoxygenURL|ValuedRegionalMaximaImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/MaximumImageFilter | Pixel wise compare two input images and set the output pixel to their max]] || {{ITKDoxygenURL|MaximumImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/MinimumImageFilter | Pixel wise compare two input images and set the output pixel to their min]] || {{ITKDoxygenURL|MinimumImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/AndImageFilter | Binary AND two images]] || {{ITKDoxygenURL|AndImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/BinaryNotImageFilter | Invert an image using the Binary Not operation]] || {{ITKDoxygenURL|BinaryNotImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/Compose3DCovariantVectorImageFilter | Compose a vector image (with 3 components) from three scalar images]] || {{ITKDoxygenURL|Compose3DCovariantVectorImageFilter}} || Create an RGB image from scalar images. Combine individual channels into a color image.
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/NthElementImageAdaptor | Extract a component of a vector image]] || {{ITKDoxygenURL|NthElementImageAdaptor}} || Use built in functionality to extract a component of a vector image.
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/ImageAdaptorExtractVectorComponent | Present an image by first performing an operation]] || {{ITKDoxygenURL|ImageAdaptor}} || A demonstration of how to present an image pixel as a function of the pixel. In this example the functionality of NthElementImageAdaptor is demonstrated.
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/ProcessingNthImageElement | Process the nth component/element of a vector image]] || {{ITKDoxygenURL|NthElementImageAdaptor}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/BinaryImageToShapeLabelMapFilter | Label binary regions in an image and get their properties]] || {{ITKDoxygenURL|BinaryImageToShapeLabelMapFilter}} || Region bounding box, etc.
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/ConvolutionImageFilter | Convolve an image with a kernel]] || {{ITKDoxygenURL|ConvolutionImageFilter}} || Convolution.
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/RelabelComponentImageFilter | Assign contiguous labels to connected regions of an image]] || {{ITKDoxygenURL|RelabelComponentImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/CropImageFilter | Crop an image]] || {{ITKDoxygenURL|CropImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/AbsImageFilter | Compute the absolute value of an image]] || {{ITKDoxygenURL|AbsImageFilter}} || magnitude
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/InvertIntensityImageFilter | Invert an image]] || {{ITKDoxygenURL|InvertIntensityImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/MaskImageFilter | Apply a mask to an image]] || {{ITKDoxygenURL|MaskImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/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/ImageProcessing/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/ImageProcessing/BinaryThresholdImageFilter | Threshold an image]] || {{ITKDoxygenURL|BinaryThresholdImageFilter}} || The result is a binary image (inside the threshold region or outside the threshold region).
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/UnaryFunctorImageFilter | Apply a custom operation to each pixel in an image]] || {{ITKDoxygenURL|UnaryFunctorImageFilter}} || Perform a custom operation on every pixel in an image. This example rotates the vector-valued pixels by 90 degrees.
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/BinaryFunctorImageFilter | Apply a custom operation to corresponding pixels in two images]] || {{ITKDoxygenURL|BinaryFunctorImageFilter}} || This example computes the squared difference between corresponding pixels.
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/MinimumMaximumImageCalculator | Find the minimum and maximum value (and the position of the value) in an image]] || {{ITKDoxygenURL|MinimumMaximumImageCalculator}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/AddImageFilter | Add two images together]] || {{ITKDoxygenURL|AddImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/SubtractImageFilter | Subtract two images]] || {{ITKDoxygenURL|SubtractImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/PasteImageFilter | Paste a part of one image into another image]] || {{ITKDoxygenURL|PasteImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/TileImageFilter | Tile multiple images into another image]] || {{ITKDoxygenURL|TileImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/MultiplyImageFilter | Multiply two images together]] || {{ITKDoxygenURL|MultiplyImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/RegionOfInterestImageFilter | Extract a portion of an image (region of interest)]] || {{ITKDoxygenURL|RegionOfInterestImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/RescaleIntensityImageFilter | Rescale the intensity values of an image to a specified range]] || {{ITKDoxygenURL|RescaleIntensityImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/ConnectedComponentImageFilter | Label connected components in a binary image]] || {{ITKDoxygenURL|ConnectedComponentImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/NormalizeImageFilter | Normalize an image]] || {{ITKDoxygenURL|NormalizeImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/CastImageFilter | Cast an image from one type to another]] || {{ITKDoxygenURL|CastImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/PermuteAxesImageFilter | Switch the axes of an image]] || {{ITKDoxygenURL|PermuteAxesImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/LinearInterpolateImageFunction | Linearly interpolate a position in an image]] || {{ITKDoxygenURL|LinearInterpolateImageFunction}} ||
| |
| |-
| |
| | [[ITK/Examples/ImageProcessing/HammingWindowFunction | HammingWindowFunction]] || {{ITKDoxygenURL|HammingWindowFunction}} ||
| |
| | |
| |}
| |
| | |
| ==Iterating Over (Traversing) An Image==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Iterators/ImageRegionExclusionConstIteratorWithIndex | Iterator over an image skipping a specified region]] || {{ITKDoxygenURL|ImageRegionExclusionConstIteratorWithIndex}} ||
| |
| |-
| |
| | [[ITK/Examples/Iterators/ImageRandomConstIteratorWithIndex | Randomly select pixels from a region of an image]] || {{ITKDoxygenURL|ImageRandomConstIteratorWithIndex}} ||
| |
| |-
| |
| | [[ITK/Examples/Iterators/ImageRandomNonRepeatingConstIteratorWithIndex | Randomly select pixels from a region of an image without replacement]] || {{ITKDoxygenURL|ImageRandomNonRepeatingConstIteratorWithIndex}} ||
| |
| |-
| |
| | [[ITK/Examples/Iterators/LineConstIterator | Iterate over a line through an image]] || {{ITKDoxygenURL|LineConstIterator}} || Walks a Bresenham line through an image
| |
| |-
| |
| | [[ITK/Examples/Iterators/ImageBoundaryFacesCalculator | Iterate over the central region (non-boundary) separately from the face-regions (boundary)]] || {{ITKDoxygenURL|ImageBoundaryFacesCalculator}} ||
| |
| |-
| |
| | [[ITK/Examples/Iterators/NeighborhoodIterator | Iterate over a region of an image with a neighborhood (with write access)]] || {{ITKDoxygenURL|NeighborhoodIterator}} ||
| |
| |-
| |
| | [[ITK/Examples/Iterators/ConstNeighborhoodIterator | Iterate over a region of an image with a neighborhood (without write access)]] || {{ITKDoxygenURL|ConstNeighborhoodIterator}} ||
| |
| |-
| |
| | [[ITK/Examples/Iterators/ImageRegionIterator | Iterate over a region of an image (with write access)]] || {{ITKDoxygenURL|ImageRegionIterator}} ||
| |
| |-
| |
| | [[ITK/Examples/Iterators/ImageRegionConstIterator | Iterate over a region of an image (without write access)]] || {{ITKDoxygenURL|ImageRegionConstIterator}} ||
| |
| |-
| |
| | [[ITK/Examples/Iterators/ConstantBoundaryCondition | Make out of bounds pixels return a constant value]] || {{ITKDoxygenURL|ConstantBoundaryCondition}} ||
| |
| |-
| |
| | [[ITK/Examples/Iterators/ImageRegionIteratorWithIndex | Iterate over a region of an image with efficient access to the current index (with write access)]] || {{ITKDoxygenURL|ImageRegionIteratorWithIndex}} ||
| |
| |-
| |
| | [[ITK/Examples/Iterators/ImageRegionConstIteratorWithIndex | Iterate over a region of an image with efficient access to the current index (without write access)]] || {{ITKDoxygenURL|ImageRegionConstIteratorWithIndex}} ||
| |
| |}
| |
| | |
| ==Image Edges, Gradients, and Derivatives==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/EdgesAndGradients/DerivativeOperator | Create a derivative kernel]] || {{ITKDoxygenURL|DerivativeOperator}} ||
| |
| |-
| |
| | [[ITK/Examples/EdgesAndGradients/SobelOperator | Create the Sobel kernel]] || {{ITKDoxygenURL|SobelOperator}} ||
| |
| |-
| |
| | [[ITK/Examples/EdgesAndGradients/DerivativeImageFilter | Compute the derivative of an image in a particular direction]] || {{ITKDoxygenURL|DerivativeImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/EdgesAndGradients/GradientMagnitudeRecursiveGaussianImageFilter | Find the gradient magnitude of the image first smoothed with a Gaussian kernel]] || {{ITKDoxygenURL|GradientMagnitudeRecursiveGaussianImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/EdgesAndGradients/RecursiveGaussianImageFilter | Find higher derivatives of an image]] || {{ITKDoxygenURL|RecursiveGaussianImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/EdgesAndGradients/BinaryContourImageFilter | Extract the boundaries of connected regions in a binary image]] || {{ITKDoxygenURL|BinaryContourImageFilter}} || Blob boundary, border
| |
| |-
| |
| | [[ITK/Examples/EdgesAndGradients/BinaryBoundaries | Extract the inner and outer boundaries of blobs in a binary image]] || {{ITKDoxygenURL|BinaryContourImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/EdgesAndGradients/GradientMagnitudeImageFilter | Compute the gradient magnitude image]] || {{ITKDoxygenURL|GradientMagnitudeImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/EdgesAndGradients/LaplacianRecursiveGaussianImageFilter | Compute the Laplacian of an image]] || {{ITKDoxygenURL|LaplacianRecursiveGaussianImageFilter}} ||
| |
| |}
| |
| | |
| ==Smoothing==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Smoothing/AntiAliasBinaryImageFilter | Anti alias a binary image]] || {{ITKDoxygenURL|AntiAliasBinaryImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Smoothing/MeanImageFilter | Mean filter an image]] || {{ITKDoxygenURL|MeanImageFilter}} || Replace each pixel by the mean of its neighborhood
| |
| |-
| |
| | [[ITK/Examples/Smoothing/MedianImageFilter | Median filter an image]] || {{ITKDoxygenURL|MedianImageFilter}} || Replace each pixel by the median of its neighborhood
| |
| |-
| |
| | [[ITK/Examples/Smoothing/DiscreteGaussianImageFilter | Smooth an image with a discrete Gaussian filter]] || {{ITKDoxygenURL|DiscreteGaussianImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Smoothing/BinomialBlurImageFilter | Blur an image]] || {{ITKDoxygenURL|BinomialBlurImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Smoothing/BilateralImageFilter | Bilateral filter an image]] || {{ITKDoxygenURL|BilateralImageFilter}} || Edge preserving smoothing.
| |
| |-
| |
| | [[ITK/Examples/Smoothing/CurvatureFlowImageFilter | Smooth an image using curvature flow]] || {{ITKDoxygenURL|CurvatureFlowImageFilterType}} ||
| |
| |-
| |
| | [[ITK/Examples/Smoothing/SmoothingRecursiveGaussianImageFilter | Gaussian smoothing that works with image adaptors]] || {{ITKDoxygenURL|SmoothingRecursiveGaussianImageFilter}} ||
| |
| |}
| |
| | |
| ==Morphology==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Morphology/BinaryErodeImageFilter | Erode a binary image]] || {{ITKDoxygenURL|BinaryErodeImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Morphology/BinaryDilateImageFilter | Dilate a binary image]] || {{ITKDoxygenURL|BinaryDilateImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Morphology/GrayscaleDilateImageFilter | Dilate a grayscale image]] || {{ITKDoxygenURL|GrayscaleDilateImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Morphology/GrayscaleErodeImageFilter | Erode a grayscale image]] || {{ITKDoxygenURL|GrayscaleErodeImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Morphology/FlatStructuringElement | Erode a binary image using a flat (box) structuring element]] || {{ITKDoxygenURL|FlatStructuringElement}} ||
| |
| |}
| |
| | |
| ==Curves==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Curves/ContourMeanDistanceImageFilter | Compute the mean distance between all points of two curves]] || {{ITKDoxygenURL|ContourMeanDistanceImageFilter}} ||
| |
| |}
| |
| | |
| ==Spectral Analysis==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/SpectralAnalysis/VnlFFTRealToComplexConjugateImageFilter | Compute the FFT of an image]] || {{ITKDoxygenURL|VnlFFTRealToComplexConjugateImageFilter}} ||
| |
| |-
| |
| | [[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}} ||
| |
| |}
| |
| | |
| ==Utilities==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Utilities/RandomPermutation | Permute a sequence of indices]] || {{ITKDoxygenURL|ImageRandomNonRepeatingConstIteratorWithIndex}} ||
| |
| |-
| |
| | [[ITK/Examples/Utilities/MersenneTwisterRandomVariateGenerator | Random number generator]] || {{ITKDoxygenURL|MersenneTwisterRandomVariateGenerator}} ||
| |
| |-
| |
| | [[ITK/Examples/Utilities/JetColormapFunctor | Map scalars into a jet colormap]] || {{ITKDoxygenURL|JetColormapFunctor}} ||
| |
| |-
| |
| | [[ITK/Examples/Utilities/SimpleFilterWatcher | Monitor a filter]] || {{ITKDoxygenURL|SimpleFilterWatcher}} || See debug style information.
| |
| |-
| |
| | [[ITK/Examples/Utilities/TimeProbe | Time probe]] || {{ITKDoxygenURL|TimeProbe}} || Compute the time between points in code.
| |
| |-
| |
| | [[ITK/Examples/Utilities/ObserveEvent | Observe an event]] || {{ITKDoxygenURL|Command}} ||
| |
| |-
| |
| | [[ITK/Examples/Utilities/VectorContainer | Vector container]] || {{ITKDoxygenURL|VectorContainer}} ||
| |
| |-
| |
| | [[ITK/Examples/Utilities/BoundingBox | Bounding box]] || {{ITKDoxygenURL|BoundingBox}} ||
| |
| |}
| |
| | |
| ==Statistics==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Statistics/GaussianDistribution | Create a Gaussian distribution]] || {{ITKDoxygenURL|GaussianDistribution}} ||
| |
| |-
| |
| | [[ITK/Examples/Statistics/SampleToHistogramFilter | Create a histogram from a list of sample measurements]] || {{ITKDoxygenURL|SampleToHistogramFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Statistics/ListSample | Create a list of sample measurements]] || {{ITKDoxygenURL|ListSample}} ||
| |
| |-
| |
| | [[ITK/Examples/Statistics/ImageToListSampleAdaptor | Create a list of samples from an image without duplicating the data]] || {{ITKDoxygenURL|ImageToListSampleAdaptor}} ||
| |
| |-
| |
| | [[ITK/Examples/Statistics/MembershipSample | Create a list of samples with associated class IDs]] || {{ITKDoxygenURL|MembershipSample}} ||
| |
| |-
| |
| | [[ITK/Examples/Statistics/ExpectationMaximizationMixtureModelEstimator_2D | 2D Gaussian Mixture Model Expectation Maximization]] || {{ITKDoxygenURL|ExpectationMaximizationMixtureModelEstimator}} || EM
| |
| |-
| |
| | [[ITK/Examples/Statistics/KdTreeBasedKMeansClustering_1D | 1D KMeans Clustering]] || {{ITKDoxygenURL|KdTreeBasedKMeansClustering}} ||
| |
| |-
| |
| | [[ITK/Examples/Statistics/KdTreeBasedKMeansClustering_3D | 3D KMeans Clustering]] || {{ITKDoxygenURL|KdTreeBasedKMeansClustering}} ||
| |
| |-
| |
| | [[ITK/Examples/Statistics/ScalarImageKmeansImageFilter | Cluster the pixels in a greyscale image]] || {{ITKDoxygenURL|ScalarImageKmeansImageFilter}} ||
| |
| | |
| |}
| |
| | |
| ==Spatial Objects==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/SpatialObjects/SpatialObjectToImageFilter | Convert a spatial object to an image ]] || {{ITKDoxygenURL|SpatialObjectToImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/SpatialObjects/EllipseSpatialObject | Ellipse ]] || {{ITKDoxygenURL|EllipseSpatialObject}} ||
| |
| |-
| |
| | [[ITK/Examples/SpatialObjects/LineSpatialObject| Line spatial object]] || {{ITKDoxygenURL|LineSpatialObject}}, {{ITKDoxygenURL|LineSpatialObjectPoint}} || Specify a piecewise-linear object by specifying points along the line.
| |
| |-
| |
| | [[ITK/Examples/SpatialObjects/BlobSpatialObject | Blob ]] || {{ITKDoxygenURL|BlobSpatialObject}} ||
| |
| |}
| |
| | |
| ==Inspection==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Inspection/CheckerBoardImageFilter | Combine two images by alternating blocks of a checkerboard pattern]] || {{ITKDoxygenURL|CheckerBoardImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Inspection/PixelInspection | Printing a pixel value to the console]] || [http://www.itk.org/Doxygen/html/classitk_1_1Image.html#ad424c945604f339130b4ffe81b99738eGetPixel GetPixel] ||
| |
| |}
| |
| | |
| ==Image Registration==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Registration/ImageRegistrationMethod | A basic global registration of two images ]] || {{ITKDoxygenURL|ImageRegistrationMethod}}, {{ITKDoxygenURL|TranslationTransform}} || Translation only transform.
| |
| |-
| |
| | [[ITK/Examples/Registration/ImageRegistrationMethodAffine | A global registration of two images ]] || {{ITKDoxygenURL|ImageRegistrationMethod}}, {{ITKDoxygenURL|AffineTransform}} || Full affine transform.
| |
| |-
| |
| | [[ITK/Examples/Registration/ImageRegistrationMethodBSpline | A global registration of two images ]] || {{ITKDoxygenURL|ImageRegistrationMethod}}, {{ITKDoxygenURL|BSplineDeformableTransform}} || BSpline transform.
| |
| |-
| |
| | [[ITK/Examples/Registration/MutualInformation | Mutual Information ]] || {{ITKDoxygenURL|MutualInformationImageToImageMetric}}, {{ITKDoxygenURL|TranslationTransform}} || Global registration by maximizing the mutual information and using a translation only transform
| |
| |-
| |
| | [[ITK/Examples/Registration/MutualInformationAffine | Mutual Information Affine]] || {{ITKDoxygenURL|MutualInformationImageToImageMetric}}, {{ITKDoxygenURL|AffineTransform}} || Global registration by maximizing the mutual information and using an affine transform
| |
| |}
| |
| | |
| ==Image Segmentation==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Segmentation/MeanShiftClustering | Mean shift clustering]] || ||
| |
| |-
| |
| | [[ITK/Examples/Segmentation/kMeansClustering | KMeans Clustering]] || ||
| |
| |-
| |
| | [[ITK/Examples/Segmentation/MultiphaseChanAndVeseSparseFieldLevelSetSegmentation | Multiphase Chan And Vese Sparse Field Level Set Segmentation]] || itkScalarChanAndVeseSparseLevelSetImageFilter, itkScalarChanAndVeseLevelSetFunction ||
| |
| |}
| |
| | |
| ==Meshes==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Meshes/Decimation | Decimation]] || ||
| |
| |-
| |
| | [[ITK/Examples/Meshes/AddPointsAndEdges | Add points and edges]] || ||
| |
| |-
| |
| | [[ITK/Examples/Meshes/QuadEdgeMeshNormalFilter | Compute normals of a mesh]] || {{ITKDoxygenURL|QuadEdgeMeshNormalFilter}} ||
| |
| |}
| |
| | |
| ==Wish List==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/WishList/ImageProcessing/ColorNormalizedCorrelation| Color Normalized Correlation]] || {{ITKDoxygenURL|NormalizedCorrelationImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/WishList/SpatialObjects/ContourSpatialObject| ContourSpatialObject]] || {{ITKDoxygenURL|ContourSpatialObject}} ||
| |
| |-
| |
| | [[ITK/Examples/Broken/SimpleOperations/MetaDataDictionary| Store non-pixel associated data in an image]] || {{ITKDoxygenURL|MetaDataDictionary}} ||
| |
| |-
| |
| | [[ITK/Examples/Segmentation/LevelSets| Level Sets]] || ||
| |
| |-
| |
| | [[ITK/Examples/Segmentation//RegionGrowing| Region Growing]] || ||
| |
| |-
| |
| | [[ITK/Examples/Meshes/Subdivision| Mesh subdivision]] || ||
| |
| |-
| |
| | [[ITK/Examples/Segmentation/OtsuThresholdImageFilter| Separate foreground and background using Otsu's method]] || {{ITKDoxygenURL|OtsuThresholdImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Segmentation/SimpleContourExtractorImageFilter| Extract contours]] || {{ITKDoxygenURL|SimpleContourExtractorImageFilter}} ||
| |
| |-
| |
| | [[ITK/Examples/Conversions/RGBToVectorImageAdaptor| Present an image of RGBPixel pixels as an image of vectors]] || {{ITKDoxygenURL|RGBToVectorImageAdaptor}} ||
| |
| |}
| |
| | |
| ==Included in the ITK Repository==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Included/Registration| Image registration]] || ||
| |
| |}
| |
| | |
| ==Matlab==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Matlab/MatlabToITK| Write data from Matlab in a format readable by ITK]] || ||
| |
| |-
| |
| | [[ITK/Examples/Matlab/ITKToMatlab| Write data from ITK in a format readable by Matlab]] || ||
| |
| |}
| |
| | |
| ==Developer Examples==
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/Developer/ImageSource | Produce an image programmatically.]] || {{ITKDoxygenURL|ImageSource}} || Nothing in, image out.
| |
| |-
| |
| | [[ITK/Examples/Developer/ImageFilter | Filter an image]] || {{ITKDoxygenURL|ImageToImageFilter}} || Image in, same type of image out.
| |
| |-
| |
| | [[ITK/Examples/Developer/ImageFilterMultipleInputs | Write a filter with multiple inputs of the same type.]] || {{ITKDoxygenURL|ImageToImageFilter}} || Two images in (same type), same type of image out.
| |
| |-
| |
| | [[ITK/Examples/Developer/ImageFilterMultipleInputsDifferentType | Write a filter with multiple inputs of different types.]] || {{ITKDoxygenURL|ImageToImageFilter}} || Two images in (different type), image (same type as first input) out.
| |
| |-
| |
| | [[ITK/Examples/Developer/ImageFilterMultipleOutputs | Write a filter with multiple outputs of the same type.]] || {{ITKDoxygenURL|ImageToImageFilter}} || Images in, two images out (same type as first input).
| |
| |}
| |
| | |
| ==Problems==
| |
| ===Small Problems===
| |
| {{ITKExamplesTable}}
| |
| |-
| |
| | [[ITK/Examples/WishList/Iterators/FloodFillIterator | Traverse a region using a flood fill iterator]] || {{ITKDoxygenURL|FloodFilledSpatialFunctionConditionalIterator}} || How to do this?
| |
| |-
| |
| | [[ITK/Examples/Broken/ImageProcessing/GradientOfVectorImage | Compute the gradient of a vector image]] || {{ITKDoxygenURL|GradientImageFilter}} || How to do this?
| |
| |-
| |
| | [[ITK/Examples/Broken/Statistics/GaussianMixtureModelComponent | Compute distributions of image pixels using GMM EM]] || {{ITKDoxygenURL|GaussianMixtureModelComponent}} ||
| |
| |-
| |
| | [[ITK/Examples/Broken/Statistics/ExpectationMaximizationMixtureModelEstimator_Image | Compute distributions of image pixels using GMM EM]] || {{ITKDoxygenURL|ExpectationMaximizationMixtureModelEstimator}} ||
| |
| |-
| |
| | [[ITK/Examples/Broken/Statistics/ExpectationMaximizationMixtureModelEstimator_1D | Compute distributions of samples using GMM EM]] || {{ITKDoxygenURL|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?)
| |
| |-
| |
| | [[ITK/Examples/Broken/EdgesAndGradients/CannyEdgeDetectionImageFilter | Find edges in an image]] || {{ITKDoxygenURL|CannyEdgeDetectionImageFilter}} || How to set a reasonable Threshold for the output edges?
| |
| |-
| |
| | [[ITK/Examples/Broken/SimpleOperations/VariableLengthVector | Variable length vector ]] || {{ITKDoxygenURL|VariableLengthVector}} || main() works properly, but neither conversion seems to work.
| |
| |-
| |
| | [[ITK/Examples/Broken/Statistics/ImageToHistogramFilter | Compute the histogram of an image]] || {{ITKDoxygenURL|Statistics_1_1ImageToHistogramFilter}} || The last entry of the red histogram should contain several values, but it is 0?
| |
| |-
| |
| | [[ITK/Examples/Broken/Statistics/KmeansModelEstimator | Classifying pixels using KMeans]] || {{ITKDoxygenURL|KmeansModelEstimator}} || How to apply the labels of the filter to the input image?
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/RegionGrowImageFilter | Basic region growing]] || {{ITKDoxygenURL|RegionGrowImageFilter}} || Just getting started with demo...
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/ConnectedThresholdImageFilter | Find connected components in an image]] || {{ITKDoxygenURL|ConnectedThresholdImageFilter}} || Just need to finish it.
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/ConvertPixelBuffer | Convert an image from one type to another]] || {{ITKDoxygenURL|ConvertPixelBuffer}} ||
| |
| |-
| |
| | [[ITK/Examples/Broken/Images/NeighborhoodOperatorImageFunction | Apply a function to every pixel with access to its neighborhood]] || {{ITKDoxygenURL|NeighborhoodOperatorImageFunction}} ||
| |
| |-
| |
| | [[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/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/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/ShapedNeighborhoodIterator | Iterate over a region of an image with a shaped neighborhood]] || {{ITKDoxygenURL|ShapedNeighborhoodIterator}} || Crashes when initializing the iterator loop?
| |
| |}
| |
| | |
| ===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/GradientImageFilter | Compute and display the gradient of an image]] || {{ITKDoxygenURL|GradientImageFilter}} || Blank output.
| |
| |}
| |