#include <itkBinaryErodeImageFilter.h>
Fast binary erosion of a single intensity value in the image.
BinaryErodeImageFilter is a binary erosion morphologic operation on the foreground of an image. Only the value designated by the intensity value "SetForegroundValue()" (alias as SetErodeValue()) is considered as foreground, and other intensity values are considered background.
Grayscale images can be processed as binary images by selecting a "ForegroundValue" (alias "ErodeValue"). Pixel values matching the erode value are considered the "foreground" and all other pixels are "background". This is useful in processing segmented images where all pixels in segment #1 have value 1 and pixels in segment #2 have value 2, etc. A particular "segment number" can be processed. ForegroundValue defaults to the maximum possible value of the PixelType. The eroded pixels will receive the BackgroundValue (defaults to NumericTraits::NonpositiveMin() ).
The structuring element is assumed to be composed of binary values (zero or one). Only elements of the structuring element having values > 0 are candidates for affecting the center pixel. A reasonable choice of structuring element is itk::BinaryBallStructuringElement.
This implementation is based on the papers [132] and [81].
Definition at line 64 of file itkBinaryErodeImageFilter.h.
Public Types | |
using | ConstPointer = SmartPointer<const Self> |
using | IndexType = typename InputImageType::IndexType |
using | InputImageRegionType = typename InputImageType::RegionType |
using | InputImageType = TInputImage |
using | InputPixelType = typename InputImageType::PixelType |
using | InputRealType = typename NumericTraits<InputPixelType>::RealType |
using | InputSizeType = typename InputImageType::SizeType |
using | KernelIteratorType = typename KernelType::ConstIterator |
using | KernelType = TKernel |
using | OffsetType = typename InputImageType::OffsetType |
using | OutputImageRegionType = typename OutputImageType::RegionType |
using | OutputImageType = TOutputImage |
using | OutputPixelType = typename OutputImageType::PixelType |
using | Pointer = SmartPointer<Self> |
using | Self = BinaryErodeImageFilter |
using | Superclass = BinaryMorphologyImageFilter<InputImageType, OutputImageType, KernelType> |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | IndexType = typename InputImageType::IndexType |
using | IndexValueType = typename InputImageType::IndexValueType |
using | InputImageRegionType = typename InputImageType::RegionType |
using | InputImageType = TInputImage |
using | InputPixelType = typename InputImageType::PixelType |
using | InputRealType = typename NumericTraits<InputPixelType>::RealType |
using | InputSizeType = typename InputImageType::SizeType |
using | InputSizeValueType = typename InputImageType::SizeValueType |
using | KernelIteratorType = typename KernelType::ConstIterator |
using | KernelType = TKernel |
using | OffsetType = typename InputImageType::OffsetType |
using | OutputImageRegionType = typename OutputImageType::RegionType |
using | OutputImageType = TOutputImage |
using | OutputPixelType = typename OutputImageType::PixelType |
using | Pointer = SmartPointer<Self> |
using | Self = BinaryMorphologyImageFilter |
using | Superclass = KernelImageFilter<InputImageType, OutputImageType, TKernel> |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | FlatKernelType = FlatStructuringElement<(Self::ImageDimension)> |
using | IndexType = typename TInputImage::IndexType |
using | InputImageType = TInputImage |
using | InputPixelType = typename TInputImage::PixelType |
using | KernelType = TKernel |
using | OffsetType = typename TInputImage::OffsetType |
using | OutputImageType = TOutputImage |
using | OutputPixelType = typename TOutputImage::PixelType |
using | Pointer = SmartPointer<Self> |
using | RadiusType = typename TInputImage::SizeType |
using | RegionType = typename TInputImage::RegionType |
using | Self = KernelImageFilter |
using | SizeType = typename TInputImage::SizeType |
using | Superclass = BoxImageFilter<TInputImage, TOutputImage> |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | IndexType = typename TInputImage::IndexType |
using | InputImageType = TInputImage |
using | InputPixelType = typename TInputImage::PixelType |
using | OffsetType = typename TInputImage::OffsetType |
using | OutputImageType = TOutputImage |
using | OutputPixelType = typename TOutputImage::PixelType |
using | Pointer = SmartPointer<Self> |
using | RadiusType = typename TInputImage::SizeType |
using | RadiusValueType = typename TInputImage::SizeValueType |
using | RegionType = typename TInputImage::RegionType |
using | Self = BoxImageFilter |
using | SizeType = typename TInputImage::SizeType |
using | Superclass = ImageToImageFilter<TInputImage, TOutputImage> |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | InputImageConstPointer = typename InputImageType::ConstPointer |
using | InputImagePixelType = typename InputImageType::PixelType |
using | InputImagePointer = typename InputImageType::Pointer |
using | InputImageRegionType = typename InputImageType::RegionType |
using | InputImageType = TInputImage |
using | OutputImagePixelType |
using | OutputImageRegionType |
using | Pointer = SmartPointer<Self> |
using | Self = ImageToImageFilter |
using | Superclass = ImageSource<TOutputImage> |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | DataObjectIdentifierType = Superclass::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | DataObjectPointerArraySizeType = Superclass::DataObjectPointerArraySizeType |
using | OutputImagePixelType = typename OutputImageType::PixelType |
using | OutputImagePointer = typename OutputImageType::Pointer |
using | OutputImageRegionType = typename OutputImageType::RegionType |
using | OutputImageType = TOutputImage |
using | Pointer = SmartPointer<Self> |
using | Self = ImageSource |
using | Superclass = ProcessObject |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | DataObjectIdentifierType = DataObject::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | DataObjectPointerArray = std::vector<DataObjectPointer> |
using | DataObjectPointerArraySizeType = DataObjectPointerArray::size_type |
using | MultiThreaderType = MultiThreaderBase |
using | NameArray = std::vector<DataObjectIdentifierType> |
using | Pointer = SmartPointer<Self> |
using | Self = ProcessObject |
using | Superclass = Object |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = Object |
using | Superclass = LightObject |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = LightObject |
Static Public Attributes | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | KernelDimension = TKernel::NeighborhoodDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
![]() | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | KernelDimension = TKernel::NeighborhoodDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
![]() | |
static constexpr unsigned int | ImageDimension = TInputImage::ImageDimension |
![]() | |
static constexpr unsigned int | ImageDimension = TInputImage::ImageDimension |
![]() | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
![]() | |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Protected Types | |
using | NeighborIndexContainer |
![]() | |
using | ComponentVectorConstIterator = typename ComponentVectorType::const_iterator |
using | ComponentVectorType = std::vector<OffsetType> |
using | NeighborIndexContainer = std::vector<OffsetType> |
using | NeighborIndexContainerContainer = std::vector<NeighborIndexContainer> |
![]() | |
using | InputToOutputRegionCopierType |
using | OutputToInputRegionCopierType |
Additional Inherited Members | |
![]() | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
![]() | |
template<typename TSourceObject> | |
static void | MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs) |
static constexpr float | progressFixedToFloat (uint32_t fixed) |
static uint32_t | progressFloatToFixed (float f) |
![]() | |
bool | m_BoundaryToForeground {} |
![]() | |
KernelType | m_Kernel {} |
![]() | |
bool | m_DynamicMultiThreading { true } |
![]() | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::ConstPointer = SmartPointer<const Self> |
Definition at line 87 of file itkBinaryErodeImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::IndexType = typename InputImageType::IndexType |
Definition at line 103 of file itkBinaryErodeImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::InputImageRegionType = typename InputImageType::RegionType |
Definition at line 105 of file itkBinaryErodeImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::InputImageType = TInputImage |
Convenient type alias for simplifying declarations.
Definition at line 78 of file itkBinaryErodeImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::InputPixelType = typename InputImageType::PixelType |
Image type alias support
Definition at line 99 of file itkBinaryErodeImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::InputRealType = typename NumericTraits<InputPixelType>::RealType |
Definition at line 101 of file itkBinaryErodeImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::InputSizeType = typename InputImageType::SizeType |
Definition at line 107 of file itkBinaryErodeImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::KernelIteratorType = typename KernelType::ConstIterator |
Kernel (structuring element) iterator.
Definition at line 96 of file itkBinaryErodeImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::KernelType = TKernel |
Definition at line 80 of file itkBinaryErodeImageFilter.h.
|
protected |
Type definition of container of neighbourhood index
Definition at line 191 of file itkBinaryMorphologyImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::OffsetType = typename InputImageType::OffsetType |
Definition at line 102 of file itkBinaryErodeImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::OutputImageRegionType = typename OutputImageType::RegionType |
Definition at line 106 of file itkBinaryErodeImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::OutputImageType = TOutputImage |
Definition at line 79 of file itkBinaryErodeImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::OutputPixelType = typename OutputImageType::PixelType |
Definition at line 100 of file itkBinaryErodeImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::Pointer = SmartPointer<Self> |
Definition at line 86 of file itkBinaryErodeImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::Self = BinaryErodeImageFilter |
Standard class type aliases.
Definition at line 83 of file itkBinaryErodeImageFilter.h.
using itk::BinaryErodeImageFilter< TInputImage, TOutputImage, TKernel >::Superclass = BinaryMorphologyImageFilter<InputImageType, OutputImageType, KernelType> |
Definition at line 84 of file itkBinaryErodeImageFilter.h.
|
protected |
Referenced by GetNameOfClass().
|
overrideprotecteddefault |
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::LightObject.
|
overrideprotectedvirtual |
This method causes the filter to generate its output.
Reimplemented from itk::ProcessObject.
|
inline |
Get the value in the image considered as "foreground". Defaults to maximum value of PixelType. This is an alias to the GetForegroundValue in the superclass.
Definition at line 122 of file itkBinaryErodeImageFilter.h.
References itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >::GetForegroundValue().
|
overridevirtual |
Reimplemented from itk::LightObject.
References BinaryErodeImageFilter().
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::LightObject.
|
inline |
Set the value in the image to consider as "foreground". Defaults to maximum value of PixelType. This is an alias to the SetForegroundValue in the superclass.
Definition at line 113 of file itkBinaryErodeImageFilter.h.
References itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >::SetForegroundValue().
|
staticconstexpr |
Extract dimension from input and output image.
Definition at line 71 of file itkBinaryErodeImageFilter.h.
|
staticconstexpr |
Extract the dimension of the kernel
Definition at line 75 of file itkBinaryErodeImageFilter.h.
|
staticconstexpr |
Definition at line 72 of file itkBinaryErodeImageFilter.h.