SimpleITK
|
Fills in holes and cavities by iteratively applying a voting operation. More...
#include <sitkVotingBinaryIterativeHoleFillingImageFilter.h>
Fills in holes and cavities by iteratively applying a voting operation.
This filter uses internally the VotingBinaryHoleFillingImageFilter , and runs it iteratively until no pixels are being changed or until it reaches the maximum number of iterations. The purpose of the filter is to fill in holes of medium size (tens of pixels in radius). In principle the number of iterations is related to the size of the holes to be filled in. The larger the holes, the more iteration must be run with this filter in order to fill in the full hole. The size of the neighborhood is also related to the curvature of the hole borders and therefore the hole size. Note that as a collateral effect this filter may also fill in cavities in the external side of structures.
This filter is templated over a single image type because the output image type must be the same as the input image type. This is required in order to make the iterations possible, since the output image of one iteration is taken as the input image for the next iteration.
Definition at line 60 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
Public Types | |
using | PixelIDTypeList = IntegerPixelIDTypeList |
using | Self = VotingBinaryIterativeHoleFillingImageFilter |
Public Types inherited from itk::simple::ImageFilter | |
using | Self = ImageFilter |
Public Types inherited from itk::simple::ProcessObject | |
using | Self = ProcessObject |
Public Member Functions | |
Image | Execute (const Image &image1) |
double | GetBackgroundValue () const |
double | GetForegroundValue () const |
unsigned int | GetMajorityThreshold () const |
unsigned int | GetMaximumNumberOfIterations () const |
std::string | GetName () const |
std::vector< unsigned int > | GetRadius () const |
Self & | SetBackgroundValue (double BackgroundValue) |
Self & | SetForegroundValue (double ForegroundValue) |
Self & | SetMajorityThreshold (unsigned int MajorityThreshold) |
Self & | SetMaximumNumberOfIterations (unsigned int MaximumNumberOfIterations) |
Self & | SetRadius (std::vector< unsigned int > Radius) |
Self & | SetRadius (unsigned int value) |
std::string | ToString () const |
VotingBinaryIterativeHoleFillingImageFilter () | |
virtual | ~VotingBinaryIterativeHoleFillingImageFilter () |
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} |
unsigned int | m_MajorityThreshold {1u} |
unsigned int | m_MaximumNumberOfIterations {10u} |
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > | m_MemberFactory |
std::vector< unsigned int > | m_Radius {std::vector<unsigned int>(3, 1)} |
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 143 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
using itk::simple::VotingBinaryIterativeHoleFillingImageFilter::PixelIDTypeList = IntegerPixelIDTypeList |
Define the pixels types supported by this filter
Definition at line 72 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
using itk::simple::VotingBinaryIterativeHoleFillingImageFilter::Self = VotingBinaryIterativeHoleFillingImageFilter |
Definition at line 62 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
virtual |
Destructor
itk::simple::VotingBinaryIterativeHoleFillingImageFilter::VotingBinaryIterativeHoleFillingImageFilter | ( | ) |
Default Constructor that takes no arguments and initializes default parameters
Execute the filter on the input image
|
private |
|
inline |
Get the value associated with the Foreground (or the object) on the binary input image and the Background .
Definition at line 126 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
inline |
Get the value associated with the Foreground (or the object) on the binary input image and the Background .
Definition at line 116 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
inline |
Majority threshold. It is the number of pixels over 50% that will decide whether an OFF pixel will become ON or not. For example, if the neighborhood of a pixel has 124 pixels (excluding itself), the 50% will be 62, and if you set up a Majority threshold of 5, that means that the filter will require 67 or more neighbor pixels to be ON in order to switch the current OFF pixel to ON. The default value is 1.
Definition at line 106 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
inline |
Maximum number of iterations. This filter is executed iteratively as long as at least one pixel has changed in a previous iteration, or until the maximum number of iterations has been reached.
Definition at line 96 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
inlinevirtual |
Name of this class
Implements itk::simple::ProcessObject.
Definition at line 129 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
inline |
Get the radius of the neighborhood used to compute the median
Definition at line 86 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
inline |
Set the value associated with the Foreground (or the object) on the binary input image and the Background .
Definition at line 121 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
inline |
Set the value associated with the Foreground (or the object) on the binary input image and the Background .
Definition at line 111 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
inline |
Majority threshold. It is the number of pixels over 50% that will decide whether an OFF pixel will become ON or not. For example, if the neighborhood of a pixel has 124 pixels (excluding itself), the 50% will be 62, and if you set up a Majority threshold of 5, that means that the filter will require 67 or more neighbor pixels to be ON in order to switch the current OFF pixel to ON. The default value is 1.
Definition at line 101 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
inline |
Maximum number of iterations. This filter is executed iteratively as long as at least one pixel has changed in a previous iteration, or until the maximum number of iterations has been reached.
Definition at line 91 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
inline |
Set the radius of the neighborhood used to compute the median.
Definition at line 78 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
inline |
Set the values of the Radius vector all to value
Definition at line 81 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
virtual |
Print ourselves out
Reimplemented from itk::simple::ProcessObject.
|
friend |
Definition at line 147 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
private |
Definition at line 161 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
private |
Definition at line 159 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
private |
Definition at line 157 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
private |
Definition at line 155 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
private |
Definition at line 149 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.
|
private |
Definition at line 153 of file sitkVotingBinaryIterativeHoleFillingImageFilter.h.