VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkImageCityBlockDistance Class Reference

1,2 or 3D distance map. More...

#include <vtkImageCityBlockDistance.h>

Inheritance diagram for vtkImageCityBlockDistance:
[legend]
Collaboration diagram for vtkImageCityBlockDistance:
[legend]

Public Types

typedef vtkImageDecomposeFilter Superclass
 
- Public Types inherited from vtkImageDecomposeFilter
typedef vtkImageIterateFilter Superclass
 
- Public Types inherited from vtkImageIterateFilter
typedef vtkThreadedImageAlgorithm Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkImageCityBlockDistanceNewInstance () const
 
- Public Member Functions inherited from vtkImageDecomposeFilter
void SetDimensionality (int dim)
 
virtual int GetDimensionality ()
 
void PermuteIncrements (vtkIdType *increments, vtkIdType &inc0, vtkIdType &inc1, vtkIdType &inc2)
 
void PermuteExtent (int *extent, int &min0, int &max0, int &min1, int &max1, int &min2, int &max2)
 
vtkImageDecomposeFilterNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
- Public Member Functions inherited from vtkImageIterateFilter
vtkImageIterateFilterNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual int GetIteration ()
 
virtual int GetNumberOfIterations ()
 

Static Public Member Functions

static vtkImageCityBlockDistanceNew ()
 
static int IsTypeOf (const char *type)
 
static vtkImageCityBlockDistanceSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkImageDecomposeFilter
static int IsTypeOf (const char *type)
 
static vtkImageDecomposeFilterSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkImageIterateFilter
static int IsTypeOf (const char *type)
 
static vtkImageIterateFilterSafeDownCast (vtkObjectBase *o)
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkImageCityBlockDistance ()
 
 ~vtkImageCityBlockDistance ()
 
virtual int IterativeRequestUpdateExtent (vtkInformation *in, vtkInformation *out)
 
virtual int IterativeRequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
void AllocateOutputScalars (vtkImageData *outData, int *updateExtent, int *wholeExtent, vtkInformation *outInfo)
 
- Protected Member Functions inherited from vtkImageDecomposeFilter
 vtkImageDecomposeFilter ()
 
 ~vtkImageDecomposeFilter ()
 
- Protected Member Functions inherited from vtkImageIterateFilter
 vtkImageIterateFilter ()
 
 ~vtkImageIterateFilter ()
 
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 
virtual int IterativeRequestInformation (vtkInformation *in, vtkInformation *out)
 
virtual void SetNumberOfIterations (int num)
 

Additional Inherited Members

- Protected Attributes inherited from vtkImageDecomposeFilter
int Dimensionality
 
- Protected Attributes inherited from vtkImageIterateFilter
int NumberOfIterations
 
int Iteration
 
vtkAlgorithm ** IterationData
 
vtkInformationVector * InputVector
 
vtkInformationVector * OutputVector
 

Detailed Description

1,2 or 3D distance map.

vtkImageCityBlockDistance creates a distance map using the city block (Manhatten) distance measure. The input is a mask. Zero values are considered boundaries. The output pixel is the minimum of the input pixel and the distance to a boundary (or neighbor value + 1 unit). distance values are calculated in pixels. The filter works by taking 6 passes (for 3d distance map): 2 along each axis (forward and backward). Each pass keeps a running minimum distance. For some reason, I preserve the sign if the distance. If the input mask is initially negative, the output distances will be negative. Distances maps can have inside (negative regions) and outsides (positive regions).

Tests:
vtkImageCityBlockDistance (Tests)

Definition at line 41 of file vtkImageCityBlockDistance.h.

Member Typedef Documentation

Definition at line 45 of file vtkImageCityBlockDistance.h.

Constructor & Destructor Documentation

vtkImageCityBlockDistance::vtkImageCityBlockDistance ( )
protected
vtkImageCityBlockDistance::~vtkImageCityBlockDistance ( )
inlineprotected

Definition at line 49 of file vtkImageCityBlockDistance.h.

Member Function Documentation

static vtkImageCityBlockDistance* vtkImageCityBlockDistance::New ( )
static
static int vtkImageCityBlockDistance::IsTypeOf ( const char *  type)
static
virtual int vtkImageCityBlockDistance::IsA ( const char *  type)
virtual

Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3.

Reimplemented from vtkImageDecomposeFilter.

static vtkImageCityBlockDistance* vtkImageCityBlockDistance::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkImageCityBlockDistance::NewInstanceInternal ( ) const
protectedvirtual

Construct an instance of vtkImageDecomposeFilter filter with default dimensionality 3.

Reimplemented from vtkImageDecomposeFilter.

vtkImageCityBlockDistance* vtkImageCityBlockDistance::NewInstance ( ) const
virtual int vtkImageCityBlockDistance::IterativeRequestUpdateExtent ( vtkInformation *  in,
vtkInformation *  out 
)
protectedvirtual

Reimplemented from vtkImageIterateFilter.

virtual int vtkImageCityBlockDistance::IterativeRequestData ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protectedvirtual

Reimplemented from vtkImageIterateFilter.

void vtkImageCityBlockDistance::AllocateOutputScalars ( vtkImageData *  outData,
int *  updateExtent,
int *  wholeExtent,
vtkInformation *  outInfo 
)
protected

The documentation for this class was generated from the following file: