DGtal
1.0.beta
|
#include <DGtal/geometry/volumes/distance/DistanceTransformation.h>
Public Types | |
typedef TSeparableMetric | SeparableMetric |
typedef TSpace | Space |
typedef TSpace::Vector | Vector |
typedef TPointPredicate | PointPredicate |
typedef SeparableMetric::Value | Value |
typedef SeparableMetric::Point | Point |
typedef DistanceTransformation< TSpace, TPointPredicate, TSeparableMetric > | Self |
typedef VoronoiMap< TSpace, TPointPredicate, TSeparableMetric > | Parent |
typedef DefaultConstImageRange< Self > | ConstRange |
typedef VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, TImageContainer >::Domain | Domain |
Public Types inherited from DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, TImageContainer > | |
typedef TSpace | Space |
typedef TPointPredicate | PointPredicate |
typedef TImageContainer::Domain | Domain |
typedef TSeparableMetric | SeparableMetric |
typedef DGtal::int64_t | IntegerLong |
typedef Space::Vector | Vector |
typedef Space::Point | Point |
typedef Space::Dimension | Dimension |
typedef Space::Size | Size |
typedef Space::Point::Coordinate | Abscissa |
typedef TImageContainer | OutputImage |
typedef Vector | Value |
typedef OutputImage::ConstRange | ConstRange |
typedef VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, TImageContainer > | Self |
typedef std::array< bool, Space::dimension > | PeriodicitySpec |
Public Member Functions | |
BOOST_CONCEPT_ASSERT ((concepts::CSpace< TSpace >)) | |
BOOST_CONCEPT_ASSERT ((concepts::CPointPredicate< TPointPredicate >)) | |
BOOST_CONCEPT_ASSERT ((concepts::CSeparableMetric< TSeparableMetric >)) | |
BOOST_STATIC_ASSERT ((boost::is_same< typename Space::Point, typename SeparableMetric::Point >::value)) | |
DistanceTransformation (ConstAlias< Domain > aDomain, ConstAlias< PointPredicate > predicate, ConstAlias< SeparableMetric > aMetric) | |
DistanceTransformation (ConstAlias< Domain > aDomain, ConstAlias< PointPredicate > predicate, ConstAlias< SeparableMetric > aMetric, typename Parent::PeriodicitySpec const &aPeriodicitySpec) | |
~DistanceTransformation () | |
const Domain & | domain () const |
ConstRange | constRange () const |
Value | operator() (const Point &aPoint) const |
Vector | getVoronoiVector (const Point &aPoint) const |
const SeparableMetric * | metric () const |
void | selfDisplay (std::ostream &out) const |
Public Member Functions inherited from DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, TImageContainer > | |
BOOST_CONCEPT_ASSERT ((concepts::CSpace< TSpace >)) | |
BOOST_CONCEPT_ASSERT ((concepts::CPointPredicate< TPointPredicate >)) | |
BOOST_CONCEPT_ASSERT ((concepts::CSeparableMetric< TSeparableMetric >)) | |
BOOST_CONCEPT_ASSERT ((concepts::CImage< TImageContainer >)) | |
BOOST_STATIC_ASSERT ((boost::is_same< typename TSpace::Point, typename TPointPredicate::Point >::value)) | |
BOOST_STATIC_ASSERT ((boost::is_same< TSpace, typename TImageContainer::Domain::Space >::value)) | |
BOOST_STATIC_ASSERT ((boost::is_same< typename TSpace::Vector, typename TImageContainer::Value >::value)) | |
BOOST_STATIC_ASSERT ((boost::is_same< HyperRectDomain< TSpace >, typename TImageContainer::Domain >::value)) | |
VoronoiMap (ConstAlias< Domain > aDomain, ConstAlias< PointPredicate > predicate, ConstAlias< SeparableMetric > aMetric) | |
VoronoiMap (ConstAlias< Domain > aDomain, ConstAlias< PointPredicate > predicate, ConstAlias< SeparableMetric > aMetric, PeriodicitySpec const &aPeriodicitySpec) | |
~VoronoiMap ()=default | |
VoronoiMap ()=delete | |
Self & | operator= (const Self &aOtherVoronoiMap)=default |
const Domain & | domain () const |
ConstRange | constRange () const |
Value | operator() (const Point &aPoint) const |
const SeparableMetric * | metric () const |
PeriodicitySpec const & | getPeriodicitySpec () const |
bool | isPeriodic (const Dimension n) const |
Point | projectPoint (Point aPoint) const |
void | selfDisplay (std::ostream &out) const |
Protected Member Functions | |
DistanceTransformation () | |
Additional Inherited Members | |
Protected Attributes inherited from DGtal::VoronoiMap< TSpace, TPointPredicate, TSeparableMetric, TImageContainer > | |
const SeparableMetric * | myMetricPtr |
CountedPtr< OutputImage > | myImagePtr |
PeriodicitySpec | myPeriodicitySpec |
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::CSpace< TSpace >) | ) |
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_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 a Voronoi vector 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 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 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().