#include <itkAnchorOpenCloseImageFilter.h>
class to implement openings and closings using anchor methods.
Anchor methods directly implement opening/closing by line structuring elements, and erosion/dilation is slightly more complicated. This class used line structuring elements to produce more complex shaped SEs, and must be instantiated with a decomposable structuring element type such as FlatStructuringElement. The direct implementation of openings by lines gives a mechanism to short cut the decomposition slightly - e.g. in the case of a rectangle the basic decomposition is Ex Ey Ez Dz Dy Dz, which can be changed to Ex Ey Oz Dy Dx, where Ex, Dx and Ox indicate erosions, dilations and openings along the x direction. Because anchor operations do openings directly, this is a saving of one pass through the filter. Unfortunately it results in more complex template parameters because the appropriate comparison operations need to be passed in. The less
Definition at line 51 of file itkAnchorOpenCloseImageFilter.h.
Public Types | |
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 = TImage |
using | KernelLType = typename KernelType::LType |
using | KernelType = TKernel |
using | Pointer = SmartPointer<Self> |
using | Self = AnchorOpenCloseImageFilter |
using | Superclass = KernelImageFilter<TImage, TImage, TKernel> |
![]() | |
using | ConstPointer |
using | FlatKernelType |
using | IndexType |
using | InputImageType |
using | InputPixelType |
using | KernelType |
using | OffsetType |
using | OutputImageType |
using | OutputPixelType |
using | Pointer |
using | RadiusType |
using | RegionType |
using | Self |
using | SizeType |
using | Superclass |
![]() | |
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 |
Public Member Functions | |
virtual::itk::LightObject::Pointer | CreateAnother () const |
const char * | GetNameOfClass () const override |
![]() | |
virtual::itk::LightObject::Pointer | CreateAnother () const |
virtual::itk::LightObject::Pointer | CreateAnother () const |
virtual const KernelType & | GetKernel () const |
virtual const KernelType & | GetKernel () const |
const char * | GetNameOfClass () const override |
const char * | GetNameOfClass () const override |
virtual void | SetKernel (const KernelType &kernel) |
virtual void | SetKernel (const KernelType &kernel) |
void | SetRadius (const RadiusType &radius) override |
void | SetRadius (const RadiusType &radius) override |
void | SetRadius (const SizeValueType &radius) override |
void | SetRadius (const SizeValueType &radius) override |
![]() | |
virtual const RadiusType & | GetRadius () const |
virtual void | SetRadius (const RadiusType &radius) |
virtual void | SetRadius (const RadiusValueType &radius) |
![]() | |
const InputImageType * | GetInput () const |
const InputImageType * | GetInput (unsigned int idx) const |
void | PopBackInput () override |
void | PopFrontInput () override |
virtual void | PushBackInput (const InputImageType *input) |
virtual void | PushFrontInput (const InputImageType *input) |
virtual void | SetInput (const InputImageType *input) |
virtual void | SetInput (unsigned int, const TInputImage *image) |
virtual void | SetCoordinateTolerance (double _arg) |
virtual double | GetCoordinateTolerance () const |
virtual void | SetDirectionTolerance (double _arg) |
virtual double | GetDirectionTolerance () const |
![]() | |
OutputImageType * | GetOutput (unsigned int idx) |
virtual void | GraftNthOutput (unsigned int idx, DataObject *graft) |
virtual void | GraftOutput (const DataObjectIdentifierType &key, DataObject *graft) |
virtual void | GraftOutput (DataObject *graft) |
OutputImageType * | GetOutput () |
const OutputImageType * | GetOutput () const |
ProcessObject::DataObjectPointer | MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx) override |
ProcessObject::DataObjectPointer | MakeOutput (const ProcessObject::DataObjectIdentifierType &) override |
![]() | |
virtual void | AbortGenerateDataOff () |
virtual void | AbortGenerateDataOn () |
virtual void | EnlargeOutputRequestedRegion (DataObject *output) |
virtual const bool & | GetAbortGenerateData () const |
DataObjectPointerArray | GetIndexedInputs () |
DataObjectPointerArray | GetIndexedOutputs () |
NameArray | GetInputNames () const |
DataObjectPointerArray | GetInputs () |
MultiThreaderType * | GetMultiThreader () const |
const char * | GetNameOfClass () const override |
DataObjectPointerArraySizeType | GetNumberOfIndexedInputs () const |
DataObjectPointerArraySizeType | GetNumberOfIndexedOutputs () const |
DataObjectPointerArraySizeType | GetNumberOfInputs () const |
DataObjectPointerArraySizeType | GetNumberOfOutputs () const |
virtual DataObjectPointerArraySizeType | GetNumberOfValidRequiredInputs () const |
NameArray | GetOutputNames () const |
DataObjectPointerArray | GetOutputs () |
virtual float | GetProgress () const |
NameArray | GetRequiredInputNames () const |
bool | HasInput (const DataObjectIdentifierType &key) const |
bool | HasOutput (const DataObjectIdentifierType &key) const |
void | IncrementProgress (float increment) |
virtual void | PrepareOutputs () |
virtual void | PropagateRequestedRegion (DataObject *output) |
virtual void | ResetPipeline () |
virtual void | SetAbortGenerateData (bool _arg) |
void | SetMultiThreader (MultiThreaderType *threader) |
virtual void | Update () |
virtual void | UpdateLargestPossibleRegion () |
virtual void | UpdateOutputData (DataObject *output) |
virtual void | UpdateOutputInformation () |
void | UpdateProgress (float progress) |
virtual void | SetReleaseDataFlag (bool val) |
virtual bool | GetReleaseDataFlag () const |
void | ReleaseDataFlagOn () |
void | ReleaseDataFlagOff () |
virtual void | SetReleaseDataBeforeUpdateFlag (bool _arg) |
virtual const bool & | GetReleaseDataBeforeUpdateFlag () const |
virtual void | ReleaseDataBeforeUpdateFlagOn () |
virtual void | ReleaseDataBeforeUpdateFlagOff () |
virtual void | SetNumberOfWorkUnits (ThreadIdType _arg) |
virtual const ThreadIdType & | GetNumberOfWorkUnits () const |
![]() | |
unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
LightObject::Pointer | CreateAnother () const override |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) const |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexcept override |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
![]() | |
Pointer | Clone () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static Pointer | New () |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static double | GetGlobalDefaultCoordinateTolerance () |
static double | GetGlobalDefaultDirectionTolerance () |
static void | SetGlobalDefaultCoordinateTolerance (double) |
static void | SetGlobalDefaultDirectionTolerance (double) |
![]() | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | InputImageDimension = TImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TImage::ImageDimension |
![]() | |
static constexpr unsigned int | ImageDimension |
static constexpr unsigned int | 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 Attributes | |
InputImagePixelType | m_Boundary1 {} |
InputImagePixelType | m_Boundary2 {} |
![]() | |
KernelType | m_Kernel |
KernelType | m_Kernel |
![]() | |
bool | m_DynamicMultiThreading { true } |
![]() | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
Private Types | |
using | AnchorLineDilateType = AnchorErodeDilateLine<InputImagePixelType, TCompare2> |
using | AnchorLineErodeType = AnchorErodeDilateLine<InputImagePixelType, TCompare1> |
using | AnchorLineOpenType = AnchorOpenCloseLine<InputImagePixelType, TCompare1> |
using | BresOffsetArray = typename BresType::OffsetArray |
using | BresType = BresenhamLine<Self::InputImageDimension> |
Private Member Functions | |
void | DoFaceOpen (InputImageConstPointer input, InputImagePointer output, InputImagePixelType border, KernelLType line, AnchorLineOpenType &AnchorLineOpen, const BresOffsetArray LineOffsets, std::vector< InputImagePixelType > &outbuffer, const InputImageRegionType AllImage, const InputImageRegionType face) |
Additional Inherited Members | |
![]() | |
using | InputToOutputRegionCopierType |
using | OutputToInputRegionCopierType |
![]() | |
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) |
|
private |
Definition at line 112 of file itkAnchorOpenCloseImageFilter.h.
|
private |
Definition at line 109 of file itkAnchorOpenCloseImageFilter.h.
|
private |
Definition at line 107 of file itkAnchorOpenCloseImageFilter.h.
|
private |
Definition at line 99 of file itkAnchorOpenCloseImageFilter.h.
|
private |
Definition at line 98 of file itkAnchorOpenCloseImageFilter.h.
using itk::AnchorOpenCloseImageFilter< TImage, TKernel, TCompare1, TCompare2 >::ConstPointer = SmartPointer<const Self> |
Definition at line 60 of file itkAnchorOpenCloseImageFilter.h.
using itk::AnchorOpenCloseImageFilter< TImage, TKernel, TCompare1, TCompare2 >::InputImageConstPointer = typename InputImageType::ConstPointer |
Definition at line 69 of file itkAnchorOpenCloseImageFilter.h.
using itk::AnchorOpenCloseImageFilter< TImage, TKernel, TCompare1, TCompare2 >::InputImagePixelType = typename InputImageType::PixelType |
Definition at line 71 of file itkAnchorOpenCloseImageFilter.h.
using itk::AnchorOpenCloseImageFilter< TImage, TKernel, TCompare1, TCompare2 >::InputImagePointer = typename InputImageType::Pointer |
Definition at line 68 of file itkAnchorOpenCloseImageFilter.h.
using itk::AnchorOpenCloseImageFilter< TImage, TKernel, TCompare1, TCompare2 >::InputImageRegionType = typename InputImageType::RegionType |
Definition at line 70 of file itkAnchorOpenCloseImageFilter.h.
using itk::AnchorOpenCloseImageFilter< TImage, TKernel, TCompare1, TCompare2 >::InputImageType = TImage |
Definition at line 67 of file itkAnchorOpenCloseImageFilter.h.
using itk::AnchorOpenCloseImageFilter< TImage, TKernel, TCompare1, TCompare2 >::KernelLType = typename KernelType::LType |
Definition at line 65 of file itkAnchorOpenCloseImageFilter.h.
using itk::AnchorOpenCloseImageFilter< TImage, TKernel, TCompare1, TCompare2 >::KernelType = TKernel |
Some convenient type alias. Kernel type alias.
Definition at line 64 of file itkAnchorOpenCloseImageFilter.h.
using itk::AnchorOpenCloseImageFilter< TImage, TKernel, TCompare1, TCompare2 >::Pointer = SmartPointer<Self> |
Definition at line 59 of file itkAnchorOpenCloseImageFilter.h.
using itk::AnchorOpenCloseImageFilter< TImage, TKernel, TCompare1, TCompare2 >::Self = AnchorOpenCloseImageFilter |
Standard class type aliases.
Definition at line 57 of file itkAnchorOpenCloseImageFilter.h.
using itk::AnchorOpenCloseImageFilter< TImage, TKernel, TCompare1, TCompare2 >::Superclass = KernelImageFilter<TImage, TImage, TKernel> |
Definition at line 58 of file itkAnchorOpenCloseImageFilter.h.
|
protected |
|
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.
Reimplemented in itk::AnchorOpenImageFilter< TImage, TKernel >, itk::AnchorOpenImageFilter< TInputImage, FlatKernelType >, and itk::AnchorOpenImageFilter< TInputImage, FlatKernelType >.
|
private |
|
overrideprotected |
Multi-thread version GenerateData.
|
overridevirtual |
Reimplemented from itk::LightObject.
|
static |
Standard New method.
|
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.
|
staticconstexpr |
ImageDimension constants
Definition at line 74 of file itkAnchorOpenCloseImageFilter.h.
|
protected |
Definition at line 94 of file itkAnchorOpenCloseImageFilter.h.
Referenced by itk::AnchorCloseImageFilter< TInputImage, FlatKernelType >::AnchorCloseImageFilter(), and itk::AnchorOpenImageFilter< TInputImage, FlatKernelType >::AnchorOpenImageFilter().
|
protected |
Definition at line 95 of file itkAnchorOpenCloseImageFilter.h.
Referenced by itk::AnchorCloseImageFilter< TInputImage, FlatKernelType >::AnchorCloseImageFilter(), and itk::AnchorOpenImageFilter< TInputImage, FlatKernelType >::AnchorOpenImageFilter().
|
staticconstexpr |
Definition at line 75 of file itkAnchorOpenCloseImageFilter.h.