ITK
4.4.0
Insight Segmentation and Registration Toolkit
|
#include <itkSignedMaurerDistanceMapImageFilter.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 62 of file itkSignedMaurerDistanceMapImageFilter.h.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef TInputImage | InputImageType |
typedef InputImageType::IndexType | InputIndexType |
typedef InputImageType::IndexValueType | InputIndexValueType |
typedef InputImageType::PixelType | InputPixelType |
typedef InputImageType::RegionType | InputRegionType |
typedef InputImageType::SizeType | InputSizeType |
typedef InputImageType::SizeValueType | InputSizeValueType |
typedef InputImageType::SpacingType | InputSpacingType |
typedef OutputImageType::Pointer | OutputImagePointer |
typedef OutputImageType::RegionType | OutputImageRegionType |
typedef TOutputImage | OutputImageType |
typedef OutputImageType::IndexType | OutputIndexType |
typedef OutputImageType::IndexValueType | OutputIndexValueType |
typedef OutputImageType::PixelType | OutputPixelType |
typedef OutputImageType::RegionType | OutputRegionType |
typedef OutputImageType::SizeType | OutputSizeType |
typedef OutputImageType::SizeValueType | OutputSizeValueType |
typedef OutputImageType::SpacingType | OutputSpacingType |
typedef SmartPointer< Self > | Pointer |
typedef SignedMaurerDistanceMapImageFilter | Self |
typedef ImageToImageFilter < InputImageType, OutputImageType > | Superclass |
Public Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::PixelType | InputImagePixelType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TInputImage | InputImageType |
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef SmartPointer< Self > | Pointer |
typedef ImageToImageFilter | Self |
typedef ImageSource< TOutputImage > | Superclass |
Public Types inherited from itk::ImageSource< TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef Superclass::DataObjectPointerArraySizeType | DataObjectPointerArraySizeType |
typedef OutputImageType::PixelType | OutputImagePixelType |
typedef OutputImageType::Pointer | OutputImagePointer |
typedef OutputImageType::RegionType | OutputImageRegionType |
typedef TOutputImage | OutputImageType |
typedef SmartPointer< Self > | Pointer |
typedef ImageSource | Self |
typedef ProcessObject | Superclass |
Public Types inherited from itk::ProcessObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef DataObject::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef std::vector < DataObjectPointer > | DataObjectPointerArray |
typedef DataObjectPointerArray::size_type | DataObjectPointerArraySizeType |
typedef std::vector < DataObjectIdentifierType > | NameArray |
typedef SmartPointer< Self > | Pointer |
typedef ProcessObject | Self |
typedef Object | Superclass |
Public Types inherited from itk::Object | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef Object | Self |
typedef LightObject | Superclass |
Public Types inherited from itk::LightObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef LightObject | Self |
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
static const unsigned int | ImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Private Member Functions | |
void | operator= (const Self &) |
bool | Remove (OutputPixelType, OutputPixelType, OutputPixelType, OutputPixelType, OutputPixelType, OutputPixelType) |
SignedMaurerDistanceMapImageFilter (const Self &) | |
void | Voronoi (unsigned int, OutputIndexType idx, OutputImageType *output) |
Private Attributes | |
InputPixelType | m_BackgroundValue |
unsigned int | m_CurrentDimension |
const InputImageType * | m_InputCache |
bool | m_InsideIsPositive |
InputSpacingType | m_Spacing |
bool | m_SquaredDistance |
bool | m_UseImageSpacing |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
typedef SmartPointer< const Self > itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::ConstPointer |
Definition at line 90 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef InputImageType::ConstPointer itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::InputImageConstPointer |
Definition at line 78 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef TInputImage itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::InputImageType |
Convenient typedefs for simplifying declarations.
Definition at line 77 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef InputImageType::IndexType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::InputIndexType |
Definition at line 111 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef InputImageType::IndexValueType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::InputIndexValueType |
Definition at line 112 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef InputImageType::PixelType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::InputPixelType |
Image typedef support.
Definition at line 103 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef InputImageType::RegionType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::InputRegionType |
Definition at line 97 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef InputImageType::SizeType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::InputSizeType |
Definition at line 106 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef InputImageType::SizeValueType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::InputSizeValueType |
Definition at line 107 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef InputImageType::SpacingType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::InputSpacingType |
Definition at line 116 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef OutputImageType::Pointer itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::OutputImagePointer |
Definition at line 81 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef OutputImageType::RegionType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::OutputImageRegionType |
Definition at line 118 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef TOutputImage itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::OutputImageType |
Definition at line 80 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef OutputImageType::IndexType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::OutputIndexType |
Definition at line 113 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef OutputImageType::IndexValueType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::OutputIndexValueType |
Definition at line 114 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef OutputImageType::PixelType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::OutputPixelType |
Definition at line 104 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef OutputImageType::RegionType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::OutputRegionType |
Definition at line 100 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef OutputImageType::SizeType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::OutputSizeType |
Definition at line 108 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef OutputImageType::SizeValueType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::OutputSizeValueType |
Definition at line 109 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef OutputImageType::SpacingType itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::OutputSpacingType |
Definition at line 117 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef SmartPointer< Self > itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::Pointer |
Definition at line 89 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef SignedMaurerDistanceMapImageFilter itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs.
Definition at line 84 of file itkSignedMaurerDistanceMapImageFilter.h.
typedef ImageToImageFilter< InputImageType, OutputImageType > itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::Superclass |
Definition at line 87 of file itkSignedMaurerDistanceMapImageFilter.h.
|
protected |
|
protectedvirtual |
|
private |
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
|
protectedvirtual |
A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.
Reimplemented from itk::ImageSource< TOutputImage >.
|
virtual |
Set the background value which defines the object. Usually this value is = 0.
|
virtual |
Get if the inside represents positive values in the signed distance map.
|
virtual |
Runtime information support.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
Get the distance squared.
|
virtual |
Get whether spacing is used.
|
virtual |
|
virtual |
Set if the inside represents positive values in the signed distance map. By convention ON pixels are treated as inside pixels. Default is true.
|
static |
Method for creation through the object factory.
|
private |
|
protectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
private |
|
virtual |
Set the background value which defines the object. Usually this value is = 0.
|
virtual |
Set if the inside represents positive values in the signed distance map. By convention ON pixels are treated as inside pixels.
|
virtual |
Set if the distance should be squared.
|
virtual |
Set if image spacing should be used in computing distances.
|
protectedvirtual |
Split the output's RequestedRegion into "num" pieces, returning region "i" as "splitRegion". This method is called concurrently "num" times. The regions must not overlap. The method returns the number of pieces that the routine is capable of splitting the output RequestedRegion, i.e. return value is less than or equal to "num".
To override the algorithm used split the image this method should no longer be overridden. It stead the algorithm should be implemented in a ImageRegionSplitter class, and the GetImageRegionSplitter should overridden to return the splitter object with the desired algorithm.
Reimplemented from itk::ImageSource< TOutputImage >.
|
virtual |
|
virtual |
Set On/Off if the distance is squared.
|
protectedvirtual |
If an imaging filter can be implemented as a multithreaded algorithm, the filter will provide an implementation of ThreadedGenerateData(). This superclass will automatically split the output image into a number of pieces, spawn multiple threads, and call ThreadedGenerateData() in each thread. Prior to spawning threads, the BeforeThreadedGenerateData() method is called. After all the threads have completed, the AfterThreadedGenerateData() method is called. If an image processing filter cannot support threading, that filter should provide an implementation of the GenerateData() method instead of providing an implementation of ThreadedGenerateData(). If a filter provides a GenerateData() method as its implementation, then the filter is responsible for allocating the output data. If a filter provides a ThreadedGenerateData() method as its implementation, then the output memory will allocated automatically by this superclass. The ThreadedGenerateData() method should only produce the output specified by "outputThreadRegion" parameter. ThreadedGenerateData() cannot write to any other portion of the output image (as this is responsibility of a different thread).
Reimplemented from itk::ImageSource< TOutputImage >.
|
virtual |
|
virtual |
Set On/Off whether spacing is used.
|
private |
|
static |
Extract dimension from input and output image.
Definition at line 73 of file itkSignedMaurerDistanceMapImageFilter.h.
|
static |
Extract dimension from input and output image.
Definition at line 69 of file itkSignedMaurerDistanceMapImageFilter.h.
|
private |
Definition at line 184 of file itkSignedMaurerDistanceMapImageFilter.h.
|
private |
Definition at line 187 of file itkSignedMaurerDistanceMapImageFilter.h.
|
private |
Definition at line 193 of file itkSignedMaurerDistanceMapImageFilter.h.
|
private |
Definition at line 189 of file itkSignedMaurerDistanceMapImageFilter.h.
|
private |
Definition at line 185 of file itkSignedMaurerDistanceMapImageFilter.h.
|
private |
Definition at line 191 of file itkSignedMaurerDistanceMapImageFilter.h.
|
private |
Definition at line 190 of file itkSignedMaurerDistanceMapImageFilter.h.
|
static |
Extract dimension from input and output image.
Definition at line 71 of file itkSignedMaurerDistanceMapImageFilter.h.