33 #ifndef __itkBinaryThinningImageFilter3D_h
34 #define __itkBinaryThinningImageFilter3D_h
36 #include <itkNeighborhoodIterator.h>
37 #include <itkImageToImageFilter.h>
38 #include <itkImageRegionIteratorWithIndex.h>
39 #include <itkConstantBoundaryCondition.h>
77 template <
class TInputImage,
class TOutputImage>
79 public ImageToImageFilter<TInputImage,TOutputImage>
84 typedef ImageToImageFilter<TInputImage,TOutputImage>
Superclass;
135 TInputImage::ImageDimension );
137 TOutputImage::ImageDimension );
139 #ifdef ITK_USE_CONCEPT_CHECKING
141 itkConceptMacro(SameDimensionCheck,
142 (Concept::SameDimension<InputImageDimension, 3>));
143 itkConceptMacro(SameTypeCheck,
144 (Concept::SameType<InputImagePixelType, OutputImagePixelType>));
145 itkConceptMacro(InputAdditiveOperatorsCheck,
146 (Concept::AdditiveOperators<InputImagePixelType>));
147 itkConceptMacro(InputConvertibleToIntCheck,
148 (Concept::Convertible<InputImagePixelType, int>));
149 itkConceptMacro(IntConvertibleToInputCheck,
150 (Concept::Convertible<int, InputImagePixelType>));
151 itkConceptMacro(InputIntComparableCheck,
152 (Concept::Comparable<InputImagePixelType, int>));
159 void PrintSelf(std::ostream& os, Indent indent)
const;
181 void operator=(
const Self&);
187 #ifndef ITK_MANUAL_INSTANTIATION
188 #include "itkBinaryThinningImageFilter3D.txx"
itkTypeMacro(BinaryThinningImageFilter3D, ImageToImageFilter)
BinaryThinningImageFilter3D Self
RegionType::IndexType IndexType
ImageToImageFilter< TInputImage, TOutputImage > Superclass
virtual ~BinaryThinningImageFilter3D()
ConstantBoundaryCondition< TInputImage > ConstBoundaryConditionType
NeighborhoodIteratorType::NeighborhoodType NeighborhoodType
bool isEulerInvariant(NeighborhoodType neighbors, int *LUT)
BinaryThinningImageFilter3D()
NeighborhoodIterator< TInputImage, ConstBoundaryConditionType > NeighborhoodIteratorType
InputImageType::RegionType RegionType
void fillEulerLUT(int *LUT)
OutputImageType::Pointer OutputImagePointer
TOutputImage OutputImageType
InputImageType::PixelType InputImagePixelType
RegionType::SizeType SizeType
void PrintSelf(std::ostream &os, Indent indent) const
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
void Octree_labeling(int octant, int label, int *cube)
InputImageType::ConstPointer InputImagePointer
OutputImageType * GetThinning(void)
bool isSimplePoint(NeighborhoodType neighbors)
TInputImage InputImageType
This filter computes one-pixel-wide skeleton of a 3D input image.
itkStaticConstMacro(InputImageDimension, unsigned int, TInputImage::ImageDimension)
OutputImageType::PixelType OutputImagePixelType