DGtal 1.3.0
|
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, TImageContainer > | |
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 TImageContainer | 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, TImageContainer > | 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, TImageContainer > | |
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 98 of file DistanceTransformation.h.
typedef DefaultConstImageRange<Self> DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::ConstRange |
Definition of the image constRange.
Definition at line 133 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 138 of file DistanceTransformation.h.
typedef VoronoiMap<TSpace,TPointPredicate,TSeparableMetric> DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Parent |
Definition at line 130 of file DistanceTransformation.h.
typedef SeparableMetric::Point DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Point |
Definition of the image value type.
Definition at line 123 of file DistanceTransformation.h.
typedef TPointPredicate DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::PointPredicate |
Point Predicate type.
Definition at line 117 of file DistanceTransformation.h.
typedef DistanceTransformation<TSpace,TPointPredicate,TSeparableMetric> DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Self |
Definition of the image.
Definition at line 128 of file DistanceTransformation.h.
typedef TSeparableMetric DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::SeparableMetric |
Separable Metric type.
Definition at line 108 of file DistanceTransformation.h.
typedef TSpace DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Space |
Separable Metric type.
Definition at line 111 of file DistanceTransformation.h.
typedef SeparableMetric::Value DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Value |
Definition of the image value type.
Definition at line 120 of file DistanceTransformation.h.
typedef TSpace::Vector DGtal::DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Vector |
Separable Metric type.
Definition at line 114 of file DistanceTransformation.h.
|
inline |
Constructor in the non-periodic case.
See documentation of VoronoiMap constructor.
Definition at line 145 of file DistanceTransformation.h.
|
inline |
Constructor with periodicity specification.
See documentation of VoronoiMap constructor.
Definition at line 158 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 189 of file DistanceTransformation.h.
|
inline |
Returns a const range on the DistanceMap values.
Definition at line 180 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 212 of file DistanceTransformation.h.
References aPoint(), and DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::myImagePtr.
|
inline |
Definition at line 220 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 200 of file DistanceTransformation.h.
References aPoint(), DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::myImagePtr, and DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::myMetricPtr.
|
inline |
Self Display method.
[out] | out | output stream |
Definition at line 230 of file DistanceTransformation.h.
References DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::selfDisplay().