#include <itkAttributeMorphologyBaseImageFilter.h>
Morphological opening by attributes.
This is the base class for morphology attribute operations. Attribute operations remove blobs according to criteria such as area. Attribute openings remove bright regions that meet the attribute criteria (i.e. regions less than a user specified area or volume) while attribute closings fill dark regions that meet the attribute criteria.
This filter is implemented using the method describe in [83].
This code was contributed in the Insight Journal paper
"Grayscale morphological attribute operations" by Beare R. https://doi.org/10.54294/ifvjls
Definition at line 52 of file itkAttributeMorphologyBaseImageFilter.h.
Inheritance diagram for itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >:
Collaboration diagram for itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >:Classes | |
| class | CompareOffsetType |
Public Types | |
| using | AttributeType = TAttribute |
| using | ConstPointer = SmartPointer<const Self> |
| using | IndexType = typename TInputImage::IndexType |
| using | InputImagePointer |
| using | InputImageType = TInputImage |
| using | InputInternalPixelType = typename TInputImage::InternalPixelType |
| using | InputPixelType = typename TInputImage::PixelType |
| using | ListType = std::list<IndexType> |
| using | OffsetType = typename TInputImage::OffsetType |
| using | OutputImageType = TOutputImage |
| using | OutputInternalPixelType = typename TOutputImage::InternalPixelType |
| using | OutputPixelType = typename TOutputImage::PixelType |
| using | Pointer = SmartPointer<Self> |
| using | RegionType = typename TOutputImage::RegionType |
| using | Self = AttributeMorphologyBaseImageFilter |
| using | SizeType = typename TInputImage::SizeType |
| using | Superclass = ImageToImageFilter<TInputImage, TOutputImage> |
Public Types inherited from itk::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> |
Public Types inherited from itk::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 |
Public Types inherited from itk::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 | NameArray = std::vector<DataObjectIdentifierType> |
| using | Pointer = SmartPointer<Self> |
| using | Self = ProcessObject |
| using | Superclass = Object |
Public Types inherited from itk::Object | |
| using | ConstPointer = SmartPointer<const Self> |
| using | Pointer = SmartPointer<Self> |
| using | Self = Object |
| using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
| using | ConstPointer = SmartPointer<const Self> |
| using | Pointer = SmartPointer<Self> |
| using | Self = LightObject |
Static Public Member Functions | |
| static Pointer | New () |
Static Public Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
| static double | GetGlobalDefaultCoordinateTolerance () |
| static double | GetGlobalDefaultDirectionTolerance () |
| static void | SetGlobalDefaultCoordinateTolerance (double) |
| static void | SetGlobalDefaultDirectionTolerance (double) |
Static Public Member Functions inherited from itk::Object | |
| static bool | GetGlobalWarningDisplay () |
| static void | GlobalWarningDisplayOff () |
| static void | GlobalWarningDisplayOn () |
| static Pointer | New () |
| static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
| static void | BreakOnError () |
| static Pointer | New () |
Static Public Attributes | |
| static constexpr unsigned int | ImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
| static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
| static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
| static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Protected Attributes | |
| AttributeType | m_AttributeValuePerPixel {} |
Protected Attributes inherited from itk::ImageSource< TOutputImage > | |
| bool | m_DynamicMultiThreading { true } |
Protected Attributes inherited from itk::ProcessObject | |
| TimeStamp | m_OutputInformationMTime {} |
| bool | m_Updating {} |
Protected Attributes inherited from itk::LightObject | |
| std::atomic< int > | m_ReferenceCount {} |
Private Types | |
| using | OffsetDirectVecType = std::vector<OffsetValueType> |
| using | OffsetVecType = std::vector<OffsetType> |
Private Member Functions | |
| bool | Criterion (OffsetValueType x, OffsetValueType y) |
| OffsetValueType | FindRoot (OffsetValueType x) |
| void | MakeSet (OffsetValueType x) |
| void | SetupOffsetVec (OffsetDirectVecType &PosOffsets, OffsetVecType &Offsets) |
| void | Union (OffsetValueType n, OffsetValueType p) |
Private Attributes | |
| std::unique_ptr< AttributeType[]> | m_AuxData |
| CompareOffsetType | m_CompareOffset {} |
| bool | m_FullyConnected {} |
| AttributeType | m_Lambda {} |
| std::unique_ptr< OffsetValueType[]> | m_Parent |
| std::unique_ptr< InputPixelType[]> | m_Raw |
| std::unique_ptr< OffsetValueType[]> | m_SortPixels |
Static Private Attributes | |
| static constexpr OffsetValueType | ACTIVE = -2 |
| static constexpr OffsetValueType | INACTIVE = -1 |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
| using | InputToOutputRegionCopierType |
| using | OutputToInputRegionCopierType |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
| static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
| static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
Static Protected Member Functions inherited from itk::ProcessObject | |
| template<typename TSourceObject> | |
| static void | MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs) |
| static constexpr float | progressFixedToFloat (uint32_t fixed) |
| static uint32_t | progressFloatToFixed (float f) |
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::AttributeType = TAttribute |
Definition at line 89 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::ConstPointer = SmartPointer<const Self> |
Definition at line 95 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::IndexType = typename TInputImage::IndexType |
Definition at line 74 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::ImageToImageFilter< TInputImage, TOutputImage >::InputImagePointer |
Definition at line 130 of file itkImageToImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::InputImageType = TInputImage |
Image type alias support
Definition at line 83 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::InputInternalPixelType = typename TInputImage::InternalPixelType |
Definition at line 73 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::InputPixelType = typename TInputImage::PixelType |
Definition at line 72 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::ListType = std::list<IndexType> |
Definition at line 88 of file itkAttributeMorphologyBaseImageFilter.h.
|
private |
Definition at line 170 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::OffsetType = typename TInputImage::OffsetType |
Definition at line 75 of file itkAttributeMorphologyBaseImageFilter.h.
|
private |
Definition at line 168 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::OutputImageType = TOutputImage |
Definition at line 84 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::OutputInternalPixelType = typename TOutputImage::InternalPixelType |
Definition at line 71 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::OutputPixelType = typename TOutputImage::PixelType |
Extract some information from the image types. Dimensionality of the two images is assumed to be the same.
Definition at line 70 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::Pointer = SmartPointer<Self> |
Smart pointer type alias support
Definition at line 94 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::RegionType = typename TOutputImage::RegionType |
Definition at line 87 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::Self = AttributeMorphologyBaseImageFilter |
Standard "Self" & Superclass typedef.
Definition at line 58 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::SizeType = typename TInputImage::SizeType |
Definition at line 76 of file itkAttributeMorphologyBaseImageFilter.h.
| using itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::Superclass = ImageToImageFilter<TInputImage, TOutputImage> |
Definition at line 59 of file itkAttributeMorphologyBaseImageFilter.h.
|
inlineprotected |
Definition at line 126 of file itkAttributeMorphologyBaseImageFilter.h.
|
overrideprotecteddefault |
|
inlineprotected |
Definition at line 132 of file itkAttributeMorphologyBaseImageFilter.h.
|
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.
|
inlineprivate |
Definition at line 226 of file itkAttributeMorphologyBaseImageFilter.h.
|
overrideprotectedvirtual |
AttributeMorphologyBaseImageFilter will produce all of the output. Therefore it must provide an implementation of EnlargeOutputRequestedRegion().
Reimplemented from itk::ProcessObject.
|
inlineprivate |
Definition at line 212 of file itkAttributeMorphologyBaseImageFilter.h.
|
virtual |
|
virtual |
|
overrideprotectedvirtual |
Standard pipeline method.
Reimplemented from itk::ProcessObject.
|
overrideprotectedvirtual |
AttributeMorphologyBaseImageFilter needs the entire input. Therefore it must provide an implementation GenerateInputRequestedRegion().
Reimplemented from itk::ProcessObject.
|
virtual |
|
virtual |
|
virtual |
Run-time type information (and related methods)
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Reimplemented in itk::AreaClosingImageFilter< TInputImage, TOutputImage, TAttribute >, and itk::AreaOpeningImageFilter< TInputImage, TOutputImage, TAttribute >.
|
inlineprivate |
Definition at line 205 of file itkAttributeMorphologyBaseImageFilter.h.
|
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.
|
virtual |
Set/Get whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. Default is FullyConnectedOff. For objects that are 1 pixel wide, use FullyConnectedOn.
|
virtual |
Set/Get the threshold value used to select the connected components. The connected components greater or equal to Lambda are kept, the others are removed. Lambda defaults to 0.
|
private |
|
inlineprivate |
Definition at line 232 of file itkAttributeMorphologyBaseImageFilter.h.
|
staticconstexprprivate |
Definition at line 163 of file itkAttributeMorphologyBaseImageFilter.h.
|
staticconstexpr |
Definition at line 78 of file itkAttributeMorphologyBaseImageFilter.h.
|
staticconstexprprivate |
Definition at line 162 of file itkAttributeMorphologyBaseImageFilter.h.
|
protected |
Definition at line 155 of file itkAttributeMorphologyBaseImageFilter.h.
|
private |
Definition at line 166 of file itkAttributeMorphologyBaseImageFilter.h.
|
private |
Definition at line 201 of file itkAttributeMorphologyBaseImageFilter.h.
|
private |
Definition at line 158 of file itkAttributeMorphologyBaseImageFilter.h.
|
private |
Definition at line 159 of file itkAttributeMorphologyBaseImageFilter.h.
|
private |
Definition at line 180 of file itkAttributeMorphologyBaseImageFilter.h.
|
private |
Definition at line 183 of file itkAttributeMorphologyBaseImageFilter.h.
|
private |
Definition at line 179 of file itkAttributeMorphologyBaseImageFilter.h.