SimpleITK
|
This filter calculates the Euclidean distance transform of a binary image in linear time for arbitrary dimensions. More...
#include <sitkSignedMaurerDistanceMapImageFilter.h>
This filter calculates the Euclidean distance transform of a binary image in linear time for arbitrary dimensions.
The inside is considered as having negative distances. Outside is treated as having positive distances. To change the convention, use the InsideIsPositive(bool) function.
Reference: C. R. Maurer, Jr., R. Qi, and V. Raghavan, "A Linear Time Algorithm for Computing Exact Euclidean Distance Transforms of Binary Images in Arbitrary Dimensions", IEEE - Transactions on Pattern Analysis and Machine Intelligence, 25(2): 265-270, 2003.
Definition at line 53 of file sitkSignedMaurerDistanceMapImageFilter.h.
Public Types | |
using | PixelIDTypeList = IntegerPixelIDTypeList |
using | Self = SignedMaurerDistanceMapImageFilter |
![]() | |
using | Self = ImageFilter |
![]() | |
using | Self = ProcessObject |
Public Member Functions | |
Image | Execute (const Image &image1) |
double | GetBackgroundValue () const |
bool | GetInsideIsPositive () const |
std::string | GetName () const |
bool | GetSquaredDistance () const |
bool | GetUseImageSpacing () const |
Self & | InsideIsPositiveOff () |
Self & | InsideIsPositiveOn () |
Self & | SetBackgroundValue (double BackgroundValue) |
Self & | SetInsideIsPositive (bool InsideIsPositive) |
Self & | SetSquaredDistance (bool SquaredDistance) |
Self & | SetUseImageSpacing (bool UseImageSpacing) |
SignedMaurerDistanceMapImageFilter () | |
Self & | SquaredDistanceOff () |
Self & | SquaredDistanceOn () |
std::string | ToString () const |
Self & | UseImageSpacingOff () |
Self & | UseImageSpacingOn () |
virtual | ~SignedMaurerDistanceMapImageFilter () |
![]() | |
ImageFilter () | |
virtual | ~ImageFilter ()=0 |
![]() | |
virtual void | Abort () |
virtual int | AddCommand (itk::simple::EventEnum event, const std::function< void()> &func) |
Directly add a callback to observe an event. | |
virtual int | AddCommand (itk::simple::EventEnum event, itk::simple::Command &cmd) |
Add a Command Object to observer the event. | |
virtual float | GetProgress () const |
An Active Measurement of the progress of execution. | |
virtual bool | HasCommand (itk::simple::EventEnum event) const |
Query of this object has any registered commands for event. | |
ProcessObject () | |
virtual void | RemoveAllCommands () |
Remove all registered commands. | |
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} |
bool | m_InsideIsPositive {false} |
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > | m_MemberFactory |
bool | m_SquaredDistance {true} |
bool | m_UseImageSpacing {false} |
Friends | |
struct | detail::MemberFunctionAddressor< MemberFunctionType > |
Additional Inherited Members | |
![]() | |
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. | |
static void | SetGlobalDefaultCoordinateTolerance (double) |
Access the global tolerance to determine congruent spaces. | |
static double | GetGlobalDefaultDirectionTolerance () |
Access the global tolerance to determine congruent spaces. | |
static void | SetGlobalDefaultDirectionTolerance (double) |
Access the global tolerance to determine congruent spaces. | |
static bool | SetGlobalDefaultThreader (const std::string &threader) |
Set/Get the default threader used for process objects. | |
static std::string | GetGlobalDefaultThreader () |
Set/Get the default threader used for process objects. | |
static void | SetGlobalDefaultNumberOfThreads (unsigned int n) |
static unsigned int | GetGlobalDefaultNumberOfThreads () |
Set/Get the default threader used for process objects. | |
![]() | |
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) |
![]() | |
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) |
![]() | |
NonCopyable ()=default | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
![]() | |
template<class TImageType> | |
static void | FixNonZeroIndex (TImageType *img) |
![]() | |
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 135 of file sitkSignedMaurerDistanceMapImageFilter.h.
Define the pixels types supported by this filter
Definition at line 65 of file sitkSignedMaurerDistanceMapImageFilter.h.
Definition at line 55 of file sitkSignedMaurerDistanceMapImageFilter.h.
|
virtual |
Destructor
itk::simple::SignedMaurerDistanceMapImageFilter::SignedMaurerDistanceMapImageFilter | ( | ) |
Default Constructor that takes no arguments and initializes default parameters
Execute the filter on the input image
|
private |
Referenced by detail::MemberFunctionAddressor< MemberFunctionType >.
|
inline |
Set the background value which defines the object. Usually this value is = 0.
Definition at line 118 of file sitkSignedMaurerDistanceMapImageFilter.h.
References m_BackgroundValue.
|
inline |
Get if the inside represents positive values in the signed distance map.
Definition at line 80 of file sitkSignedMaurerDistanceMapImageFilter.h.
References m_InsideIsPositive.
|
inlinevirtual |
Name of this class
Implements itk::simple::ProcessObject.
Definition at line 121 of file sitkSignedMaurerDistanceMapImageFilter.h.
|
inline |
Get the distance squared.
Definition at line 94 of file sitkSignedMaurerDistanceMapImageFilter.h.
References m_SquaredDistance.
|
inline |
Get whether spacing is used.
Definition at line 108 of file sitkSignedMaurerDistanceMapImageFilter.h.
References m_UseImageSpacing.
|
inline |
Definition at line 75 of file sitkSignedMaurerDistanceMapImageFilter.h.
References SetInsideIsPositive().
|
inline |
Set the value of InsideIsPositive to true or false respectfully.
Definition at line 74 of file sitkSignedMaurerDistanceMapImageFilter.h.
References SetInsideIsPositive().
|
inline |
Set the background value which defines the object. Usually this value is = 0.
Definition at line 113 of file sitkSignedMaurerDistanceMapImageFilter.h.
References m_BackgroundValue.
|
inline |
Set if the inside represents positive values in the signed distance map. By convention ON pixels are treated as inside pixels.
Definition at line 71 of file sitkSignedMaurerDistanceMapImageFilter.h.
References m_InsideIsPositive.
Referenced by InsideIsPositiveOff(), and InsideIsPositiveOn().
|
inline |
Set if the distance should be squared.
Definition at line 85 of file sitkSignedMaurerDistanceMapImageFilter.h.
References m_SquaredDistance.
Referenced by SquaredDistanceOff(), and SquaredDistanceOn().
|
inline |
Set if image spacing should be used in computing distances.
Definition at line 99 of file sitkSignedMaurerDistanceMapImageFilter.h.
References m_UseImageSpacing.
Referenced by UseImageSpacingOff(), and UseImageSpacingOn().
|
inline |
Definition at line 89 of file sitkSignedMaurerDistanceMapImageFilter.h.
References SetSquaredDistance().
|
inline |
Set the value of SquaredDistance to true or false respectfully.
Definition at line 88 of file sitkSignedMaurerDistanceMapImageFilter.h.
References SetSquaredDistance().
|
virtual |
Print ourselves out
Reimplemented from itk::simple::ProcessObject.
|
inline |
Definition at line 103 of file sitkSignedMaurerDistanceMapImageFilter.h.
References SetUseImageSpacing().
|
inline |
Set the value of UseImageSpacing to true or false respectfully.
Definition at line 102 of file sitkSignedMaurerDistanceMapImageFilter.h.
References SetUseImageSpacing().
|
friend |
Definition at line 136 of file sitkSignedMaurerDistanceMapImageFilter.h.
References ExecuteInternal().
|
private |
Definition at line 150 of file sitkSignedMaurerDistanceMapImageFilter.h.
Referenced by GetBackgroundValue(), and SetBackgroundValue().
|
private |
Definition at line 144 of file sitkSignedMaurerDistanceMapImageFilter.h.
Referenced by GetInsideIsPositive(), and SetInsideIsPositive().
|
private |
Definition at line 141 of file sitkSignedMaurerDistanceMapImageFilter.h.
|
private |
Definition at line 146 of file sitkSignedMaurerDistanceMapImageFilter.h.
Referenced by GetSquaredDistance(), and SetSquaredDistance().
|
private |
Definition at line 148 of file sitkSignedMaurerDistanceMapImageFilter.h.
Referenced by GetUseImageSpacing(), and SetUseImageSpacing().