SimpleITK
|
binary morphological closing of an image. More...
#include <sitkBinaryOpeningByReconstructionImageFilter.h>
binary morphological closing of an image.
This filter removes small (i.e., smaller than the structuring element) objects in the image. It is defined as: Opening(f) = ReconstructionByDilatation(Erosion(f)).
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.
This implementation was taken from the Insight Journal paper: https://doi.org/10.54294/q6auw4
Definition at line 50 of file sitkBinaryOpeningByReconstructionImageFilter.h.
Public Types | |
using | PixelIDTypeList = IntegerPixelIDTypeList |
using | Self = BinaryOpeningByReconstructionImageFilter |
Public Types inherited from itk::simple::ImageFilter | |
using | Self = ImageFilter |
Public Types inherited from itk::simple::ProcessObject | |
using | Self = ProcessObject |
Public Member Functions | |
BinaryOpeningByReconstructionImageFilter () | |
Image | Execute (const Image &image1) |
Self & | FullyConnectedOff () |
Self & | FullyConnectedOn () |
double | GetBackgroundValue () const |
double | GetForegroundValue () const |
bool | GetFullyConnected () const |
std::vector< unsigned int > | GetKernelRadius () const |
KernelEnum | GetKernelType () const |
std::string | GetName () const |
Self & | SetBackgroundValue (double BackgroundValue) |
Self & | SetForegroundValue (double ForegroundValue) |
Self & | SetFullyConnected (bool FullyConnected) |
Self & | SetKernelRadius (std::vector< unsigned int > KernelRadius) |
Self & | SetKernelRadius (unsigned int value) |
Self & | SetKernelType (KernelEnum KernelType) |
std::string | ToString () const |
virtual | ~BinaryOpeningByReconstructionImageFilter () |
Public Member Functions inherited from itk::simple::ImageFilter | |
ImageFilter () | |
virtual | ~ImageFilter ()=0 |
Public Member Functions inherited from itk::simple::ProcessObject | |
virtual void | Abort () |
virtual int | AddCommand (itk::simple::EventEnum event, const std::function< void()> &func) |
Directly add a callback to observe an event. More... | |
virtual int | AddCommand (itk::simple::EventEnum event, itk::simple::Command &cmd) |
Add a Command Object to observer the event. More... | |
virtual float | GetProgress () const |
An Active Measurement of the progress of execution. More... | |
virtual bool | HasCommand (itk::simple::EventEnum event) const |
Query of this object has any registered commands for event. More... | |
ProcessObject () | |
virtual void | RemoveAllCommands () |
Remove all registered commands. More... | |
virtual | ~ProcessObject () |
virtual void | DebugOn () |
virtual void | DebugOff () |
virtual bool | GetDebug () const |
virtual void | SetDebug (bool debugFlag) |
virtual void | SetNumberOfThreads (unsigned int n) |
virtual unsigned int | GetNumberOfThreads () const |
virtual void | SetNumberOfWorkUnits (unsigned int n) |
virtual unsigned int | GetNumberOfWorkUnits () const |
Private Types | |
using | MemberFunctionType = Image(Self::*)(const Image &image1) |
Private Member Functions | |
template<class TImageType > | |
Image | ExecuteInternal (const Image &image1) |
Private Attributes | |
double | m_BackgroundValue {0.0} |
double | m_ForegroundValue {1.0} |
bool | m_FullyConnected {false} |
std::vector< unsigned int > | m_KernelRadius {std::vector<uint32_t>(3, 1)} |
KernelEnum | m_KernelType {itk::simple::sitkBall} |
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > | m_MemberFactory |
Friends | |
struct | detail::MemberFunctionAddressor< MemberFunctionType > |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::simple::ProcessObject | |
static bool | GetGlobalDefaultDebug () |
static void | GlobalDefaultDebugOff () |
static void | GlobalDefaultDebugOn () |
static void | SetGlobalDefaultDebug (bool debugFlag) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static void | SetGlobalWarningDisplay (bool flag) |
static bool | GetGlobalWarningDisplay () |
static double | GetGlobalDefaultCoordinateTolerance () |
Access the global tolerance to determine congruent spaces. More... | |
static void | SetGlobalDefaultCoordinateTolerance (double) |
Access the global tolerance to determine congruent spaces. More... | |
static double | GetGlobalDefaultDirectionTolerance () |
Access the global tolerance to determine congruent spaces. More... | |
static void | SetGlobalDefaultDirectionTolerance (double) |
Access the global tolerance to determine congruent spaces. More... | |
static bool | SetGlobalDefaultThreader (const std::string &threader) |
Set/Get the default threader used for process objects. More... | |
static std::string | GetGlobalDefaultThreader () |
Set/Get the default threader used for process objects. More... | |
static void | SetGlobalDefaultNumberOfThreads (unsigned int n) |
static unsigned int | GetGlobalDefaultNumberOfThreads () |
Set/Get the default threader used for process objects. More... | |
Protected Member Functions inherited from itk::simple::ImageFilter | |
void | CheckImageMatchingDimension (const Image &image1, const Image &image2, const std::string &image2Name) |
void | CheckImageMatchingPixelType (const Image &image1, const Image &image2, const std::string &image2Name) |
void | CheckImageMatchingSize (const Image &image1, const Image &image2, const std::string &image2Name) |
Protected Member Functions inherited from itk::simple::ProcessObject | |
virtual unsigned long | AddITKObserver (const itk::EventObject &, itk::Command *) |
virtual itk::ProcessObject * | GetActiveProcess () |
virtual void | OnActiveProcessDelete () |
virtual void | onCommandDelete (const itk::simple::Command *cmd) noexcept |
virtual void | PreUpdate (itk::ProcessObject *p) |
virtual void | RemoveITKObserver (EventCommand &e) |
Protected Member Functions inherited from itk::simple::NonCopyable | |
NonCopyable ()=default | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
Static Protected Member Functions inherited from itk::simple::ImageFilter | |
template<class TImageType > | |
static void | FixNonZeroIndex (TImageType *img) |
Static Protected Member Functions inherited from itk::simple::ProcessObject | |
template<class TImageType > | |
static TImageType::ConstPointer | CastImageToITK (const Image &img) |
template<class TPixelType , unsigned int VImageDimension, unsigned int VLength, template< typename, unsigned int > class TVector> | |
static Image | CastITKToImage (itk::Image< TVector< TPixelType, VLength >, VImageDimension > *img) |
template<unsigned int VImageDimension, unsigned int VLength, template< unsigned int > class TVector> | |
static Image | CastITKToImage (itk::Image< TVector< VLength >, VImageDimension > *img) |
template<class TImageType > | |
static Image | CastITKToImage (TImageType *img) |
static const itk::EventObject & | GetITKEventObject (EventEnum e) |
template<typename T > | |
static std::ostream & | ToStringHelper (std::ostream &os, const T &v) |
static std::ostream & | ToStringHelper (std::ostream &os, const char &v) |
static std::ostream & | ToStringHelper (std::ostream &os, const signed char &v) |
static std::ostream & | ToStringHelper (std::ostream &os, const unsigned char &v) |
|
private |
Setup for member function dispatching
Definition at line 137 of file sitkBinaryOpeningByReconstructionImageFilter.h.
using itk::simple::BinaryOpeningByReconstructionImageFilter::PixelIDTypeList = IntegerPixelIDTypeList |
Define the pixels types supported by this filter
Definition at line 62 of file sitkBinaryOpeningByReconstructionImageFilter.h.
using itk::simple::BinaryOpeningByReconstructionImageFilter::Self = BinaryOpeningByReconstructionImageFilter |
Definition at line 52 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
virtual |
Destructor
itk::simple::BinaryOpeningByReconstructionImageFilter::BinaryOpeningByReconstructionImageFilter | ( | ) |
Default Constructor that takes no arguments and initializes default parameters
Execute the filter on the input image
|
private |
|
inline |
Definition at line 115 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
inline |
Set the value of FullyConnected to true or false respectfully.
Definition at line 114 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
inline |
Set the value in eroded part of the image. Defaults to zero
Definition at line 106 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
inline |
Get the value in the image considered as "foreground". Defaults to maximum value of PixelType.
Definition at line 96 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
inline |
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.
Definition at line 120 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
inline |
Get the radius of the kernel structuring element.
Definition at line 76 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
inline |
Get the kernel or structuring element used for the morphology.
Definition at line 86 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
inlinevirtual |
Name of this class
Implements itk::simple::ProcessObject.
Definition at line 123 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
inline |
Set the value in eroded part of the image. Defaults to zero
Definition at line 101 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
inline |
Set the value in the image to consider as "foreground". Defaults to maximum value of PixelType.
Definition at line 91 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
inline |
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.
Definition at line 111 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
inline |
Set the radius of the kernel structuring element.
Definition at line 68 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
inline |
Set the values of the KernelRadius vector all to value
Definition at line 71 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
inline |
Set the kernel or structuring element used for the morphology.
Definition at line 81 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
virtual |
Print ourselves out
Reimplemented from itk::simple::ProcessObject.
|
friend |
Definition at line 141 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
private |
Definition at line 153 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
private |
Definition at line 151 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
private |
Definition at line 156 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
private |
Definition at line 147 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
private |
Definition at line 149 of file sitkBinaryOpeningByReconstructionImageFilter.h.
|
private |
Definition at line 143 of file sitkBinaryOpeningByReconstructionImageFilter.h.