ITK/Examples: Difference between revisions

From KitwarePublic
< ITK
Jump to navigationJump to search
(Deprecated content that is moved to sphinx)
(Outdated examples)
 
(162 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{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.
{{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.


Recent examples that are up to date with ITK version 5 can be found at [https://itk.org/ITKExamples ITK Examples]}}
Recent examples that are up to date with ITK version 5 can be found at [https://itk.org/ITKExamples ITK Examples]}}
 
==CMake Techniques==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/CMake/CheckForModule | Check if a specific module is present]] || ||
|-
| [[ITK/Examples/CMake/CheckForITK4 | Check for ITK4]] || ||
|}
 
==Visualization==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Visualization/QuickView | Display an image]] || || QuickView
|}
 
==Simple Operations==
{{ITKExamplesTable}}
|}
 
==Mathematical Operations==
{{ITKExamplesTable}}
|}
 
==Trigonometric Filters==
{{ITKExamplesTable}}
|}
 
==Image Functions==
{{ITKExamplesTable}}
|}
 
==Point Set==
{{ITKExamplesTable}}
|}
 
==Input/Output (IO)==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/IO/ImageToVTKImageFilter | Display an ITK image]] || {{ITKDoxygenURL|ImageToVTKImageFilter}} ||
|-
| [[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
|}
 
==DICOM==
{{ITKExamplesTable}}
|}
 
==Blob Detection, Labeling, and Properties==
{{ITKExamplesTable}}
||| 
|}
 
==Correlation==
{{ITKExamplesTable}}
|}
 
==Image Processing==
{{ITKExamplesTable}}
|-
| [[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/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/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/NormalizeImageFilter | Normalize an image]] || {{ITKDoxygenURL|NormalizeImageFilter}} ||
|-
| [[ITK/Examples/ImageProcessing/ClampImageFilter | Cast an image from one type to another but clamp to the output value range]] || {{ITKDoxygenURL|ClampImageFilter}} ||
|-
| [[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}} || concatenate, channels
|-
| [[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/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}} ||
 
|}
 
==Image Edges, Gradients, and Derivatives==
{{ITKExamplesTable}}
|-
| [[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/ZeroCrossingBasedEdgeDetectionImageFilter | A zero-crossing based edge detecor]] || {{ITKDoxygenURL|ZeroCrossingBasedEdgeDetectionImageFilter}} || 
|}
 
==Smoothing==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Smoothing/BinaryMinMaxCurvatureFlowImageFilter | BinaryMinMaxCurvatureFlow a binary image]] || {{ITKDoxygenURL|BinaryMinMaxCurvatureFlowImageFilter}} ||
|-
| [[ITK/Examples/Smoothing/DiscreteGaussianImageFilter | Smooth an image with a discrete Gaussian filter]] || {{ITKDoxygenURL|DiscreteGaussianImageFilter}} ||
|-
| [[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/RGBCurvatureFlowImageFilter | Smooth an RGB image using curvature flow]] || {{ITKDoxygenURL|CurvatureFlowImageFilter}} || Run curvature flow on each component of the RGB image
|-
| [[ITK/Examples/Smoothing/MinMaxCurvatureFlowImageFilter | Smooth an image using min/max curvature flow]] || {{ITKDoxygenURL|MinMaxCurvatureFlowImageFilter}} ||
|-
| [[ITK/Examples/Smoothing/RGBMinMaxCurvatureFlowImageFilter | Smooth an RGB image using min/max curvature flow]] || {{ITKDoxygenURL|MinMaxCurvatureFlowImageFilter}} || Run mon/max curvature flow on each component of the RGB image
|-
| [[ITK/Examples/Smoothing/VectorGradientAnisotropicDiffusionImageFilter | Smooth an image while preserving edges]] || {{ITKDoxygenURL|VectorGradientAnisotropicDiffusionImageFilter}} || Anisotropic diffusion.
|-
| [[ITK/Examples/Smoothing/VectorCurvatureAnisotropicDiffusionImageFilter | Smooth an image while preserving edges]] || {{ITKDoxygenURL|VectorCurvatureAnisotropicDiffusionImageFilter}} || Anisotropic diffusion.
|}
 
==Morphology==
{{ITKExamplesTable}}
|-
| [[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/FlatStructuringElement | Erode a binary image using a flat (box) structuring element]] || {{ITKDoxygenURL|FlatStructuringElement}} ||
|-
| [[ITK/Examples/Morphology/FlatStructuringElementRadiusIsParametric | Generate structuring elements with accurate area]] || {{ITKDoxygenURL|FlatStructuringElement}} || In itkFlatStructuringElement, setting the foregroundHasAccurateArea flag to true will generate structuring elements with more accurate areas, which can be especially important when morphological operations are intended to remove or retain objects of particular sizes.
|}
 
==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/ForwardFFTImageFilter | Compute the FFT of an image]] || {{ITKDoxygenURL|ForwardFFTImageFilter}} ||
|-
| [[ITK/Examples/SpectralAnalysis/InverseFFTImageFilter | Compute the inverse FFT of an image]] || {{ITKDoxygenURL|InverseFFTImageFilter}} ||
|-
| [[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/AddNoiseToBinaryImage | Add noise to a binary image]] || {{ITKDoxygenURL|ImageRandomNonRepeatingIteratorWithIndex}} || Add uniform random noise to an image
|-
| [[ITK/Examples/Utilities/SortIndex | Sort itk::Index]] || {{ITKDoxygenURL|Image}} || Lexicographic, ordering
|-
| [[ITK/Examples/Utilities/ReturnObjectFromFunction | Return an object from a function]] || ||
|-
| [[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/Utilities/PassImageToFunction | Pass an image to a function]] || {{ITKDoxygenURL|Image}}
|-
| [[ITK/Examples/Utilities/AzimuthElevationToCartesianTransform | Cartesian to AzimuthElevation and vice-versa]] || {{ITKDoxygenURL|AzimuthElevationToCartesianTransform}} ||
|-
| [[ITK/Examples/Utilities/DeepCopy | Deep copy an image]] || ||
|-
| [[ITK/Examples/Utilities/RandomPermutation | Permute a sequence of indices]] || {{ITKDoxygenURL|ImageRandomNonRepeatingConstIteratorWithIndex}} ||
|-
| [[ITK/Examples/Utilities/JetColormapFunctor | Map scalars into a jet colormap]] || {{ITKDoxygenURL|JetColormapFunctor}} ||
|-
| [[ITK/Examples/Utilities/TextOutputWindow | Direct itk warnings to the console]] || {{ITKDoxygenURL|TextOutput}} ||
|-
| [[ITK/Examples/Utilities/FileOutputWindow | Direct itk warnings to a file]] || {{ITKDoxygenURL|FileOutputWindow}} ||
|}
 
==Statistics==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Broken/Statistics/MovingHistogramImageFilter | Compute histograms in a sliding window.]] || {{ITKDoxygenURL|MovingHistogramImageFilter}} ||
|-
| [[ITK/Examples/Statistics/ImageToHistogramFilterRGB | Compute a histogram from an RGB image.]] || {{ITKDoxygenURL|ImageToHistogramFilterRGB}} ||
|-
| [[ITK/Examples/Statistics/HistogramToImageFilterVectorImage | Compute a histogram from a itk::VectorImage.]] || {{ITKDoxygenURL|ImageToHistogramFilterVectorImage}} ||
|-
| [[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/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}} || Circle, dot
|-
| [[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/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/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
|-
| [[ITK/Examples/Registration/ExhaustiveOptimizer | ExhaustiveOptimizer ]] || {{ITKDoxygenURL|ExhaustiveOptimizer}}  || An optimizer that fully samples a grid on the parametric space
|-
| [[ITK/Examples/Registration/WatchRegistration | WatchRegistration ]] || {{ITKDoxygenURL|MattesMutualInformationImageToImageMetric}}  || Watch the iterations of a registration using VTK.
|}
 
==Image Segmentation==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Segmentation/ContourExtractor2DImageFilter| Extract contours from an image]] || {{ITKDoxygenURL|ContourExtractor2DImageFilter}} ||
|-
| [[ITK/Examples/WishList/Segmentation/MorphologicalWatershedImageFilter| Morphological Watershed segmentation]] ||{{ITKDoxygenURL|MorphologicalWatershedImageFilter}} ||
|-
| [[ITK/Examples/Segmentation/MeanShiftClustering | Mean shift clustering]] || {{ITKDoxygenURL|SampleMeanShiftClusteringFilter}} ||
|-
| [[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/ExtractLargestConnectedComponentFromBinaryImage | Extract the largest connected component from a Binary Image ]] ||
|-
| [[ITK/Examples/ImageSegmentation/ExtractContourWithSnakes | Simple implementation of Snakes ]] ||
|-
| [[ITK/Examples/ImageSegmentation/ExtractLargestConnectedComponentFromBinaryImage | Extract the largest connected component from a Binary Image ]] ||
|-
| [[ITK/Examples/Segmentation/ThresholdImageFilterDemo | Demonstrate available threshold algorithms ]] ||
|-
| [[ITK/Examples/Segmentation/ConnectedComponentImageFilterDemo | Demonstrate connected component algorithm using available threshold algorithms ]] ||
|-
|}
 
==Meshes==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Meshes/Decimation | Decimation]] ||  ||
|-
| [[ITK/Examples/Meshes/AddPointsAndEdges | Add points and edges]] || ||
|-
| [[ITK/Examples/Meshes/LoopTriangleCellSubdivision | Subdivide an itk::QuadEdgeMesh]] || {{ITKDoxygenURL|LoopTriangleCellSubdivisionQuadEdgeMeshFilter}} || Perform a loop triangle cell subdivision on a spherical quad edge mesh.
|-
| [[ITK/Examples/Meshes/AreaAndVolume | Calculate Area and Volume of an itk::SimplexMesh]] || {{ITKDoxygenURL|SimplexMeshVolumeCalculator}} || Calculate the area and volume of an itk::SimplexMesh.
|-
| [[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}} ||
|-
| [[ITK/Examples/Meshes/PointAndCellData | Working with PointData and CellData ]] || {{ITKDoxygenURL|Mesh}} || Associate point and cell data with a mesh.
|}
 
==Need Demo==
This section consists of examples which compile and work, but a good demonstration image must be selected and added.
{{ITKExamplesTable}}
|}
 
==Wish List==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Registration/BlockMatchingImageFilter | Match feature points (hierarchically?)]] || {{ITKDoxygenURL|BlockMatchingImageFilter}} || Segfault.
|-
| [[ITK/Examples/IO/itkVtkImageConvertDICOM | Uses a custom user matrix to align the image with DICOM physical space]] || {{ITKDoxygenURL|ImageToVTKImageFilter}} || Need demo image.
|-
| [[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. Need example input files and arguments.
|-
| [[ITK/Examples/Segmentation/MultiphaseChanAndVeseSparseFieldLevelSetSegmentation | Multiphase Chan And Vese Sparse Field Level Set Segmentation]] ||  {{ITKDoxygenURL|ScalarChanAndVeseSparseLevelSetImageFilter}}, {{ITKDoxygenURL|ScalarChanAndVeseLevelSetFunction}} || Need example input files and arguments.
|-
| [[ITK/Examples/Segmentation/SinglephaseChanAndVeseSparseFieldLevelSetSegmentation | Single-phase Chan And Vese Sparse Field Level Set Segmentation]] ||  {{ITKDoxygenURL|ScalarChanAndVeseSparseLevelSetImageFilter}}, {{ITKDoxygenURL|ScalarChanAndVeseLevelSetFunction}} || Need example input files and arguments.
|-
| [[ITK/Examples/Segmentation/kMeansClustering | KMeans Clustering]] || || Need example input files and arguments.
|-
| [[ITK/Examples/Segmentation/SinglephaseChanAndVeseDenseFieldLevelSetSegmentation | Single-phase Chan And Vese Dense Field Level Set Segmentation]] ||  {{ITKDoxygenURL|ScalarChanAndVeseDenseLevelSetImageFilter}}, {{ITKDoxygenURL|ScalarChanAndVeseLevelSetFunction}} || Need example input files and arguments.
|-
| [[ITK/Examples/WishList/Pipeline/DisconnectPipeline | DisconnectPipeline]] ||
|-
| [[ITK/Examples/WishList/Iterators/ConditionalConstIterator | ConditionalConstIterator]] || {{ITKDoxygenURL|ConditionalConstIterator}} ||
|-
| [[ITK/Examples/WishList/Statistics/ScalarImageToTextureFeaturesFilter | Compute texture features]] || [http://www.itk.org/Doxygen/html/classitk_1_1Statistics_1_1ScalarImageToTextureFeaturesFilter.html ScalarImageToTextureFeaturesFilter] || How to interpret the output?
|-
| [[ITK/Examples/WishList/VectorImages/VectorImageResampleImageFilter | Resample an itk::VectorImage]] ||  ||
|-
| [[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/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/InplaceImageFilter | Filter an image without copying its data]] || {{ITKDoxygenURL|InPlaceImageFilter}} ||
|-
| [[ITK/Examples/Developer/MultiThreadedImageFilter | Filter an image using multiple threads]] || {{ITKDoxygenURL|ImageToImageFilter}} ||
|-
| [[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
|-
| [[ITK/Examples/Developer/Minipipeline | MiniPipeline]] ||  ||
|}
 
==Problems==
===Small Problems===
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Statistics/ImageKmeansModelEstimator | Compute kmeans clusters of pixels in an image]] || {{ITKDoxygenURL|ImageKmeansModelEstimator}} || Segfault.
|-
| [[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/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