ITK/Examples: Difference between revisions

From KitwarePublic
< ITK
Jump to navigationJump to search
(→‎Statistics: Adding a new example)
(Outdated examples)
 
(395 intermediate revisions by 9 users not shown)
Line 1: Line 1:
These are fully independent, compilable examples, developed with these [[ITK/Examples/Goals|goals]] in mind. 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/143b4a80c6f5bbe44edbcbeccaa9c05b83042d65/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/RequestedRegion | Apply a filter only to a specified region of an image ]] || ||
|-
| [[ITK/Examples/SimpleOperations/WidthHeight | Get the width and height of an image ]] || ||
|-
| [[ITK/Examples/SimpleOperations/VariableLengthVector | Variable length vector ]] || {{ITKDoxygenURL|VariableLengthVector}} ||
|-
| [[ITK/Examples/SimpleOperations/TranslationTransform | Translate an image]] || {{ITKDoxygenURL|TranslationTransform}}, {{ITKDoxygenURL|ResampleImageFilter}} ||
|-
| [[ITK/Examples/SimpleOperations/NumericTraits | Get some basic information about a type]] || {{ITKDoxygenURL|NumericTraits}}|| Zero
|-
| [[ITK/Examples/SimpleOperations/ScalarToRGBColormapImageFilter | Apply a color map to an image]] || {{ITKDoxygenURL|ScalarToRGBColormapImageFilter}}||
|-
| [[ITK/Examples/SimpleOperations/CustomColormap | Create and apply a custom colormap]] || {{ITKDoxygenURL|CustomColormapFunction}}||
|-
| [[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/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, crop a region
|-
| [[ITK/Examples/SimpleOperations/ImageDuplicator | Duplicate an image]] || {{ITKDoxygenURL|ImageDuplicator}} ||
|-
| [[ITK/Examples/SimpleOperations/RandomImageSource | Produce an image of noise]] || {{ITKDoxygenURL|RandomImageSource}} ||
|-
| [[ITK/Examples/SimpleOperations/SetPixels | Set specified pixels to specified values]] || {{ITKDoxygenURL|Image}} ||
|-
| [[ITK/Examples/SimpleOperations/RGBPixel | Create an RGB image]] || {{ITKDoxygenURL|RGBPixel}} ||
|}
 
==Mathematical Operations==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Math/CovariantVector | Create a covariant vector]] || {{ITKDoxygenURL|CovariantVector}} || This is the object which should be used to represent a mathematical vector.
|-
| [[ITK/Examples/Math/CovariantVectorNorm | Compute the norm of a covariant vector]] || {{ITKDoxygenURL|CovariantVector}} || In-place and non-inplace norms.
|-
| [[ITK/Examples/Math/Matrix | Matrix ]] || {{ITKDoxygenURL|Matrix}} ||
|-
| [[ITK/Examples/Math/Pi | Mathematical constant pi = 3.14 ]] || {{ITKDoxygenURL|Math}} ||
|-
| [[ITK/Examples/Math/DotProduct | Dot product (inner product) of two vectors ]] || {{ITKDoxygenURL|Vector}} ||
|}
 
==Trigonometric Filters==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Math/Trig/SinImageFilter | Compute the sine of each pixel.]] || {{ITKDoxygenURL|SinImageFilter}} ||
|-
| [[ITK/Examples/Math/Trig/Atan2ImageFilter | Compute the arctangent of each pixel.]] || {{ITKDoxygenURL|Atan2ImageFilter}}
|}
 
==Image Functions==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Functions/NeighborhoodOperatorImageFunction | Multiply a kernel with an image at a particular location]] || {{ITKDoxygenURL|NeighborhoodOperatorImageFunction}} ||
|-
| [[ITK/Examples/Functions/GaussianBlurImageFunction | GaussianBlurImageFunction ]] || {{ITKDoxygenURL|GaussianBlurImageFunction}} ||
|-
| [[ITK/Examples/Functions/GaussianBlurImageFunctionFilter | GaussianBlurImageFunctionFilter ]] || {{ITKDoxygenURL|GaussianBlurImageFunction}} ||
|-
| [[ITK/Examples/Functions/MedianImageFunction| Compute the median of an image at a pixels (in a regular neighborhood)]] || {{ITKDoxygenURL|MedianImageFunction}}  ||
|}
 
==Point Set==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/PointSet/CreatePointSet | Create a PointSet ]] || {{ITKDoxygenURL|PointSet}} ||
|-
| [[ITK/Examples/PointSet/ReadPointSet | Read a PointSet ]] || {{ITKDoxygenURL|PointSet}} ||
|-
| [[ITK/Examples/PointSet/WritePointSet | Write a PointSet ]] || {{ITKDoxygenURL|PointSet}} ||
|-
| [[ITK/Examples/PointSet/BoundingBox | Get the bounding box of a PointSet ]] || {{ITKDoxygenURL|PointSet}} ||
|}
 
==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}} ||
|-
| [[ITK/Examples/IO/TransformFileWriter | Write a transform to a file]] || {{ITKDoxygenURL|TransformFileWriter}} ||
|-
| [[ITK/Examples/IO/TransformFileReader | Read a transform from a file]] || {{ITKDoxygenURL|TransformFileReader}} ||
|-
| [[ITK/Examples/IO/VolumeFromSlices | Create a 3D volume from a series of 2D images]] || {{ITKDoxygenURL|ImageSeriesReader}} || Uses NumericSeriesFileNames to generate a list of file names
|-
| [[ITK/Examples/IO/itkVtkImageConvertDICOM | Uses a custom user matrix to align the image with DICOM physical space]] || {{ITKDoxygenURL|ImageToVTKImageFilter}} ||
|}
 
==DICOM==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/DICOM/ResampleDICOM | Resample a DICOM series]] || {{ITKDoxygenURL|GDCMImageIO}} || Resample a DICOM series with user-specified spacing.
|}
 
==Blob Detection, Labeling, and Properties==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/ImageProcessing/ManuallyRemovingLabels | Remove labels from a LabelMap]] || {{ITKDoxygenURL|LabelMap}} ||
|-
| [[ITK/Examples/ImageProcessing/ObjectByObjectLabelMapFilter | Apply an operation to every label object in a label map]] || {{ITKDoxygenURL|ObjectByObjectLabelMapFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/ShapeOpeningLabelMapFilter | Keep only regions that meet a specified threshold of a specified property]] || {{ITKDoxygenURL|ShapeOpeningLabelMapFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/LabelShapeKeepNObjectsImageFilter | Keep only regions that rank above a certain level of a particular property]] || {{ITKDoxygenURL|LabelShapeKeepNObjectsImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/LabelMapOverlayImageFilter | Color labeled regions in an image]] || {{ITKDoxygenURL|LabelMapOverlayImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/LabelGeometryImageFilter | Get geometric properties of labeled regions in an image]] || {{ITKDoxygenURL|LabelGeometryImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/LabelStatisticsImageFilter | Get statistical properties of labeled regions in an image]] || {{ITKDoxygenURL|LabelStatisticsImageFilter}} ||
|-
| [[ITK/Examples/Segmentation/LabelMapContourOverlayImageFilter | Color the boundaries of labeled regions in an image]] || {{ITKDoxygenURL|LabelMapContourOverlayImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/BinaryImageToLabelMapFilter | Label binary regions in an image]] || {{ITKDoxygenURL|BinaryImageToLabelMapFilter}} || Also demonstrates how to obtain which pixels belong to each label.
|-
| [[ITK/Examples/ImageProcessing/BinaryImageToShapeLabelMapFilter | Label binary regions in an image and get their properties]] || {{ITKDoxygenURL|BinaryImageToShapeLabelMapFilter}} || Region bounding box, centroid, etc.
|-
| [[ITK/Examples/ImageProcessing/LabelMapToLabelImageFilter | Convert a LabelMap to a normal image with different values representing each region]] || {{ITKDoxygenURL|LabelMapToLabelImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/MergeLabelMapFilter | Merges several labelmaps]] || {{ITKDoxygenURL|MergeLabelMapFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/LabelOverlayImageFilter | Overlay a LabelMap on an image]] || {{ITKDoxygenURL|LabelOverlayImageFilter}} ||
|}
 
==Image Processing==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/ImageProcessing/BinaryThinningImageFilter | Skeletonize/thin an image]] || {{ITKDoxygenURL|BinaryThinningImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/ScaleTransform | Scale an image]] || {{ITKDoxygenURL|ScaleTransform}} ||
|-
| [[ITK/Examples/ImageProcessing/ResampleImageFilter | Resample (stretch or compress) an image]] || {{ITKDoxygenURL|ResampleImageFilter}} || Upsample, downsample, resize
|-
| [[ITK/Examples/Broken/ImageProcessing/MutualInformationImageToImageFilter | Compute the mutual information between two image]] || {{ITKDoxygenURL|MutualInformationImageToImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/LaplacianSharpeningImageFilter | Sharpen an image]] || {{ITKDoxygenURL|LaplacianSharpeningImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/DivideImageFilter | Pixel-wise division of two images]] || {{ITKDoxygenURL|DivideImageFilter}} || Divide images
|-
| [[ITK/Examples/ImageProcessing/ApproximateSignedDistanceMapImageFilter | Compute a distance map from objects in a binary image]] || {{ITKDoxygenURL|ApproximateSignedDistanceMapImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/NormalizeToConstantImageFilter | Scale all pixels so that their sum is a specified constant]] || {{ITKDoxygenURL|NormalizeToConstantImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/RegionalMinimaImageFilter | RegionalMinimaImageFilter]] || {{ITKDoxygenURL|RegionalMinimaImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/RegionalMaximaImageFilter | RegionalMaximaImageFilter]] || {{ITKDoxygenURL|RegionalMaximaImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/ZeroCrossingImageFilter| Find zero crossings in a signed image]] || {{ITKDoxygenURL|ZeroCrossingImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/RecursiveMultiResolutionPyramidImageFilter| Construct a multiresolution pyramid from an image]] || {{ITKDoxygenURL|RecursiveMultiResolutionPyramidImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/AddConstantToImageFilter| Add a constant to every pixel in an image]] || {{ITKDoxygenURL|AddImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/SubtractConstantFromImageFilter| Subtract a constant from every pixel in an image]] || {{ITKDoxygenURL|SubtractImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/SquareImageFilter| Square every pixel in an image]] || {{ITKDoxygenURL|SquareImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/Upsampling| Upsampling an image]] || {{ITKDoxygenURL|BSplineInterpolateImageFunction}} {{ITKDoxygenURL|ResampleImageFilter}} ||  Interpolate missing pixels in order to upsample an image. Note this only works on scalar images.
|-
| [[ITK/Examples/Images/FlipImageFilter | Flip an image over specified axes]] || {{ITKDoxygenURL|FlipImageFilter}} ||
|-
| [[ITK/Examples/Images/VectorRescaleIntensityImageFilter | Apply a transformation to the magnitude of vector valued image pixels]] || {{ITKDoxygenURL|VectorRescaleIntensityImageFilter}} ||
|-
| [[ITK/Examples/Images/NeighborhoodOperatorImageFilter | Apply a kernel to every pixel in an image]] || {{ITKDoxygenURL|NeighborhoodOperatorImageFilter}} ||
|-
| [[ITK/Examples/Images/MaskNeighborhoodOperatorImageFilter | Apply a kernel to every pixel in an image that is non-zero in a mask]] || {{ITKDoxygenURL|MaskNeighborhoodOperatorImageFilter}} ||
|-
| [[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/Images/MirrorPadImageFilter | Pad an image using mirroring over the boundaries]] || {{ITKDoxygenURL|MirrorPadImageFilter}} ||
|-
| [[ITK/Examples/Images/WrapPadImageFilter | Pad an image by wrapping]] || {{ITKDoxygenURL|WrapPadImageFilter}} ||
|-
| [[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}} || Downsample an image
|-
| [[ITK/Examples/Images/NormalizedCorrelationImageFilter | Normalized correlation]] || {{ITKDoxygenURL|NormalizedCorrelationImageFilter}} ||
|-
| [[ITK/Examples/Broken/Images/NormalizedCorrelationImageFilterMasked | Normalized correlation of a masked image]] || {{ITKDoxygenURL|NormalizedCorrelationImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/MultiplyByConstantImageFilter | Multiply every pixel in an image by a constant]] || {{ITKDoxygenURL|MultiplyImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/SquaredDifferenceImageFilter | Compute the squared difference of corresponding pixels in two images]] || {{ITKDoxygenURL|SquaredDifferenceImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/AbsoluteValueDifferenceImageFilter | Compute the absolute value of the difference of corresponding pixels in two images]] || {{ITKDoxygenURL|AbsoluteValueDifferenceImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/AddPixelAccessor | Add a constant to every pixel without duplicating the image in memory (an accessor)]] || {{ITKDoxygenURL|AddPixelAccessor}} ||
|-
| [[ITK/Examples/ImageProcessing/ValuedRegionalMaximaImageFilter | ValuedRegionalMaximaImageFilter]] || {{ITKDoxygenURL|ValuedRegionalMaximaImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/ValuedRegionalMinimaImageFilter | ValuedRegionalMinimaImageFilter]] || {{ITKDoxygenURL|ValuedRegionalMinimaImageFilter}} ||
|-
| [[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/OrImageFilter | Binary OR two images]] || {{ITKDoxygenURL|OrImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/XorImageFilter | Binary XOR (exclusive OR) two images]] || {{ITKDoxygenURL|XorImageFilter}} ||
|-
| [[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|ComposeImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/NthElementImageAdaptor | Extract a component/channel of an itkImage with pixels with multiple components]] || {{ITKDoxygenURL|NthElementImageAdaptor}} || Use built in functionality to extract a component of an itkImage with CovariantVector components. Note this does not work for itkVectorImages - see VectorIndexSelectionCastImageFilter instead.
|-
| [[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/channel of a vector image]] || {{ITKDoxygenURL|NthElementImageAdaptor}} ||
|-
| [[ITK/Examples/ImageProcessing/ConvolutionImageFilter | Convolve an image with a kernel]] || {{ITKDoxygenURL|ConvolutionImageFilter}} || Convolution.
|-
| [[ITK/Examples/ImageProcessing/ExtractImageFilter | Crop an image by specifying the region to keep]] || {{ITKDoxygenURL|ExtractImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/CropImageFilter | Crop an image by specifying the region to throw away]] || {{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/MaskNegatedImageFilter | Apply the inverse of a mask to an image]] || {{ITKDoxygenURL|MaskNegatedImageFilter}} ||
|-
| [[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 predefined operation to corresponding pixels in two images]] || {{ITKDoxygenURL|BinaryFunctorImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/BinaryFunctorImageFilterCustom | 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_CreateVolume | Stack multiple 2D images into a 3D image]] || {{ITKDoxygenURL|TileImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/TileImageFilter_SideBySide | Tile multiple images side by side]] || {{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/NormalizeImageFilter | Normalize an image]] || {{ITKDoxygenURL|NormalizeImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/CastImageFilter | Cast an image from one type to another]] || {{ITKDoxygenURL|CastImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/ClampImageFilter | Cast an image from one type to another but clamp to the output value range]] || {{ITKDoxygenURL|ClampImageFilter}} ||
|-
| [[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}} ||
|-
| [[ITK/Examples/ImageProcessing/ImageFilterOnARegion | Run an image filter on a region of an image]] || {{ITKDoxygenURL|PasteImageFIlter}} || This example uses the RequestedRegion of a filter to process a subset of an image.
|}
 
==Vector Images==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/VectorImages/VectorMagnitudeImageFilter | Compute the magnitude of each pixel in a vector image to produce a magnitude image]] || {{ITKDoxygenURL|VectorMagnitudeImageFilter}} ||
|-
| [[ITK/Examples/VectorImages/VectorImage | Create a vector image]] || {{ITKDoxygenURL|VectorImage}} || An image with an ND vector at each pixel
|-
| [[ITK/Examples/VectorImages/ImageToVectorImageFilter | Create a vector image from a collection of scalar images]] || {{ITKDoxygenURL|ComposeImageFilter}} || Combine, layer
|-
| [[ITK/Examples/VectorImages/VectorImageToImageAdaptor | View a component of a vector image as if it were a scalar image]] || {{ITKDoxygenURL|VectorImageToImageAdaptor}} ||
|-
| [[ITK/Examples/VectorImages/VectorIndexSelectionCastImageFilter | Extract a component/channel of a vector image]] || {{ITKDoxygenURL|VectorIndexSelectionCastImageFilter}} || This works with VectorImage as well as Image<Vector>
|-
| [[ITK/Examples/VectorImages/VectorResampleImageFilter | Translate a vector image]] || {{ITKDoxygenURL|TranslationTransform}}, {{ITKDoxygenURL|VectorResampleImageFilter}} ||
|-
| [[ITK/Examples/VectorImages/JoinImageFilter | Join images, stacking their components]] || {{ITKDoxygenURL|JoinImageFilter}} ||
|-
| [[ITK/Examples/VectorImages/ImageToVectorImageFilter | Stack scalar images into a VectorImage]] || {{ITKDoxygenURL|ImageToVectorImageFilter}} ||
|-
| [[ITK/Examples/VectorImages/NeighborhoodIterator | NeighborhoodIterator on a VectorImage]] || {{ITKDoxygenURL|VectorImage}} {{ITKDoxygenURL|NeighborhoodIterator}}||
|-
| [[ITK/Examples/WishList/VectorImages/VectorCastImageFilter | Cast a VectorImage to another type of VectorImage]] || {{ITKDoxygenURL|VectorImage}} ||
|}
 
==Iterating Over (Traversing) An Image==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Iterators/ShapedNeighborhoodIterator_Manual | Iterate over a region of an image with a shaped neighborhood]] || Create the shape manually {{ITKDoxygenURL|ShapedNeighborhoodIterator}} ||
|-
| [[ITK/Examples/Iterators/ShapedNeighborhoodIterator | Iterate over a region of an image with a shaped neighborhood]] || Create the shape from a StructuringElement {{ITKDoxygenURL|ShapedNeighborhoodIterator}} ||
|-
| [[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/LineIterator | Iterate over a line through an image]] || {{ITKDoxygenURL|LineIterator}} || Walks a Bresenham line through an image (with write access)
|-
| [[ITK/Examples/Iterators/LineConstIterator | Iterate over a line through an image without write access]] || {{ITKDoxygenURL|LineConstIterator}} || Walks a Bresenham line through an image (without write access)
|-
| [[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}} ||
|}
 
==Kernels==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Operators/GaussianOperator | Create a Gaussian kernel]] || {{ITKDoxygenURL|GaussianOperator}} ||
|-
| [[ITK/Examples/Operators/GaussianDerivativeOperator | Create a Gaussian derivative kernel]] || {{ITKDoxygenURL|GaussianDerivativeOperator}} ||
|-
| [[ITK/Examples/Operators/LaplacianOperator | Create a Laplacian kernel]] || {{ITKDoxygenURL|LaplacianOperator}} ||
|-
| [[ITK/Examples/Operators/DerivativeOperator | Create a derivative kernel]] || {{ITKDoxygenURL|DerivativeOperator}} ||
|-
| [[ITK/Examples/Operators/SobelOperator | Create the Sobel kernel]] || {{ITKDoxygenURL|SobelOperator}} ||
|-
| [[ITK/Examples/Operators/ForwardDifferenceOperator | Create a forward difference kernel]] || {{ITKDoxygenURL|ForwardDifferenceOperator}} ||
|-
| [[ITK/Examples/Operators/BackwardDifferenceOperator | Create a backward difference kernel]] || {{ITKDoxygenURL|BackwardDifferenceOperator}} ||
 
|}
 
==Image Edges, Gradients, and Derivatives==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/EdgesAndGradients/SobelEdgeDetectionImageFilter | SobelEdgeDetectionImageFilter]] || {{ITKDoxygenURL|SobelEdgeDetectionImageFilter}} ||
|-
| [[ITK/Examples/EdgesAndGradients/DerivativeImageFilter | Compute the derivative of an image in a particular direction]] || {{ITKDoxygenURL|DerivativeImageFilter}} ||
|-
| [[ITK/Examples/EdgesAndGradients/GradientRecursiveGaussianImageFilter| Compute the gradient of an image by convolution with the first derivative of a Gaussian]] || {{ITKDoxygenURL|GradientRecursiveGaussianImageFilter}} ||
|-
| [[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 Gaussian (LoG) of an image]] || {{ITKDoxygenURL|LaplacianRecursiveGaussianImageFilter}} ||
|}
 
==Smoothing==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Smoothing/AntiAliasBinaryImageFilter | Anti alias a binary image]] || {{ITKDoxygenURL|AntiAliasBinaryImageFilter}} ||
|-
| [[ITK/Examples/Smoothing/BinaryMinMaxCurvatureFlowImageFilter | BinaryMinMaxCurvatureFlow a binary image]] || {{ITKDoxygenURL|BinaryMinMaxCurvatureFlowImageFilter}} ||
|-
| [[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/RGBMedianImageFilter | Median filter an RGB 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|CurvatureFlowImageFilter}} ||
|-
| [[ITK/Examples/Smoothing/MinMaxCurvatureFlowImageFilter | Smooth an image using min/max curvature flow]] || {{ITKDoxygenURL|MinMaxCurvatureFlowImageFilter}} ||
|-
| [[ITK/Examples/Smoothing/SmoothingRecursiveGaussianImageFilter | Gaussian smoothing that works with image adaptors]] || {{ITKDoxygenURL|SmoothingRecursiveGaussianImageFilter}} ||
|-
| [[ITK/Examples/Smoothing/VectorGradientAnisotropicDiffusionImageFilter | Smooth an image while preserving edges]] || {{ITKDoxygenURL|VectorGradientAnisotropicDiffusionImageFilter}} || Anisotropic diffusion.
|}
 
==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/BinaryPruningImageFilter | Prune a binary image]] || {{ITKDoxygenURL|BinaryPruningImageFilter}} ||
|-
| [[ITK/Examples/Morphology/BinaryMorphologicalOpeningImageFilter | Opening a binary image]] || {{ITKDoxygenURL|BinaryMorphologicalOpeningImageFilter}} ||
|-
| [[ITK/Examples/Morphology/BinaryMorphologicalClosingImageFilter | Closing a binary image]] || {{ITKDoxygenURL|BinaryMorphologicalClosingImageFilter}} ||
|-
| [[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}} ||
|-
| [[ITK/Examples/Morphology/BinaryBallStructuringElement | An elliptical structuring element]] || {{ITKDoxygenURL|BinaryBallStructuringElement}} ||
|}
 
==Curves==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Curves/ContourMeanDistanceImageFilter | Compute the mean distance between all points of two curves]] || {{ITKDoxygenURL|ContourMeanDistanceImageFilter}} ||
|-
| [[ITK/Examples/Curves/PolyLineParametricPath | A data structure for a piece-wise linear curve]] || {{ITKDoxygenURL|PolyLineParametricPath}} ||
|}
 
==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|ComposeImageFilter}} ||
|}
 
==Utilities==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Utilities/CreateImageWithSameType | Create another instance of an image]] || ||
|-
| [[ITK/Examples/Utilities/CreateAnother | Create another instance of the same type of object]] || ||
|-
| [[ITK/Examples/Broken/Utilities/NonSmartPointers | Using non-smart pointers]] || {{ITKDoxygenURL|Image}}
|-
| [[ITK/Examples/Utilities/NumericSeriesFileNames | Create a list of file names]] || {{ITKDoxygenURL|NumericSeriesFileNames}} ||
|-
| [[ITK/Examples/Utilities/CreateAnother | Copy a filter]] || {{ITKDoxygenURL|Object}} || Copy/duplicate a filter
|-
| [[ITK/Examples/Utilities/AzimuthElevationToCartesianTransform | Cartesian to AzimuthElevation and vice-versa]] || {{ITKDoxygenURL|AzimuthElevationToCartesianTransform}} ||
|-
| [[ITK/Examples/Utilities/FixedArray | C-style array]] || {{ITKDoxygenURL|FixedArray}} ||
|-
| [[ITK/Examples/Utilities/DeepCopy | Deep copy an image]] || ||
|-
| [[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. Timer. Timing.
|-
| [[ITK/Examples/Utilities/ObserveEvent | Observe an event]] || {{ITKDoxygenURL|Command}} ||
|-
| [[ITK/Examples/Utilities/VectorContainer | Vector container]] || {{ITKDoxygenURL|VectorContainer}} ||
|}
 
==Statistics==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Broken/Statistics/MovingHistogramImageFilter | Compute histograms in a sliding window.]] || {{ITKDoxygenURL|MovingHistogramImageFilter}} ||
|-
| [[ITK/Examples/Statistics/HistogramToImageFilterRGB | Compute a histogram from an RGB image.]] || {{ITKDoxygenURL|HistogramToImageFilterRGB}} ||
|-
| [[ITK/Examples/Statistics/HistogramToImageFilterVectorImage | Compute a histogram from a itk::VectorImage.]] || {{ITKDoxygenURL|HistogramToImageFilterVectorImage}} ||
|-
| [[ITK/Examples/Statistics/HistogramToImageFilterGrayscale | Compute a histogram from a grayscale image.]] || {{ITKDoxygenURL|HistogramToImageFilterGrayscale}} ||
|-
| [[ITK/Examples/Statistics/Histogram | Compute a histogram from measurements.]] || {{ITKDoxygenURL|Histogram}} ||
|-
| [[ITK/Examples/Statistics/StatisticsImageFilter | Compute min, max, variance and mean of an Image.]] || {{ITKDoxygenURL|StatisticsImageFilter}} ||
|-
| [[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/KdTree | Spatial search]] || {{ITKDoxygenURL|KdTreeGenerator}} ||
|-
| [[ITK/Examples/Statistics/ScalarImageKmeansImageFilter | Cluster the pixels in a greyscale image]] || {{ITKDoxygenURL|ScalarImageKmeansImageFilter}} ||
|-
| [[ITK/Examples/Statistics/NoiseImageFilter | Compute the local noise in an image]] || {{ITKDoxygenURL|NoiseImageFilter}} ||
|-
| [[ITK/Examples/Statistics/ImageKmeansModelEstimator | Compute kmeans clusters of pixels in an image]] || {{ITKDoxygenURL|ImageKmeansModelEstimator}} ||
|-
| [[ITK/Examples/Statistics/KdTreeBasedKmeansEstimator | Compute kmeans clusters]] || {{ITKDoxygenURL|KdTreeBasedKmeansEstimator}} ||
|-
| [[ITK/Examples/Statistics/TextureFeatures | Extract texture features using GLCM]] || {{ITKDoxygenURL|ScalarImageToCooccurrenceMatrixFilter}} ||
|}
 
==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/PlaneSpatialObject| Plane spatial object]] || {{ITKDoxygenURL|PlaneSpatialObject}} ||
|-
| [[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] ||
|}
 
==Metrics==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Metrics/MeanSquaresImageToImageMetric | Compute the mean squares metric between two images ]] || {{ITKDoxygenURL|MeanSquaresImageToImageMetric}} ||
|}
==Image Registration==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Registration/WarpImageFilter | Warp one image to another using manually specified landmarks ]] || {{ITKDoxygenURL|WarpImageFilter}} ||
|-
| [[ITK/Examples/Registration/LandmarkBasedTransformInitializer | Rigidly register one image to another using manually specified landmarks ]] || {{ITKDoxygenURL|LandmarkBasedTransformInitializer}} ||
|-
| [[ITK/Examples/Registration/DeformationFieldTransform | Register one image to another using manually specified landmarks ]] || {{ITKDoxygenURL|DeformationFieldTransform}} ||
|-
| [[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/ContourExtractor2DImageFilter| Extract contours from an image]] || {{ITKDoxygenURL|ContourExtractor2DImageFilter}} ||
|-
| [[ITK/Examples/WishList/Segmentation/WatershedImageFilter| Watershed segmentation]] ||{{ITKDoxygenURL|WatershedImageFilter}} ||
|-
| [[ITK/Examples/WishList/Segmentation/MorphologicalWatershedImageFilter| Morphological Watershed segmentation]] ||{{ITKDoxygenURL|MorphologicalWatershedImageFilter}} ||
|-
| [[ITK/Examples/Segmentation/EstimatePCAModel | Compute a PCA shape model from a training sample]] || {{ITKDoxygenURL|ImagePCAShapeModelEstimator}} ||
Estimate the principal modes of variation of a shape from a training sample. Useful for shape guide segmentation.
|-
| [[ITK/Examples/Segmentation/MeanShiftClustering | Mean shift clustering]] || {{ITKDoxygenURL|SampleMeanShiftClusteringFilter}} ||
|-
| [[ITK/Examples/Segmentation/kMeansClustering | KMeans Clustering]] || ||
|-
| [[ITK/Examples/Segmentation/MultiphaseChanAndVeseSparseFieldLevelSetSegmentation | Multiphase Chan And Vese Sparse Field Level Set Segmentation]] ||  {{ITKDoxygenURL|ScalarChanAndVeseSparseLevelSetImageFilter}}, {{ITKDoxygenURL|ScalarChanAndVeseLevelSetFunction}} ||
|-
| [[ITK/Examples/Segmentation/SinglephaseChanAndVeseSparseFieldLevelSetSegmentation | Single-phase Chan And Vese Sparse Field Level Set Segmentation]] ||  {{ITKDoxygenURL|ScalarChanAndVeseSparseLevelSetImageFilter}}, {{ITKDoxygenURL|ScalarChanAndVeseLevelSetFunction}} ||
|-
| [[ITK/Examples/Segmentation/SinglephaseChanAndVeseDenseFieldLevelSetSegmentation | Single-phase Chan And Vese Dense Field Level Set Segmentation]] ||  {{ITKDoxygenURL|ScalarChanAndVeseDenseLevelSetImageFilter}}, {{ITKDoxygenURL|ScalarChanAndVeseLevelSetFunction}} ||
|-
| [[ITK/Examples/Segmentation/WishList/VoronoiDiagram2DGenerator | Voronoi diagram]] ||  {{ITKDoxygenURL|VoronoiDiagram2DGenerator}}, {{ITKDoxygenURL|VoronoiDiagram2D}} ||
|-
| [[ITK/Examples/ImageProcessing/ConnectedComponentImageFilter | Label connected components in a binary image]] || {{ITKDoxygenURL|ConnectedComponentImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/ScalarConnectedComponentImageFilter | Label connected components in a grayscale image]] || {{ITKDoxygenURL|ScalarConnectedComponentImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/RelabelComponentImageFilter | Assign contiguous labels to connected regions of an image]] || {{ITKDoxygenURL|RelabelComponentImageFilter}} ||
|-
| [[ITK/Examples/ImageSegmentation/LabelContourImageFilter | Label the contours of connected components]] || {{ITKDoxygenURL|LabelContourImageFilter}} ||
|-
| [[ITK/Examples/ImageSegmentation/ConfidenceConnectedImageFilter | Segment pixels with similar statistics using connectivity ]] || {{ITKDoxygenURL|ConfidenceConnectedImageFilter}} ||
|-
| [[ITK/Examples/ImageSegmentation/LabelImageToLabelMapFilter | Convert an itk::Image consisting of labeled regions to a LabelMap ]] ||
{{ITKDoxygenURL|LabelImageToLabelMapFilter}} ||
|-
| [[ITK/Examples/ImageSegmentation/LabelImageToShapeLabelMapFilter | Convert an itk::Image consisting of labeled regions to a ShapeLabelMap ]] || {{ITKDoxygenURL|LabelImageToShapeLabelMapFilter}} ||
|-
| [[ITK/Examples/ImageSegmentation/ExtractLargestConnectedComponentFromBinaryImage | Extract the largest connected component from a Binary Image ]] ||
||
|}
 
==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}} ||
|-
| [[ITK/Examples/Meshes/QuadEdgeMeshParameterizationFilter | Planar parameterization of a mesh]] || {{ITKDoxygenURL|ParameterizationQuadEdgeMeshFilter}} || Compute linear parameterization of a mesh homeomorphic to a disk on the plane
|-
| [[ITK/Examples/Meshes/ConvertToVTK | Convert an itk::Mesh to a vtkUnstructuredGrid]] ||  ||
|-
| [[ITK/Examples/Meshes/WishList/WriteMeshToVTP | Write an itk::Mesh to a vtp (vtkPolyData) file]] || {{ITKDoxygenURL|VTKPolyDataWriter}} ||
|}
 
==Need Demo==
This section consists of examples which compile and work, but a good demonstration image must be selected and added.
{{ITKExamplesTable}}
|-
| [[ITK/Examples/NeedDemo/ImageProcessing/AdaptiveHistogramEqualizationImageFilter | Adaptive histogram equalization]] || {{ITKDoxygenURL|AdaptiveHistogramEqualizationImageFilter}} ||
|}
 
 
==Wish List==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/WishList/Iterators/ConditionalConstIterator | ConditionalConstIterator]] || {{ITKDoxygenURL|ConditionalConstIterator}} ||
|-
| [[ITK/Examples/WishList/Statistics/ScalarImageToTextureFeaturesFilter | Compute texture features]] || {{ITKDoxygenURL|ScalarImageToTextureFeaturesFilter}} || How to interpret the output?
|-
| [[ITK/Examples/WishList/LevelSets/SignedDanielssonDistanceMapImageFilter | Compute the signed distance function over an image]] || {{ITKDoxygenURL|SignedDanielssonDistanceMapImageFilter}} ||
|-
| [[ITK/Examples/WishList/VectorImages/VectorImageResampleImageFilter | Resample an itk::VectorImage]] ||  ||
|-
| [[ITK/Examples/WishList/Segmentation/OtsuMultipleThresholdsCalculator | Compute Otsu thresholds]] || {{ITKDoxygenURL|OtsuMultipleThresholdsCalculator}} ||
|-
| [[ITK/Examples/WishList/Statistics/MaskedImageToHistogramFilter | Compute the histogram of a masked region of an image]] || {{ITKDoxygenURL|MaskedImageToHistogramFilter}} ||
|-
| [[ITK/Examples/WishList/PointSet/BSplineScatteredDataPointSetToImageFilter | Fit a spline to a point set]] || {{ITKDoxygenURL|BSplineScatteredDataPointSetToImageFilter}} ||
|-
| [[ITK/Examples/WishList/Morphology/BinaryPruningImageFilter | BinaryPruningImageFilter]] || {{ITKDoxygenURL|BinaryPruningImageFilter}} ||
|-
| [[ITK/Examples/Broken/Statistics/GaussianMixtureModelComponent | Compute distributions of image pixels using GMM EM]] || {{ITKDoxygenURL|GaussianMixtureModelComponent}} ||
|-
| [[ITK/Examples/WishList/LevenbergMarquart| LevenbergMarquart]] || ||
|-
| [[ITK/Examples/WishList/IterativeClosestPoints| IterativeClosestPoints]] || ||
|-
| [[ITK/Examples/WishList/Operators/AllOperators| Demonstrate all operators]] || {{ITKDoxygenURL|NeighborhoodOperator}}  ||
|-
| [[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 from an image]] || {{ITKDoxygenURL|SimpleContourExtractorImageFilter}} ||
|-
| [[ITK/Examples/Conversions/RGBToVectorImageAdaptor| Present an image of RGBPixel pixels as an image of vectors]] || {{ITKDoxygenURL|RGBToVectorImageAdaptor}} ||
|-
| [[ITK/Examples/Conversions/HoughTransform2DCirclesImageFilter| HoughTransform2DCirclesImageFilter]] || {{ITKDoxygenURL|HoughTransform2DCirclesImageFilter}} ||
|-
| [[ITK/Examples/Conversions/HoughTransform2DLinesImageFilter| HoughTransform2DLinesImageFilter]] || {{ITKDoxygenURL|HoughTransform2DLinesImageFilter}} ||
|-
| [[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]] || ||
|-
| [[ITK/Examples/WishList/ImageProcessing/EdgePotentialImageFilter| Compute edge potential]] ||{{ITKDoxygenURL|EdgePotentialImageFilter}} ||
|}
 
==Included in the ITK Repository==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Included/Registration| Image registration]] || ||
|}
 
==Matlab==
{{ITKExamplesTable}}
 
|}
 
==Developer Examples==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Developer/Exceptions | Throw an exception]] ||  ||
|-
| [[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/OilPaintingImageFilter | Multi-threaded oil painting image filter]] || {{ITKDoxygenURL|ImageToImageFilter}} and {{ITKDoxygenURL|MinimumMaximumImageCalculator}} || A simple multi-threaded scenario (oil painting artistic filter). You can also use this class as-is (copy .h and .txx files into your project and use them).
|-
| [[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).
|-
| [[ITK/Examples/Developer/ImageFilterMultipleOutputsDifferentType | Write a filter with multiple outputs of different types.]] || {{ITKDoxygenURL|ImageToImageFilter}} || Images in, two images out (different types).
|-
| [[ITK/Examples/Developer/SetGetMacro | Get or set a member variable of an ITK class.]] ||  || SetMacro, GetMacro
|-
| [[ITK/Examples/Developer/OutputMacros | Output an error, a warning, or debug information.]] ||  || DebugMacro, ErrorMacro, WarningMacro
|}
 
==Problems==
===Small Problems===
{{ITKExamplesTable}}
|-
| [[ITK/Examples/WishList/Iterators/FloodFilledImageFunctionConditionalIterator | Iterate over an image starting at a seed and following a rule for connectivity decisions]] || {{ITKDoxygenURL|FloodFilledImageFunctionConditionalIterator}} ||
|-
| [[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/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/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/InPlace | In-place filtering of an image]] || {{ITKDoxygenURL|InPlaceImageFilter}} || This only works for filters which derive from itkInPlaceImageFilter
|-
| [[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)
|}
 
===Big Problems===
{{ITKExamplesTable}}
|-
| [[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 on the screen (the filter works fine). There should be a "DisplayVectorImage" added to itkQuickView that draws vector glyphs at specified pixels of an image.
|}

Latest revision as of 00:04, 8 June 2019

Warning: 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. Recent examples that are up to date with ITK version 5 can be found at ITK Examples