ITK/Examples: Difference between revisions

From KitwarePublic
< ITK
Jump to navigationJump to search
(Deprecated content that is moved to sphinx)
(Outdated examples)
 
(38 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
|}
 
==Mathematical Operations==
{{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}}
|}
 
==Image Edges, Gradients, and Derivatives==
{{ITKExamplesTable}}
|}
 
==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}} || 
|}
 
==Statistics==
{{ITKExamplesTable}}
|-
| [[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/KdTreeBasedKMeansClustering_1D | 1D KMeans Clustering]] || {{ITKDoxygenURL|KdTreeBasedKMeansClustering}} ||
|-
| [[ITK/Examples/Statistics/KdTreeBasedKMeansClustering_3D | 3D KMeans Clustering]] || {{ITKDoxygenURL|KdTreeBasedKMeansClustering}} ||
|-
| [[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/PlaneSpatialObject| Plane spatial object]] || {{ITKDoxygenURL|PlaneSpatialObject}} ||
|}
 
==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] ||
|}
 
==Image Registration==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Registration/DeformationFieldTransform | Register one image to another using manually specified landmarks ]] || {{ITKDoxygenURL|DeformationFieldTransform}} ||
|}
 
==Image Segmentation==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Segmentation/MeanShiftClustering | Mean shift clustering]] || {{ITKDoxygenURL|SampleMeanShiftClusteringFilter}} ||
 
|}
 
==Meshes==
{{ITKExamplesTable}}
|-
| [[ITK/Examples/Meshes/LoopTriangleCellSubdivision | Subdivide an itk::QuadEdgeMesh]] || {{ITKDoxygenURL|LoopTriangleCellSubdivisionQuadEdgeMeshFilter}} || Perform a loop triangle cell subdivision on a spherical quad edge mesh.
|}
 
==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