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 |
Public Types inherited from itk::simple::ImageFilter | |
using | Self = ImageFilter |
Public Types inherited from itk::simple::ProcessObject | |
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 () |
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 | |
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 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 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 |
|
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.
|
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.
|
inline |
Set/Get if image spacing should be used in computing distances.
Definition at line 132 of file sitkDanielssonDistanceMapImageFilter.h.
|
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.
|
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.
|
inline |
Definition at line 99 of file sitkDanielssonDistanceMapImageFilter.h.
|
inline |
Set the value of InputIsBinary to true or false respectfully.
Definition at line 98 of file sitkDanielssonDistanceMapImageFilter.h.
|
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.
|
inline |
Set/Get if the distance should be squared.
Definition at line 109 of file sitkDanielssonDistanceMapImageFilter.h.
|
inline |
Set/Get if image spacing should be used in computing distances.
Definition at line 123 of file sitkDanielssonDistanceMapImageFilter.h.
|
inline |
Definition at line 113 of file sitkDanielssonDistanceMapImageFilter.h.
|
inline |
Set the value of SquaredDistance to true or false respectfully.
Definition at line 112 of file sitkDanielssonDistanceMapImageFilter.h.
|
virtual |
Print ourselves out
Reimplemented from itk::simple::ProcessObject.
|
inline |
Definition at line 127 of file sitkDanielssonDistanceMapImageFilter.h.
|
inline |
Set the value of UseImageSpacing to true or false respectfully.
Definition at line 126 of file sitkDanielssonDistanceMapImageFilter.h.
|
friend |
Definition at line 169 of file sitkDanielssonDistanceMapImageFilter.h.
|
private |
Definition at line 174 of file sitkDanielssonDistanceMapImageFilter.h.
|
private |
Definition at line 171 of file sitkDanielssonDistanceMapImageFilter.h.
|
private |
Definition at line 176 of file sitkDanielssonDistanceMapImageFilter.h.
|
private |
Definition at line 178 of file sitkDanielssonDistanceMapImageFilter.h.
Definition at line 183 of file sitkDanielssonDistanceMapImageFilter.h.
Definition at line 181 of file sitkDanielssonDistanceMapImageFilter.h.