DGtal
1.5.beta
|
Aim: Implementation of the linear in time distance transformation for separable metrics. More...
#include <DGtal/geometry/volumes/distance/DistanceTransformation.h>
Public Types | |
typedef TSeparableMetric | SeparableMetric |
Separable Metric type. More... | |
typedef TSpace | Space |
Separable Metric type. More... | |
typedef TSpace::Vector | Vector |
Separable Metric type. More... | |
typedef TPointPredicate | PointPredicate |
Point Predicate type. More... | |
typedef SeparableMetric::Value | Value |
Definition of the image value type. More... | |
typedef SeparableMetric::Point | Point |
Definition of the image value type. More... | |
typedef DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric > | Self |
Definition of the image. More... | |
typedef VoronoiMap< TSpace, TPointPredicate, TSeparableMetric > | Parent |
typedef DefaultConstImageRange< Self > | ConstRange |
Definition of the image constRange. More... | |
typedef VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Domain | Domain |
Definition of the image value type. More... | |
Public Types inherited from DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, ImageContainerBySTLVector< HyperRectDomain< TSpace >, typename TSpace::Vector > > | |
typedef TSpace | Space |
Copy of the space type. More... | |
typedef TPointPredicate | PointPredicate |
Copy of the point predicate type. More... | |
typedef TImageContainer::Domain | Domain |
Definition of the underlying domain type. More... | |
typedef TSeparableMetric | SeparableMetric |
Definition of the separable metric type. More... | |
typedef DGtal::int64_t | IntegerLong |
Large integer type for SeparableMetricHelper construction. More... | |
typedef Space::Vector | Vector |
typedef Space::Point | Point |
typedef Space::Dimension | Dimension |
typedef Space::Size | Size |
typedef Space::Point::Coordinate | Abscissa |
typedef ImageContainerBySTLVector< HyperRectDomain< TSpace >, typename TSpace::Vector > | OutputImage |
Type of resulting image. More... | |
typedef Vector | Value |
Definition of the image value type. More... | |
typedef OutputImage::ConstRange | ConstRange |
Definition of the image value type. More... | |
typedef VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, ImageContainerBySTLVector< HyperRectDomain< TSpace >, typename TSpace::Vector > > | Self |
Self type. More... | |
typedef std::array< bool, Space::dimension > | PeriodicitySpec |
Periodicity specification type. More... | |
Protected Member Functions | |
DistanceTransformation () | |
Additional Inherited Members | |
Protected Attributes inherited from DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, ImageContainerBySTLVector< HyperRectDomain< TSpace >, typename TSpace::Vector > > | |
const SeparableMetric * | myMetricPtr |
Pointer to the separable metric instance. More... | |
CountedPtr< OutputImage > | myImagePtr |
Voronoi map image. More... | |
PeriodicitySpec | myPeriodicitySpec |
Periodicity along each dimension. More... | |
Aim: Implementation of the linear in time distance transformation for separable metrics.
Description of template class 'DistanceTransformation'
This class is a wrapper around a Voronoi map construction (see VoronoiMap). More precisely, at a point p, since the VoronoiMap at p returns a vector to the closest site, this class adapts the operator() in order to returns the distance to the closest site for the considered metric.
Please refer to VoronoiMap documentation for details on the computational cost and parameter description.
This class is a model of concepts::CConstImage.
TSpace | type of Digital Space (model of concepts::CSpace). |
TPointPredicate | point predicate returning false for points from which we compute the distance (model of concepts::CPointPredicate) |
TSeparableMetric | a model of concepts::CSeparableMetric |
TImageContainer | any model of concepts::CImage to store the VoronoiMap (default: ImageContainerBySTLVector). The space of the image container and the TSpace should match. Furthermore the container value type must be TSpace::Vector. |
Definition at line 97 of file DistanceTransformation.h.
typedef DefaultConstImageRange<Self> DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::ConstRange |
Definition of the image constRange.
Definition at line 132 of file DistanceTransformation.h.
typedef VoronoiMap<TSpace,TPointPredicate, TSeparableMetric,TImageContainer>::Domain DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Domain |
Definition of the image value type.
Definition at line 137 of file DistanceTransformation.h.
typedef VoronoiMap<TSpace,TPointPredicate,TSeparableMetric> DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Parent |
Definition at line 129 of file DistanceTransformation.h.
typedef SeparableMetric::Point DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Point |
Definition of the image value type.
Definition at line 122 of file DistanceTransformation.h.
typedef TPointPredicate DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::PointPredicate |
Point Predicate type.
Definition at line 116 of file DistanceTransformation.h.
typedef DistanceTransformation<TSpace,TPointPredicate,TSeparableMetric> DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Self |
Definition of the image.
Definition at line 127 of file DistanceTransformation.h.
typedef TSeparableMetric DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::SeparableMetric |
Separable Metric type.
Definition at line 107 of file DistanceTransformation.h.
typedef TSpace DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Space |
Separable Metric type.
Definition at line 110 of file DistanceTransformation.h.
typedef SeparableMetric::Value DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Value |
Definition of the image value type.
Definition at line 119 of file DistanceTransformation.h.
typedef TSpace::Vector DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Vector |
Separable Metric type.
Definition at line 113 of file DistanceTransformation.h.
|
inline |
Constructor in the non-periodic case.
See documentation of VoronoiMap constructor.
Definition at line 144 of file DistanceTransformation.h.
|
inline |
Constructor with periodicity specification.
See documentation of VoronoiMap constructor.
Definition at line 157 of file DistanceTransformation.h.
|
inline |
|
protected |
Default Constructor.
DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::BOOST_CONCEPT_ASSERT | ( | (concepts::CPointPredicate< TPointPredicate >) | ) |
DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::BOOST_CONCEPT_ASSERT | ( | (concepts::CSeparableMetric< TSeparableMetric >) | ) |
DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::BOOST_CONCEPT_ASSERT | ( | (concepts::CSpace< TSpace >) | ) |
DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::BOOST_STATIC_ASSERT | ( | (boost::is_same< typename Space::Point, typename SeparableMetric::Point >::value) | ) |
|
inline |
Returns a const range on the DistanceMap values.
Definition at line 188 of file DistanceTransformation.h.
|
inline |
Returns a const range on the DistanceMap values.
Definition at line 179 of file DistanceTransformation.h.
References DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::domain().
|
inline |
Access to the Voronoi site inducing the DistanceMap value (a.k.a. the vector such that its norm is the DT value) at a point.
[in] | aPoint | the point to probe. |
Definition at line 211 of file DistanceTransformation.h.
References aPoint(), and DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, ImageContainerBySTLVector< HyperRectDomain< TSpace >, typename TSpace::Vector > >::myImagePtr.
|
inline |
Definition at line 219 of file DistanceTransformation.h.
References DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::metric().
|
inline |
Access to a DistanceMap value (a.k.a. the norm of the associated Voronoi vector) at a point.
aPoint | the point to probe. |
Definition at line 199 of file DistanceTransformation.h.
References aPoint(), DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, ImageContainerBySTLVector< HyperRectDomain< TSpace >, typename TSpace::Vector > >::myImagePtr, and DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, ImageContainerBySTLVector< HyperRectDomain< TSpace >, typename TSpace::Vector > >::myMetricPtr.
|
inline |
Self Display method.
[out] | out | output stream |
Definition at line 229 of file DistanceTransformation.h.
References DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::selfDisplay().