DGtal 1.3.0
|
detail
namespace gathers internal classes and functions.
More...
Data Structures | |
struct | BoundedLatticePolytopeSpecializer |
Aim: It is just a helper class for BoundedLatticePolytope to add dimension specific static methods. More... | |
struct | BoundedLatticePolytopeSpecializer< 3, TInteger > |
Aim: 3D specialization for BoundedLatticePolytope to add dimension specific static methods. More... | |
struct | BoundedRationalPolytopeSpecializer |
Aim: It is just a helper class for BoundedRationalPolytope to add dimension specific static methods. More... | |
struct | BoundedRationalPolytopeSpecializer< 3, TInteger > |
Aim: 3D specialization for BoundedRationalPolytope to add dimension specific static methods. More... | |
struct | ComparatorAdapter |
struct | ComparatorAdapter< Container, true, false, false > |
unordered set-like adapter. More... | |
struct | ComparatorAdapter< Container, true, false, true > |
unordered map-like adapter. More... | |
struct | ComparatorAdapter< Container, true, true, false > |
Set-like adapter. More... | |
struct | ComparatorAdapter< Container, true, true, true > |
Map-like adapter. More... | |
struct | ConvexityHelperInternalInteger |
struct | ConvexityHelperInternalInteger< DGtal::BigInteger, safe > |
struct | ConvexityHelperInternalInteger< DGtal::int32_t, false > |
struct | ConvexityHelperInternalInteger< DGtal::int32_t, true > |
struct | ConvexityHelperInternalInteger< DGtal::int64_t, false > |
struct | ConvexityHelperInternalInteger< DGtal::int64_t, true > |
struct | CurvatureFromDCA |
struct | CurvatureFromDCA< false > |
class | CurvatureFromDSSBaseEstimator |
struct | CurvatureFromDSSLength |
struct | CurvatureFromDSSLengthAndWidth |
struct | DistanceFromDCA |
class | DSSDecorator |
Aim: Abstract DSSDecorator for ArithmeticalDSSComputer. Has 2 virtual methods returning the first and last leaning point: More... | |
class | DSSDecorator4ConcavePart |
Aim: adapter for TDSS used by FP in CONCAVE parts. Has 2 methods: More... | |
class | DSSDecorator4ConvexPart |
Aim: adapter for TDSS used by FP in CONVEX parts. Has 2 methods: More... | |
struct | EqualPredicateFromLessThanComparator |
struct | EuclideanDivisionHelper |
Aim: Small stucture that provides a static method returning the Euclidean division of two integers. More... | |
struct | EuclideanDivisionHelper< double > |
struct | EuclideanDivisionHelper< float > |
struct | EuclideanDivisionHelper< long double > |
struct | FFTWComplexCast |
Facility to cast to the complex type used by fftw. More... | |
struct | FFTWWrapper |
Wrapper to fftw functions depending on value type. More... | |
struct | FFTWWrapper< double > |
struct | FFTWWrapper< float > |
struct | FFTWWrapper< long double > |
struct | HasNestedTypeCategory |
Aim: Checks whether type T has a nested type called 'Category' or not. NB: from en.wikipedia.org/wiki/Substitution_failure_is_not_an_error NB: to avoid various compiler issues, we use BOOST_STATIC_CONSTANT according to http://www.boost.org/development/int_const_guidelines.html. More... | |
struct | HasNestedTypeType |
Aim: Checks whether type IC has a nested type called 'Type' or not. NB: from en.wikipedia.org/wiki/Substitution_failure_is_not_an_error NB: to avoid various compiler issues, we use BOOST_STATIC_CONSTANT according to http://www.boost.org/development/int_const_guidelines.html. More... | |
struct | IsAssociativeContainerFromCategory |
struct | IsCirculator |
Aim: Checks whether type IC is a circular or a classical iterator. Static value set to 'true' for a circulator, 'false' otherwise. 1) if type IC has no nested type 'Type', it is a classical iterator and 'false' is returned. 2) if type IC has a nested type 'Type', 'true' is returned is 'Type' is CirculatorType, 'false' otherwise. More... | |
struct | IsCirculator< IC, true > |
struct | IsCirculatorFromType |
Aim: In order to check whether type IC is a circular or a classical iterator, the nested type called 'Type' is read. More... | |
struct | IsCirculatorFromType< IC, CirculatorType > |
struct | IsContainerFromCategory |
struct | IsMultipleAssociativeContainerFromCategory |
struct | IsOrderedAssociativeContainerFromCategory |
struct | IsPairAssociativeContainerFromCategory |
struct | IsSequenceContainerFromCategory |
struct | IsSimpleAssociativeContainerFromCategory |
struct | IsUniqueAssociativeContainerFromCategory |
struct | IsUnorderedAssociativeContainerFromCategory |
struct | IteratorCirculatorTypeImpl |
Aim: Defines the Iterator or Circulator type as a nested type according to the value of b. More... | |
struct | IteratorCirculatorTypeImpl< true > |
struct | KeyComparatorForPairKeyData |
struct | LabelledMapMemFunctor |
struct | monomial_node |
struct | NormalizedTangentVectorFromDSS |
struct | NormalVectorFromDCA |
class | PointOnProbingRay |
class | PointValueCompare |
Aim: Small binary predicate to order candidates points according to their (absolute) distance value. More... | |
class | PosDepScaleDepSCEstimator |
class | PosDepScaleIndepSCEstimator |
class | PosIndepScaleDepSCEstimator |
class | PosIndepScaleIndepSCEstimator |
struct | power_node |
struct | SetFunctionsImpl |
Aim: Specialize set operations (union, intersection, difference, symmetric_difference) according to the given type of container. It uses standard algorithms when containers are ordered, otherwise it provides a default implementation. More... | |
struct | SetFunctionsImpl< Container, false, true > |
struct | SetFunctionsImpl< Container, true, false > |
struct | SetFunctionsImpl< Container, true, true > |
struct | TangentAngleFromDSS |
struct | TangentVectorFromDCA |
struct | TangentVectorFromDSS |
struct | toCoordinateImpl |
Aim: Define a simple functor that can cast a signed integer (possibly a DGtal::BigInteger) into another. More... | |
struct | toCoordinateImpl< DGtal::BigInteger, DGtal::BigInteger > |
struct | toCoordinateImpl< DGtal::BigInteger, TOutput > |
struct | top_node |
struct | ValueConverter |
Generic definition of a class for converting type X toward type Y. More... | |
struct | ValueConverter< std::string, double > |
Specialized definitions of a class for converting type X toward type Y. More... | |
struct | ValueConverter< std::string, float > |
Specialized definitions of a class for converting type X toward type Y. More... | |
struct | ValueConverter< std::string, int > |
Specialized definitions of a class for converting type X toward type Y. More... | |
struct | ValueConverter< X, std::string > |
Specialized definitions of a class for converting type X toward type Y. More... | |
Typedefs | |
typedef boost::variant< boost::recursive_wrapper< top_node >, monomial_node > | expr_node |
Functions | |
template<typename IC > | |
bool | isNotEmpty (const IC &itb, const IC &ite, IteratorType) |
template<typename IC > | |
bool | isNotEmpty (const IC &c1, const IC &c2, CirculatorType) |
template<typename IC > | |
void | advanceIterator (IC &ic, typename IteratorCirculatorTraits< IC >::Difference n, ForwardCategory) |
template<typename IC > | |
void | advanceIterator (IC &ic, typename IteratorCirculatorTraits< IC >::Difference n, RandomAccessCategory) |
template<typename I > | |
IteratorCirculatorTraits< I >::Difference | rangeSize (const I &itb, const I &ite, IteratorType, ForwardCategory) |
template<typename C > | |
IteratorCirculatorTraits< C >::Difference | rangeSize (const C &cb, const C &ce, CirculatorType, ForwardCategory) |
template<typename I > | |
IteratorCirculatorTraits< I >::Difference | rangeSize (const I &itb, const I &ite, IteratorType, RandomAccessCategory) |
template<typename C > | |
IteratorCirculatorTraits< C >::Difference | rangeSize (const C &cb, const C &ce, CirculatorType, RandomAccessCategory) |
template<typename I > | |
I | rangeMiddle (const I &itb, const I &ite, IteratorType, ForwardCategory) |
template<typename C > | |
C | rangeMiddle (const C &cb, const C &ce, CirculatorType, ForwardCategory) |
template<typename I > | |
I | rangeMiddle (const I &itb, const I &ite, IteratorType, BidirectionalCategory) |
template<typename C > | |
C | rangeMiddle (const C &cb, const C &ce, CirculatorType, BidirectionalCategory) |
template<typename I > | |
I | rangeMiddle (const I &itb, const I &ite, IteratorType, RandomAccessCategory) |
template<typename C > | |
C | rangeMiddle (const C &cb, const C &ce, CirculatorType, RandomAccessCategory) |
template<typename TData > | |
std::pair< unsigned int, unsigned int > | argminLabelledMapMemoryUsageForGeometricDistribution (unsigned int L, double prob_no_data, double prob_one_data) |
template<typename Point > | |
Point::Coordinate | squaredNorm (Point const &aPoint) |
template<int N, typename T > | |
T | determinant (const T aMatrix[N][N]) |
template<typename Point > | |
Point::Coordinate | distToSphere (std::array< Point, 5 > const &aPoints) |
template<typename Point > | |
bool | isBasisReduced (Point const &aU, Point const &aV) |
template<typename Integer > | |
std::ostream & | operator<< (std::ostream &aOs, PointOnProbingRay< Integer > const &aRay) |
template<typename Point > | |
Point | center (const std::vector< Point > &points) |
template<typename OutputValue , typename ForwardIterator , typename ConversionFct > | |
void | transform (std::vector< OutputValue > &output_values, std::vector< std::size_t > &input2output, std::vector< std::size_t > &output2input, ForwardIterator itb, ForwardIterator ite, const ConversionFct &F, bool remove_duplicates) |
static void | mpz_set_sll (mpz_t n, long long sll) |
----------— GMP SPECIALIZED SERVICES -------------------------— More... | |
static void | mpz_set_ull (mpz_t n, unsigned long long ull) |
static unsigned long long | mpz_get_ull (mpz_t n) |
static long long | mpz_get_sll (mpz_t n) |
detail
namespace gathers internal classes and functions.
typedef boost::variant< boost::recursive_wrapper<top_node>, monomial_node > DGtal::detail::expr_node |
Part of the polynomial tree structure. Either a top_node or a monomial.
Definition at line 87 of file MPolynomialReader.h.
|
inline |
Moves ic at position @ it + n
ic | any (circular)iterator |
n | any positive distance |
IC | any iterator or circulator |
|
inline |
Moves ic at position @ it + n
ic | any (circular)iterator |
n | any positive distance |
IC | any iterator or circulator |
std::pair< unsigned int, unsigned int > DGtal::detail::argminLabelledMapMemoryUsageForGeometricDistribution | ( | unsigned int | L, |
double | prob_no_data, | ||
double | prob_one_data | ||
) |
Tries to find the best values N and M which will minimized the memory usage of a LabelledMap, for the distribution specified by the parameters.
TData | the type of data that will be stored. |
L | the total number of labels. |
prob_no_data | Probability that there is no data at this location. |
prob_one_data | If there is a possibility to have a data, this probability is used to define a geometric distribution that defines the number of data (ie valid labels) at this place. The smaller, the higher is the expectation. 0.5 means E(X) = 1. |
Compute the center of the bounding box containing the given points.
Point | any type of points |
[in] | points | a range of points |
Definition at line 66 of file QuickHullKernels.h.
T DGtal::detail::determinant | ( | const T | aMatrix[N][N] | ) |
Determinant of a NxN matrix represented by a two-dimensional static array.
aMatrix | the static array representing the matrix. |
|
inline |
Computes the distance of a point to a sphere passing through 4 given points.
aPoints | 5 points where the first 4 define the sphere and the last one is the point to which we want to compute the distance. |
|
inline |
Test if a pair of vectors form a reduced basis.
aU | the first vector. |
aV | the second vector. |
|
inline |
Checks if a circular range is not empty, ie. checks if the circulators are valid.
c1 | begin iterator of the range |
c2 | end iterator of the range |
IC | iterator or circulator |
|
inline |
Checks if the range of classical iterators [ itb , ite ) is not empty, ie. checks if itb != ite
itb | begin iterator of the range |
ite | end iterator of the range |
IC | iterator or circulator |
Referenced by DGtal::detail::CurvatureFromDSSBaseEstimator< DSSComputer, Functor >::eval(), DGtal::detail::PosIndepScaleIndepSCEstimator< TSegmentComputer, Functor, ReturnType >::eval(), DGtal::detail::PosIndepScaleDepSCEstimator< TSegmentComputer, Functor, ReturnType >::eval(), DGtal::detail::PosDepScaleIndepSCEstimator< TSegmentComputer, Functor, ReturnType >::eval(), and DGtal::detail::PosDepScaleDepSCEstimator< TSegmentComputer, Functor, ReturnType >::eval().
|
static |
Conversion to int64 is tricky and not native for GMP.
n | any number |
Definition at line 95 of file IntegerConverter.h.
References mpz_get_ull().
Referenced by DGtal::IntegerConverter< dim, DGtal::int64_t >::cast().
|
static |
Conversion to uint64 is tricky and not native for GMP.
n | any number |
Definition at line 79 of file IntegerConverter.h.
Referenced by mpz_get_sll().
|
static |
----------— GMP SPECIALIZED SERVICES -------------------------—
[in,out] | n | the (initialized) big integer to set |
[in] | sll | a signed long long integer to assign to n. |
Definition at line 60 of file IntegerConverter.h.
Referenced by DGtal::IntegerConverter< dim, DGtal::int64_t >::cast(), DGtal::IntegerConverter< dim, DGtal::BigInteger >::cast(), and SCENARIO().
|
static |
[in,out] | n | the (initialized) big integer to set |
[in] | ull | an unsigned long long integer to assign to n. |
Definition at line 69 of file IntegerConverter.h.
std::ostream & DGtal::detail::operator<< | ( | std::ostream & | aOs, |
PointOnProbingRay< Integer > const & | aRay | ||
) |
Display a probing ray on the standard output.
aOs | the output stream where the object is written. |
aRay | the probing ray to display. |
|
inline |
Computes the middle of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.
cb | begin iterator of the range |
ce | end iterator of the range |
C | any circulator |
|
inline |
Computes the middle of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.
cb | begin iterator of the range |
ce | end iterator of the range |
C | any circulator |
|
inline |
Computes the middle of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.
cb | begin iterator of the range |
ce | end iterator of the range |
C | any circulator |
|
inline |
Computes the middle of a given range [ itb , ite )
itb | begin iterator of the range |
ite | end iterator of the range |
I | any iterator |
|
inline |
Computes the middle of a given range [ itb , ite ).
itb | begin iterator of the range |
ite | end iterator of the range |
I | any iterator |
|
inline |
Computes the middle of a given range [ itb , ite )
itb | begin iterator of the range |
ite | end iterator of the range |
I | any iterator |
|
inline |
Computes the size of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.
cb | begin iterator of the range |
ce | end iterator of the range |
C | any circulator |
|
inline |
Computes the size of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.
cb | begin iterator of the range |
ce | end iterator of the range |
C | any circulator |
|
inline |
Computes the size of a given range [ itb , ite )
itb | begin iterator of the range |
ite | end iterator of the range |
I | any iterator |
|
inline |
Computes the size of a given range [ itb , ite )
itb | begin iterator of the range |
ite | end iterator of the range |
I | any iterator |
Version of DGtal::PointVector::squaredNorm with no conversion to double.
aPoint | an input digital point. |
void DGtal::detail::transform | ( | std::vector< OutputValue > & | output_values, |
std::vector< std::size_t > & | input2output, | ||
std::vector< std::size_t > & | output2input, | ||
ForwardIterator | itb, | ||
ForwardIterator | ite, | ||
const ConversionFct & | F, | ||
bool | remove_duplicates | ||
) |
Transform an input range of points into an output range with a conversion function, and possibly removes duplicates in the output range. Used as preprocessing of QuickHull algorithm.
OutputValue | any value that is LessThanComparable, Assignable, CopyConstructible, DefaultConstructible. |
ConversionFct | is a functor from input values to OutputValue. |
ForwardIterator | is a forward iterator on some input values. |
[out] | output_values | a range of points converted from the input range, with duplicates possibly removed according to remove_duplicates |
[out] | input2output | the surjective mapping between the input range and the output range used for computation. |
[out] | output2input | the injective mapping between the output range and the input range. |
[in] | itb,ite | a range of values. |
[in] | F | a function that may transform input values to output values |
[in] | remove_duplicates | when 'true' remove duplicate values, otherwise, output_values.size() is equal to the size of the range itb,ite. |
Definition at line 109 of file QuickHullKernels.h.
Referenced by DGtal::ConvexHullIntegralKernel< dim, TCoordinateInteger, TInternalInteger >::makeInput(), DGtal::DelaunayIntegralKernel< dim, TCoordinateInteger, TInternalInteger >::makeInput(), DGtal::ConvexHullRationalKernel< dim, TCoordinateInteger, TInternalInteger >::makeInput(), and DGtal::DelaunayRationalKernel< dim, TCoordinateInteger, TInternalInteger >::makeInput().