NorMIT-nav
22.09
An IGT application
|
This filter computes one-pixel-wide skeleton of a 3D input image. More...
#include <itkBinaryThinningImageFilter3D.h>
Public Types | |
typedef BinaryThinningImageFilter3D | Self |
typedef ImageToImageFilter< TInputImage, TOutputImage > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef TInputImage | InputImageType |
typedef TOutputImage | OutputImageType |
typedef InputImageType::RegionType | RegionType |
typedef RegionType::IndexType | IndexType |
typedef InputImageType::PixelType | InputImagePixelType |
typedef OutputImageType::PixelType | OutputImagePixelType |
typedef RegionType::SizeType | SizeType |
typedef InputImageType::ConstPointer | InputImagePointer |
typedef OutputImageType::Pointer | OutputImagePointer |
typedef ConstantBoundaryCondition< TInputImage > | ConstBoundaryConditionType |
typedef NeighborhoodIterator< TInputImage, ConstBoundaryConditionType > | NeighborhoodIteratorType |
typedef NeighborhoodIteratorType::NeighborhoodType | NeighborhoodType |
Public Member Functions | |
itkNewMacro (Self) | |
itkTypeMacro (BinaryThinningImageFilter3D, ImageToImageFilter) | |
OutputImageType * | GetThinning (void) |
itkStaticConstMacro (InputImageDimension, unsigned int, TInputImage::ImageDimension) | |
itkStaticConstMacro (OutputImageDimension, unsigned int, TOutputImage::ImageDimension) | |
Protected Member Functions | |
BinaryThinningImageFilter3D () | |
virtual | ~BinaryThinningImageFilter3D () |
void | PrintSelf (std::ostream &os, Indent indent) const |
void | GenerateData () |
void | PrepareData () |
void | ComputeThinImage () |
bool | isEulerInvariant (NeighborhoodType neighbors, int *LUT) |
void | fillEulerLUT (int *LUT) |
bool | isSimplePoint (NeighborhoodType neighbors) |
void | Octree_labeling (int octant, int label, int *cube) |
This filter computes one-pixel-wide skeleton of a 3D input image.
This class is parametrized over the type of the input image and the type of the output image.
The input is assumed to be a binary image. All non-zero valued voxels are set to 1 internally to simplify the computation. The filter will produce a skeleton of the object. The output background values are 0, and the foreground values are 1.
A 26-neighbourhood configuration is used for the foreground and a 6-neighbourhood configuration for the background. Thinning is performed symmetrically in order to guarantee that the skeleton lies medial within the object.
This filter is a parallel thinning algorithm and is an implementation of the algorithm described in:
T.C. Lee, R.L. Kashyap, and C.N. Chu. Building skeleton models via 3-D medial surface/axis thinning algorithms. Computer Vision, Graphics, and Image Processing, 56(6):462–478, 1994.
To do: Make use of multi-threading.
Definition at line 57 of file itkBinaryThinningImageFilter3D.h.
typedef ConstantBoundaryCondition< TInputImage > itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::ConstBoundaryConditionType |
Boundary condition type for the neighborhood iterator
Definition at line 101 of file itkBinaryThinningImageFilter3D.h.
typedef SmartPointer<const Self> itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::ConstPointer |
Definition at line 65 of file itkBinaryThinningImageFilter3D.h.
typedef RegionType::IndexType itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::IndexType |
Type for the index of the input image.
Definition at line 83 of file itkBinaryThinningImageFilter3D.h.
typedef InputImageType::PixelType itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::InputImagePixelType |
Type for the pixel type of the input image.
Definition at line 86 of file itkBinaryThinningImageFilter3D.h.
typedef InputImageType::ConstPointer itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::InputImagePointer |
Pointer Type for input image.
Definition at line 95 of file itkBinaryThinningImageFilter3D.h.
typedef TInputImage itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::InputImageType |
Type for input image.
Definition at line 74 of file itkBinaryThinningImageFilter3D.h.
typedef NeighborhoodIterator<TInputImage, ConstBoundaryConditionType> itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::NeighborhoodIteratorType |
Neighborhood iterator type
Definition at line 104 of file itkBinaryThinningImageFilter3D.h.
typedef NeighborhoodIteratorType::NeighborhoodType itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::NeighborhoodType |
Neighborhood type
Definition at line 107 of file itkBinaryThinningImageFilter3D.h.
typedef OutputImageType::PixelType itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::OutputImagePixelType |
Type for the pixel type of the input image.
Definition at line 89 of file itkBinaryThinningImageFilter3D.h.
typedef OutputImageType::Pointer itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::OutputImagePointer |
Pointer Type for the output image.
Definition at line 98 of file itkBinaryThinningImageFilter3D.h.
typedef TOutputImage itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::OutputImageType |
Type for output image: Skelenton of the object.
Definition at line 77 of file itkBinaryThinningImageFilter3D.h.
typedef SmartPointer<Self> itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::Pointer |
Definition at line 64 of file itkBinaryThinningImageFilter3D.h.
typedef InputImageType::RegionType itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::RegionType |
Type for the region of the input image.
Definition at line 80 of file itkBinaryThinningImageFilter3D.h.
typedef BinaryThinningImageFilter3D itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::Self |
Standard class typedefs.
Definition at line 62 of file itkBinaryThinningImageFilter3D.h.
typedef RegionType::SizeType itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::SizeType |
Type for the size of the input image.
Definition at line 92 of file itkBinaryThinningImageFilter3D.h.
typedef ImageToImageFilter<TInputImage,TOutputImage> itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::Superclass |
Definition at line 63 of file itkBinaryThinningImageFilter3D.h.
|
protected |
|
inlineprotectedvirtual |
Definition at line 137 of file itkBinaryThinningImageFilter3D.h.
|
protected |
Compute thinning Image.
|
protected |
|
protected |
Compute thinning Image.
OutputImageType* itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::GetThinning | ( | void | ) |
Get Skelenton by thinning image.
|
protected |
isEulerInvariant [Lee94]
|
protected |
isSimplePoint [Lee94]
itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::itkNewMacro | ( | Self | ) |
Method for creation through the object factory
itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::itkStaticConstMacro | ( | InputImageDimension | , |
unsigned int | , | ||
TInputImage::ImageDimension | |||
) |
ImageDimension enumeration
itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::itkStaticConstMacro | ( | OutputImageDimension | , |
unsigned int | , | ||
TOutputImage::ImageDimension | |||
) |
itk::BinaryThinningImageFilter3D< TInputImage, TOutputImage >::itkTypeMacro | ( | BinaryThinningImageFilter3D< TInputImage, TOutputImage > | , |
ImageToImageFilter | |||
) |
Run-time type information (and related methods).
|
protected |
Octree_labeling [Lee94]
|
protected |
Prepare data.
|
protected |