Distance map on a uniform grid. More...
#include <cmtkUniformDistanceMap.h>
Classes | |
class | ThreadParametersEDT |
Thread parameters. More... | |
Public Types | |
enum | Flags { DEFAULT = 0, INSIDE = 1, VALUE_EXACT = 2, VALUE_WINDOW = 4, VALUE_THRESHOLD = 8 } |
Enumeration with binary flags that control distance map computation. More... | |
typedef UniformDistanceMap < TDistanceDataType > | Self |
This class. | |
typedef UniformVolume | Superclass |
Superclass. | |
typedef SmartPointer< Self > | SmartPtr |
Smart pointer to distance map. | |
typedef TDistanceDataType | DistanceDataType |
Distance data type. | |
Public Member Functions | |
UniformDistanceMap (const UniformVolume &volume, const byte flags=DEFAULT, const Types::DataItem value=0, const Types::DataItem window=0) | |
Construct map from given volume. | |
UniformVolume::SmartPtr | Get () |
Static Public Attributes | |
static const long int | EDT_MAX_DISTANCE_SQUARED = 2147329548 |
Private Member Functions | |
void | BuildDistanceMap (const UniformVolume &volume, const byte flags, const Types::DataItem value=0, const Types::DataItem window=0) |
Compute distance map. | |
void | ComputeEDT (DistanceDataType *const distance) |
Compute 3-D Euclidean Distance Transformation. | |
void | ComputeEDT2D (DistanceDataType *const plane, std::vector< DistanceDataType > &gTemp, std::vector< DistanceDataType > &hTemp) |
Compute 2-D Euclidean Distance Transformation for one image plane. | |
bool | VoronoiEDT (DistanceDataType *const lpY, const int nSize, const DistanceDataType delta, std::vector< DistanceDataType > &gTemp, std::vector< DistanceDataType > &hTemp) |
Compute 1-D Voronoi Euclidean Distance Transform. | |
Static Private Member Functions | |
static void | ComputeEDTThreadPhase1 (void *const args, const size_t taskIdx, const size_t taskCnt, const size_t threadIdx, const size_t) |
Thread function for first phase (xy) of EDT computation. | |
static void | ComputeEDTThreadPhase2 (void *const args, const size_t taskIdx, const size_t taskCnt, const size_t threadIdx, const size_t) |
Thread function for second phase (z) of EDT computation. | |
Private Attributes | |
std::vector< std::vector < DistanceDataType > > | m_G |
Internal: pointer to row storage. | |
std::vector< std::vector < DistanceDataType > > | m_H |
Internal: pointer to row storage. | |
UniformVolume::SmartPtr | m_DistanceMap |
The computed distance map. |
Distance map on a uniform grid.
Definition at line 55 of file cmtkUniformDistanceMap.h.
typedef TDistanceDataType cmtk::UniformDistanceMap< TDistanceDataType >::DistanceDataType |
Distance data type.
Definition at line 70 of file cmtkUniformDistanceMap.h.
typedef UniformDistanceMap<TDistanceDataType> cmtk::UniformDistanceMap< TDistanceDataType >::Self |
This class.
Definition at line 61 of file cmtkUniformDistanceMap.h.
typedef SmartPointer<Self> cmtk::UniformDistanceMap< TDistanceDataType >::SmartPtr |
Smart pointer to distance map.
Definition at line 67 of file cmtkUniformDistanceMap.h.
typedef UniformVolume cmtk::UniformDistanceMap< TDistanceDataType >::Superclass |
Superclass.
Definition at line 64 of file cmtkUniformDistanceMap.h.
enum cmtk::UniformDistanceMap::Flags |
Enumeration with binary flags that control distance map computation.
The defined values can be combined by arithmetic "or".
Definition at line 75 of file cmtkUniformDistanceMap.h.
UniformVolume::SmartPtr cmtk::UniformDistanceMap< TDistanceDataType >::Get | ( | ) | [inline] |
Definition at line 114 of file cmtkUniformDistanceMap.h.
Referenced by cmtk::ImageOperationMedialSkeleton::Apply(), and cmtk::ImageOperationDistanceMap::Apply().
const long int cmtk::UniformDistanceMap< TDistanceDataType >::EDT_MAX_DISTANCE_SQUARED = 2147329548 [static] |
Definition at line 58 of file cmtkUniformDistanceMap.h.
UniformVolume::SmartPtr cmtk::UniformDistanceMap< TDistanceDataType >::m_DistanceMap [private] |
The computed distance map.
Definition at line 155 of file cmtkUniformDistanceMap.h.
Referenced by cmtk::UniformDistanceMap< TDistanceDataType >::ComputeEDTThreadPhase1(), and cmtk::UniformDistanceMap< TDistanceDataType >::ComputeEDTThreadPhase2().
std::vector< std::vector<DistanceDataType> > cmtk::UniformDistanceMap< TDistanceDataType >::m_G [private] |
Internal: pointer to row storage.
Definition at line 133 of file cmtkUniformDistanceMap.h.
Referenced by cmtk::UniformDistanceMap< TDistanceDataType >::ComputeEDTThreadPhase1(), and cmtk::UniformDistanceMap< TDistanceDataType >::ComputeEDTThreadPhase2().
std::vector< std::vector<DistanceDataType> > cmtk::UniformDistanceMap< TDistanceDataType >::m_H [private] |
Internal: pointer to row storage.
Definition at line 136 of file cmtkUniformDistanceMap.h.
Referenced by cmtk::UniformDistanceMap< TDistanceDataType >::ComputeEDTThreadPhase1(), and cmtk::UniformDistanceMap< TDistanceDataType >::ComputeEDTThreadPhase2().