SimpleITK
|
This filter computes the distance map of the input image as an approximation with pixel accuracy to the Euclidean distance. More...
#include <sitkDanielssonDistanceMapImageFilter.h>
This filter computes the distance map of the input image as an approximation with pixel accuracy to the Euclidean distance.
TInputImage
Input Image Type
TOutputImage
Output Image Type
TVoronoiImage
Voronoi Image Type. Note the default value is TInputImage.
The input is assumed to contain numeric codes defining objects. The filter will produce as output the following images:
This filter is N-dimensional and known to be efficient in computational time. The algorithm is the N-dimensional version of the 4SED algorithm given for two dimensions in:
Danielsson, Per-Erik. Euclidean Distance Mapping. Computer Graphics and Image Processing 14, 227-248 (1980).
Definition at line 77 of file sitkDanielssonDistanceMapImageFilter.h.
Public Types | |
using | PixelIDTypeList = IntegerPixelIDTypeList |
using | Self = DanielssonDistanceMapImageFilter |
![]() | |
using | Self = ImageFilter |
![]() | |
using | Self = ProcessObject |
Public Member Functions | |
DanielssonDistanceMapImageFilter () | |
Image | Execute (const Image &image1) |
bool | GetInputIsBinary () const |
std::string | GetName () const |
bool | GetSquaredDistance () const |
bool | GetUseImageSpacing () const |
Image | GetVectorDistanceMap () const |
Image | GetVoronoiMap () const |
Self & | InputIsBinaryOff () |
Self & | InputIsBinaryOn () |
Self & | SetInputIsBinary (bool InputIsBinary) |
Self & | SetSquaredDistance (bool SquaredDistance) |
Self & | SetUseImageSpacing (bool UseImageSpacing) |
Self & | SquaredDistanceOff () |
Self & | SquaredDistanceOn () |
std::string | ToString () const |
Self & | UseImageSpacingOff () |
Self & | UseImageSpacingOn () |
virtual | ~DanielssonDistanceMapImageFilter () |
![]() | |
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 | |
bool | m_InputIsBinary {false} |
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > | m_MemberFactory |
bool | m_SquaredDistance {false} |
bool | m_UseImageSpacing {false} |
Image | m_VectorDistanceMap {Image()} |
Image | m_VoronoiMap {Image()} |
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 165 of file sitkDanielssonDistanceMapImageFilter.h.
Define the pixels types supported by this filter
Definition at line 89 of file sitkDanielssonDistanceMapImageFilter.h.
Definition at line 79 of file sitkDanielssonDistanceMapImageFilter.h.
|
virtual |
Destructor
itk::simple::DanielssonDistanceMapImageFilter::DanielssonDistanceMapImageFilter | ( | ) |
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/Get if the input is binary. If this variable is set, each nonzero pixel in the input image will be given a unique numeric code to be used by the Voronoi partition. If the image is binary but you are not interested in the Voronoi regions of the different nonzero pixels, then you need not set this.
Definition at line 104 of file sitkDanielssonDistanceMapImageFilter.h.
References m_InputIsBinary.
|
inlinevirtual |
Name of this class
Implements itk::simple::ProcessObject.
Definition at line 151 of file sitkDanielssonDistanceMapImageFilter.h.
|
inline |
Set/Get if the distance should be squared.
Definition at line 118 of file sitkDanielssonDistanceMapImageFilter.h.
References m_SquaredDistance.
|
inline |
Set/Get if image spacing should be used in computing distances.
Definition at line 132 of file sitkDanielssonDistanceMapImageFilter.h.
References m_UseImageSpacing.
|
inline |
Get vector field of distances.
This is a measurement. Its value is updated in the Execute methods, so the value will only be valid after an execution.
Definition at line 147 of file sitkDanielssonDistanceMapImageFilter.h.
References m_VectorDistanceMap.
|
inline |
Get Voronoi Map This map shows for each pixel what object is closest to it. Each object should be labeled by a number (larger than 0), so the map has a value for each pixel corresponding to the label of the closest object.
This is a measurement. Its value is updated in the Execute methods, so the value will only be valid after an execution.
Definition at line 139 of file sitkDanielssonDistanceMapImageFilter.h.
References m_VoronoiMap.
|
inline |
Definition at line 99 of file sitkDanielssonDistanceMapImageFilter.h.
References SetInputIsBinary().
|
inline |
Set the value of InputIsBinary to true or false respectfully.
Definition at line 98 of file sitkDanielssonDistanceMapImageFilter.h.
References SetInputIsBinary().
|
inline |
Set/Get if the input is binary. If this variable is set, each nonzero pixel in the input image will be given a unique numeric code to be used by the Voronoi partition. If the image is binary but you are not interested in the Voronoi regions of the different nonzero pixels, then you need not set this.
Definition at line 95 of file sitkDanielssonDistanceMapImageFilter.h.
References m_InputIsBinary.
Referenced by InputIsBinaryOff(), and InputIsBinaryOn().
|
inline |
Set/Get if the distance should be squared.
Definition at line 109 of file sitkDanielssonDistanceMapImageFilter.h.
References m_SquaredDistance.
Referenced by SquaredDistanceOff(), and SquaredDistanceOn().
|
inline |
Set/Get if image spacing should be used in computing distances.
Definition at line 123 of file sitkDanielssonDistanceMapImageFilter.h.
References m_UseImageSpacing.
Referenced by UseImageSpacingOff(), and UseImageSpacingOn().
|
inline |
Definition at line 113 of file sitkDanielssonDistanceMapImageFilter.h.
References SetSquaredDistance().
|
inline |
Set the value of SquaredDistance to true or false respectfully.
Definition at line 112 of file sitkDanielssonDistanceMapImageFilter.h.
References SetSquaredDistance().
|
virtual |
Print ourselves out
Reimplemented from itk::simple::ProcessObject.
|
inline |
Definition at line 127 of file sitkDanielssonDistanceMapImageFilter.h.
References SetUseImageSpacing().
|
inline |
Set the value of UseImageSpacing to true or false respectfully.
Definition at line 126 of file sitkDanielssonDistanceMapImageFilter.h.
References SetUseImageSpacing().
|
friend |
Definition at line 166 of file sitkDanielssonDistanceMapImageFilter.h.
References ExecuteInternal().
|
private |
Definition at line 174 of file sitkDanielssonDistanceMapImageFilter.h.
Referenced by GetInputIsBinary(), and SetInputIsBinary().
|
private |
Definition at line 171 of file sitkDanielssonDistanceMapImageFilter.h.
|
private |
Definition at line 176 of file sitkDanielssonDistanceMapImageFilter.h.
Referenced by GetSquaredDistance(), and SetSquaredDistance().
|
private |
Definition at line 178 of file sitkDanielssonDistanceMapImageFilter.h.
Referenced by GetUseImageSpacing(), and SetUseImageSpacing().
Definition at line 183 of file sitkDanielssonDistanceMapImageFilter.h.
Referenced by GetVectorDistanceMap().
Definition at line 181 of file sitkDanielssonDistanceMapImageFilter.h.
Referenced by GetVoronoiMap().