DGtal 1.4.0
Loading...
Searching...
No Matches
DGtal Namespace Reference

DGtal is the top-level namespace which contains all DGtal functions and types. More...

Namespaces

namespace  concepts
 Aim: Gathers several functions useful for concept checks.
 
namespace  dec_helper
 Namespace for functions useful to Discrete Exterior Calculus package.
 
namespace  deprecated
 Deprecated functions and types of the DGtal library.
 
namespace  detail
 detail namespace gathers internal classes and functions.
 
namespace  details
 
namespace  experimental
 Experimental functions and types of the DGtal library.
 
namespace  functions
 functions namespace gathers all DGtal functionsxs.
 
namespace  functors
 functors namespace gathers all DGtal functors.
 
namespace  Z2i
 Z2i this namespace gathers the standard of types for 2D imagery.
 
namespace  Z3i
 Z3i this namespace gathers the standard of types for 3D imagery.
 

Data Structures

class  AccFlower2D
 Aim: Model of the concept StarShaped represents any accelerated flower in the plane. More...
 
struct  AddTextureImage2DWithFunctor
 class to insert a custom 2D textured image by using a conversion functor and allows to change the default mode (GrayScale mode) to color mode. More...
 
struct  AddTextureImage3DWithFunctor
 class to insert a custom 3D textured image by using a conversion functor and allows to change the default mode (GrayScale mode) to color mode. More...
 
class  Alias
 Aim: This class encapsulates its parameter class so that to indicate to the user that the object/pointer will be only aliased. Therefore the user is reminded that the argument parameter is given to the function without any additional cost and may be modified, while he is aware that the lifetime of the argument parameter must be at least as long as the object itself. Note that an instance of Alias<T> is itself a light object (it holds only an enum and a pointer). More...
 
class  AlphaThickSegmentComputer
 Aim: This class is devoted to the recognition of alpha thick segments as described in [51] . From a maximal diagonal alphaMax thickness, it recognizes thick segments and may thus take into account some noise in the input contour. Moreover points of the segment may not be (digitally) connected and may have floating point coordinates. Connection is only given by the order of the points. More...
 
struct  AngleComputer
 
class  AngleLinearMinimizer
 Aim: Used to minimize the angle variation between different angles while taking into accounts min and max constraints. Example (. More...
 
class  AngleLinearMinimizerByAdaptiveStepGradientDescent
 
class  AngleLinearMinimizerByGradientDescent
 
class  AngleLinearMinimizerByRelaxation
 
class  ArithDSSIterator
 Aim: An iterator on the points of a Digital Straight Segment. Template parameters are the integer type and the connectivity of the DSS (8-connectivity as default value). More...
 
class  ArithmeticalDSL
 Aim: This class represents a naive (resp. standard) digital straight line (DSL), ie. the set of digital points \( (x,y) \in \mathbb{Z}^2 \) such that \( \mu \leq ax - by < \mu + \omega \) with \( a,b,\mu,\omega \in \mathbb{Z} \), \( \gcd(a,b) = 1 \) and \( \omega = \max(|a|,|b|) \) (resp. \( \omega = |a| + |b| \)). Note that any DSL such that \( \omega = \max(|a|,|b|) \) (resp. \( \omega = |a| + |b| \)) is simply 8-connected (resp. 4-connected). More...
 
struct  ArithmeticalDSLKernel
 Aim: Small class that contains the code that depends on the arithmetical thickness (either naive or standard) of a digital straight line (DSL). It provides mainly two static methods: More...
 
struct  ArithmeticalDSLKernel< TCoordinate, 4 >
 
class  ArithmeticalDSS
 Aim: This class represents a naive (resp. standard) digital straight segment (DSS), ie. the sequence of simply 8- (resp. 4-)connected digital points contained in a naive (resp. standard) digital straight line (DSL) between two points of it. More...
 
class  ArithmeticalDSSComputer
 Aim: This class is a wrapper around ArithmeticalDSS that is devoted to the dynamic recognition of digital straight segments (DSS) along any sequence of digital points. More...
 
class  ArithmeticalDSSComputerOnSurfels
 Aim: This class is a wrapper around ArithmeticalDSS that is devoted to the dynamic recognition of digital straight segments (DSS) along any sequence of 3D surfels. More...
 
class  ArithmeticalDSSFactory
 Aim: Set of static methods that create digital straight segments (DSS) from some input parameters, eg. patterns (or reversed patterns) from two upper leaning points (or lower leaning points). More...
 
struct  ArithmeticConversionTraits
 Aim: Trait class to get result type of arithmetic binary operators between two given types. More...
 
struct  ArithmeticConversionTraits< __gmp_expr< GMP1, GMP2 >, U, typename std::enable_if< std::is_integral< U >::value >::type >
 Specialization when second operand is a BigInteger. More...
 
struct  ArithmeticConversionTraits< __gmp_expr< GMPL1, GMPL2 >, __gmp_expr< GMPR1, GMPR2 > >
 Specialization when both operands are BigInteger. More...
 
struct  ArithmeticConversionTraits< LeftEuclideanRing, PointVector< dim, RightEuclideanRing, RightContainer >, typename std::enable_if< IsArithmeticConversionValid< LeftEuclideanRing, RightEuclideanRing >::value &&! IsAPointVector< LeftEuclideanRing >::value >::type >
 Specialization of ArithmeticConversionTraits when right operand is a PointVector. More...
 
struct  ArithmeticConversionTraits< PointVector< dim, LeftEuclideanRing, LeftContainer >, PointVector< dim, RightEuclideanRing, RightContainer >, typename std::enable_if< IsArithmeticConversionValid< LeftEuclideanRing, RightEuclideanRing >::value >::type >
 Specialization of ArithmeticConversionTraits when both operands are PointVector. More...
 
struct  ArithmeticConversionTraits< PointVector< dim, LeftEuclideanRing, LeftContainer >, RightEuclideanRing, typename std::enable_if< IsArithmeticConversionValid< LeftEuclideanRing, RightEuclideanRing >::value &&! IsAPointVector< RightEuclideanRing >::value >::type >
 Specialization of ArithmeticConversionTraits when left operand is a PointVector. More...
 
struct  ArithmeticConversionTraits< T, __gmp_expr< GMP1, GMP2 >, typename std::enable_if< std::is_integral< T >::value >::type >
 Specialization when first operand is a BigInteger. More...
 
struct  ArithmeticConversionTraits< T, U, typename std::enable_if< ! std::is_same< T, typename std::remove_cv< typename std::remove_reference< T >::type >::type >::value||! std::is_same< U, typename std::remove_cv< typename std::remove_reference< U >::type >::type >::value >::type >
 Specialization in order to remove const specifiers and references from given types. More...
 
struct  ArithmeticConversionTraits< T, U, typename std::enable_if< std::is_arithmetic< T >::value &&std::is_arithmetic< U >::value >::type >
 Specialization for (fundamental) arithmetic types. More...
 
class  ArrayImageAdapter< TArrayIterator, HyperRectDomain< TSpace > >
 Aim: Image adapter for generic arrays with sub-domain view capability. More...
 
class  ArrayImageIterator
 Aim: Random access iterator over an image given his definition domain and viewable domain. More...
 
struct  AssociativeCategory
 
class  Astroid2D
 Aim: Model of the concept StarShaped represents an astroid. More...
 
class  ATSolver2D
 Aim: This class solves Ambrosio-Tortorelli functional on a two-dimensional digital space (a 2D grid or 2D digital surface) for a piecewise smooth scalar/vector function u represented as one/several 2-form(s) and a discontinuity function v represented as a 0-form. The 2-form(s) u is a regularized approximation of an input vector data g, while v represents the set of discontinuities of u. The norm chosen for u is the \( l_2 \)-norm. More...
 
class  AvnaimEtAl2x2DetSignComputer
 Aim: Class that provides a way of computing the sign of the determinant of a 2x2 matrix from its four coefficients, ie. More...
 
class  BackInsertionSequenceToStackAdapter
 Aim: This class implements a dynamic adapter to an instance of a model of back insertion sequence in order to get a stack interface. This class is a model of CStack. More...
 
class  Ball2D
 Aim: Model of the concept StarShaped represents any circle in the plane. More...
 
class  Ball3D
 Aim: Model of the concept StarShaped3D represents any Sphere in the space. More...
 
struct  BidirectionalCategory
 
struct  BidirectionalSegmentComputer
 
class  BinomialConvolver
 Aim: This class represents a 2D contour convolved by some binomial. It computes first and second order derivatives so as to be able to estimate tangent and curvature. In particular, it smoothes digital contours but could be used for other kind of contours. More...
 
class  BinomialConvolverEstimator
 Aim: This class encapsulates a BinomialConvolver and a functor on BinomialConvolver so as to be a model of CCurveLocalGeometricEstimator. More...
 
struct  Bits
 
class  BLUELocalLengthEstimator
 Aim: Best Linear Unbiased Two step length estimator. More...
 
class  Board2D
 Aim: This class specializes a 'Board' class so as to display DGtal objects more naturally (with <<). The user has simply to declare a Board2D object and uses stream operators to display most digital objects. Furthermore, one can use this class to modify the current style for drawing. More...
 
class  Board3D
 The class Board3D is a type of Display3D which export the figures in the format OBJ/MTL when calling the method saveOBJ. More...
 
class  Board3DTo2D
 Class for PDF, PNG, PS, EPS, SVG export drawings with Cairo with 3D->2D projection. More...
 
struct  Board3DTo2DFactory
 Factory for GPL Display3D: More...
 
class  BoundedLatticePolytope
 Aim: Represents an nD lattice polytope, i.e. a convex polyhedron bounded with vertices with integer coordinates, as a set of inequalities. Otherwise said, it is a H-representation of a polytope (as an intersection of half-spaces). A limitation is that we model only bounded polytopes, i.e. polytopes that can be included in a finite bounding box. More...
 
class  BoundedLatticePolytopeCounter
 Aim: Useful to compute quickly the lattice points within a polytope, i.e. a convex polyhedron. More...
 
class  BoundedRationalPolytope
 Aim: Represents an nD rational polytope, i.e. a convex polyhedron bounded by vertices with rational coordinates, as a set of inequalities. Otherwise said, it is a H-representation of a polytope (as an intersection of half-spaces). A limitation is that we model only bounded polytopes, i.e. polytopes that can be included in a finite bounding box. More...
 
class  BreadthFirstVisitor
 Aim: This class is useful to perform a breadth-first exploration of a graph given a starting point or set (called initial core). More...
 
struct  C2x2DetComputer
 Aim: This concept gathers all models that are able to compute the (sign of the) determinant of a 2x2 matrix with integral entries. More...
 
struct  CameraDirection
 CameraDirection class to set camera direction. More...
 
struct  CameraPosition
 CameraPosition class to set camera position. More...
 
struct  CameraUpVector
 CameraUpVector class to set camera up-vector. More...
 
struct  CameraZNearFar
 CameraZNearFar class to set near and far distance. More...
 
struct  CanonicCellEmbedder
 Aim: A trivial embedder for signed and unsigned cell, which corresponds to the canonic injection of cell centroids into Rn. More...
 
struct  CanonicDigitalSurfaceEmbedder
 Aim: A trivial embedder for digital surfaces, which corresponds to the canonic injection of cell centroids into Rn. More...
 
struct  CanonicEmbedder
 Aim: A trivial embedder for digital points, which corresponds to the canonic injection of Zn into Rn. More...
 
struct  CanonicSCellEmbedder
 Aim: A trivial embedder for signed cell, which corresponds to the canonic injection of cell centroids into Rn. More...
 
struct  CBidirectionalIteratorArchetype
 An archetype of BidirectionalIterator. More...
 
struct  CConstBidirectionalIteratorArchetype
 An archetype of ConstBidirectionalIterator. More...
 
class  CellGeometry
 Aim: Computes and stores sets of cells and provides methods to compute intersections of lattice and rational polytopes with cells. More...
 
struct  CellGeometryFunctions
 
struct  CellGeometryFunctions< TKSpace, 1, 2 >
 
struct  CellGeometryFunctions< TKSpace, 1, 3 >
 
struct  CellGeometryFunctions< TKSpace, 2, 2 >
 
struct  CellGeometryFunctions< TKSpace, 2, 3 >
 
struct  CellGeometryFunctions< TKSpace, 3, 3 >
 
struct  CForwardIteratorArchetype
 An archetype of ForwardIterator. More...
 
class  ChordGenericNaivePlaneComputer
 Aim: A class that recognizes pieces of digital planes of given axis width. When the width is 1, it corresponds to naive planes. Contrary to ChordNaivePlaneComputer, the axis is not specified at initialization of the object. This class uses three instances of ChordNaivePlaneComputer, one per axis. More...
 
class  ChordGenericStandardPlaneComputer
 Aim: A class that recognizes pieces of digital planes of given diagonal width. When the width is \(1 \times \sqrt{3}\), it corresponds to standard planes. Contrary to ChordStandardPlaneComputer, the axis is not specified at initialization of the object. This class uses four instances of ChordStandardPlaneComputer of axis z, by transforming points \((x,y,z)\) to \((x \pm z, y \pm z, z)\). More...
 
class  ChordNaivePlaneComputer
 Aim: A class that contains the chord-based algorithm for recognizing pieces of digital planes of given axis width [ Gerard, Debled-Rennesson, Zimmermann, 2005 ]. When the width is 1, it corresponds to naive planes. The axis is specified at initialization of the object. More...
 
class  CircleFrom2Points
 Aim: Represents a circle that passes through a given point and that is thus uniquely defined by two other points. It is able to return for any given point its signed distance to itself. More...
 
class  CircleFrom3Points
 Aim: Represents a circle uniquely defined by three 2D points and that is able to return for any given 2D point its signed distance to itself. More...
 
class  Circulator
 Aim: Provides an adapter for classical iterators that can iterate through the underlying data structure as in a loop. The increment (resp. decrement) operator encapsulates the validity test and the assignement to the begin (resp. end) iterator of a given range, when the end (resp. beginning) has been reached. For instance, the pre-increment operator does:
More...
 
struct  CirculatorType
 
struct  ClippingPlane
 Class for adding a Clipping plane through the Viewer3D stream. Realizes the concept CDrawableWithViewer3D. More...
 
class  Clock
 
class  Clone
 Aim: This class encapsulates its parameter class to indicate that the given parameter is required to be duplicated (generally, this is done to have a longer lifetime than the function itself). On one hand, the user is reminded of the possible cost of duplicating the argument parameter, while he is also aware that the lifetime of the parameter is not a problem for the function. On the other hand, the Clone class is smart enough to enforce duplication only if needed. Substantial speed-up can be achieve through this mechanism. More...
 
struct  ClosedIntegerHalfPlane
 Aim: A half-space specified by a vector N and a constant c. The half-space is the set \( \{ P \in Z^2, N.P \le c \} \). More...
 
class  COBAGenericNaivePlaneComputer
 Aim: A class that recognizes pieces of digital planes of given axis width. When the width is 1, it corresponds to naive planes. Contrary to COBANaivePlaneComputer, the axis is not specified at initialization of the object. This class uses three instances of COBANaivePlaneComputer, one per axis. More...
 
class  COBAGenericStandardPlaneComputer
 Aim: A class that recognizes pieces of digital planes of given axis width. When the diagonal width is \( 1 \times \sqrt{3} \), it corresponds to standard planes. Contrary to COBANaivePlaneComputer, the axis is not specified at initialization of the object. This class uses four instances of COBANaivePlaneComputer of axis z, by transforming points \((x,y,z)\) to \((x \pm z, y \pm z, z)\). More...
 
class  COBANaivePlaneComputer
 Aim: A class that contains the COBA algorithm (Emilie Charrier, Lilian Buzer, DGCI2008) for recognizing pieces of digital planes of given axis width. When the width is 1, it corresponds to naive planes. The axis is specified at initialization of the object. More...
 
struct  ColMajorStorage
 Tag (empty structure) specifying a col-major storage order. More...
 
class  Color
 Structure representing an RGB triple with alpha component. More...
 
class  ColorBrightnessColorMap
 Aim: This class template may be used to (linearly) convert scalar values in a given range into a color with given lightness. More...
 
struct  CompareLocalEstimators
 Aim: Functor to compare two local geometric estimators. More...
 
class  ConnectivityException
 
class  ConstAlias
 Aim: This class encapsulates its parameter class so that to indicate to the user that the object/pointer will be only const aliased (and hence left unchanged). Therefore the user is reminded that the argument parameter is given to the function without any additional cost and may not be modified, while he is aware that the lifetime of the argument parameter must be at least as long as the object itself. Note that an instance of ConstAlias<T> is itself a light object (it holds only an enum and a pointer). More...
 
class  ConstImageAdapter
 Aim: implements a const image adapter with a given domain (i.e. a subdomain) and 2 functors : g for domain, f for accessing point values. More...
 
class  ConstIteratorAdapter
 This class adapts any iterator so that operator* returns another element than the one pointed to by the iterator. More...
 
class  ConstRangeAdapter
 Aim: model of CConstBidirectionalRange that adapts any range of elements bounded by two iterators [itb, ite) and provides services to (circularly)iterate over it (in a read-only manner). More...
 
class  ConstRangeFromPointAdapter
 Aim: model of CConstBidirectionalRangeFromPoint that adapts any bidirectional range and provides services to iterate over it (in a read-only manner). More...
 
struct  ContainerCategory
 
struct  ContainerTraits
 Defines default container traits for arbitrary types. More...
 
struct  ContainerTraits< boost::unordered_map< Value, T, Hash, Pred, Alloc > >
 Defines container traits for boost::unordered_map<>. More...
 
struct  ContainerTraits< boost::unordered_multimap< Value, T, Hash, Pred, Alloc > >
 Defines container traits for boost::unordered_multimap<>. More...
 
struct  ContainerTraits< boost::unordered_multiset< Value, Hash, Pred, Alloc > >
 Defines container traits for boost::unordered_multiset<>. More...
 
struct  ContainerTraits< boost::unordered_set< Value, Hash, Pred, Alloc > >
 Defines container traits for boost::unordered_set<>. More...
 
struct  ContainerTraits< CubicalComplex< TKSpace, TCellContainer > >
 
struct  ContainerTraits< std::array< T, N > >
 Defines container traits for std::array<>. More...
 
struct  ContainerTraits< std::deque< T, Alloc > >
 Defines container traits for std::deque<>. More...
 
struct  ContainerTraits< std::forward_list< T, Alloc > >
 Defines container traits for std::forward_list<>. More...
 
struct  ContainerTraits< std::list< T, Alloc > >
 Defines container traits for std::list<>. More...
 
struct  ContainerTraits< std::map< Key, T, Compare, Alloc > >
 Defines container traits for std::map<>. More...
 
struct  ContainerTraits< std::multimap< Key, T, Compare, Alloc > >
 Defines container traits for std::multimap<>. More...
 
struct  ContainerTraits< std::multiset< T, Compare, Alloc > >
 Defines container traits for std::multiset<>. More...
 
struct  ContainerTraits< std::set< T, Compare, Alloc > >
 Defines container traits for std::set<>. More...
 
struct  ContainerTraits< std::unordered_map< Key, T, Hash, Pred, Alloc > >
 Defines container traits for std::unordered_map<>. More...
 
struct  ContainerTraits< std::unordered_multimap< Key, T, Hash, Pred, Alloc > >
 Defines container traits for std::unordered_multimap<>. More...
 
struct  ContainerTraits< std::unordered_multiset< Key, Hash, Pred, Alloc > >
 Defines container traits for std::unordered_multiset<>. More...
 
struct  ContainerTraits< std::unordered_set< Key, Hash, Pred, Alloc > >
 Defines container traits for std::unordered_set<>. More...
 
struct  ContainerTraits< std::vector< T, Alloc > >
 Defines container traits for std::vector<>. More...
 
class  ContourHelper
 Aim: a helper class to process sequences of points. More...
 
struct  ConvexCellComplex
 Aim: represents a d-dimensional complex in a d-dimensional space with the following properties and restrictions: More...
 
struct  ConvexHullCommonKernel
 Aim: the common part of all geometric kernels for computing the convex hull or Delaunay triangulation of a range of points. More...
 
struct  ConvexHullIntegralKernel
 Aim: a geometric kernel to compute the convex hull of digital points with integer-only arithmetic. More...
 
struct  ConvexHullRationalKernel
 Aim: a geometric kernel to compute the convex hull of floating points with integer-only arithmetic. Floating points are approximated with rational points with fixed precision (a given number of bits). All remaining computations are exact, as long as there is no overflow. More...
 
struct  ConvexityHelper
 Aim: Provides a set of functions to facilitate the computation of convex hulls and polytopes, as well as shortcuts to build cell complex representing a Delaunay complex. More...
 
struct  CorrectedNormalCurrentComputer
 Aim: Utility class to compute curvature measures induced by (1) a corrected normal current defined by a surface mesh with prescribed normals and (2) the standard Lipschitz-Killing invariant forms of area and curvatures. More...
 
struct  CorrectedNormalCurrentFormula
 Aim: A helper class that provides static methods to compute corrected normal current formulas of curvatures. More...
 
class  CountedConstPtrOrConstPtr
 Aim: Smart or simple const pointer on T. It can be a smart pointer based on reference counts or a simple pointer on T depending either on a boolean value given at construction or on the constructor used. In the first case, we will call this pointer object smart, otherwise we will call it simple. More...
 
class  CountedPtr
 Aim: Smart pointer based on reference counts. More...
 
class  CountedPtrOrPtr
 Aim: Smart or simple pointer on T. It can be a smart pointer based on reference counts or a simple pointer on T depending either on a boolean value given at construction or on the constructor used. In the first case, we will call this pointer object smart, otherwise we will call it simple. More...
 
class  CowPtr
 Aim: Copy on write shared pointer. More...
 
struct  CSinglePassIteratorArchetype
 An archetype of SingePassIterator. More...
 
struct  CubicalCellData
 
class  CubicalComplex
 Aim: This class represents an arbitrary cubical complex living in some Khalimsky space. Cubical complexes are sets of cells of different dimensions related together with incidence relations. Two cells in a cubical complex are incident if and only if they are incident in the surrounding Khalimsky space. In other words, cubical complexes are defined here as subsets of Khalimsky spaces. More...
 
struct  CurvatureFromBinomialConvolverFunctor
 Aim: This class is a functor for getting the curvature of a binomial convolver. More...
 
class  CurvatureFromDCAEstimator
 
class  CurvatureFromDSSEstimator
 
class  CurvatureFromDSSLengthEstimator
 
struct  CustomColors
 Custom style class redefining the pen color and the fill color. You may use Board2D::Color::None for transparent color. More...
 
struct  CustomColors3D
 
struct  CustomFillColor
 Custom style class redefining the fill color. You may use Board2D::Color::None for transparent color. More...
 
struct  CustomPen
 Custom style class redefining the pen attributes. You may use Board2D::Color::None for transparent color. More...
 
struct  CustomPenColor
 Custom style class redefining the pen color. You may use Board2D::Color::None for transparent color. More...
 
struct  CustomStyle
 
struct  CustomStyle3D
 Modifier class in a Display3D stream. Useful to choose your own style for a given class. Realizes the concept CDrawableWithDisplay3D. More...
 
class  DecoratorParametricCurveTransformation
 Aim: Implements a decorator for applying transformations to parametric curves. More...
 
class  DefaultConstImageRange
 Aim: model of CConstBidirectionalRangeFromPoint that adapts the domain of an image in order to iterate over the values associated to its domain points (in a read-only as well as a write-only manner).
More...
 
class  DefaultImageRange
 Aim: model of CConstBidirectionalRangeFromPoint and CBidirectionalRangeWithWritableIteratorFromPoint that adapts the domain of an image in order to iterate over the values associated to its domain points (in a read-only as well as a write-only manner).
More...
 
struct  DelaunayIntegralKernel
 Aim: a geometric kernel to compute the Delaunay triangulation of digital points with integer-only arithmetic. It casts lattice point into a higher dimensional space and computes its convex hull. Facets pointing toward the bottom form the simplices of the Delaunay triangulation. More...
 
struct  DelaunayRationalKernel
 Aim: a geometric kernel to compute the Delaunay triangulation of a range of floating points with integer-only arithmetic. Floating points are approximated with rational points with fixed precision (a given number of bits), which are cast in a higher dimensional space and lifted onto the "norm" paraboloid, as classically done when computing a Delaunay triangulation from a convex hull. All remaining computations are exact, as long as there is no overflow. More...
 
class  DepthFirstVisitor
 Aim: This class is useful to perform a depth-first exploration of a graph given a starting point or set (called initial core). More...
 
struct  DicomReader
 Aim: Import a 3D DICOM image from file series. More...
 
class  DigitalConvexity
 Aim: A helper class to build polytopes from digital sets and to check digital k-convexity and full convexity. More...
 
class  DigitalMetricAdapter
 Aim: simple adapter class which adapts any models of concepts::CMetricSpace to a model of concepts::CDigitalMetricSpace. More...
 
class  DigitalPlanePredicate
 Aim: Representing digital planes, which are digitizations of Euclidean planes, as point predicates. More...
 
class  DigitalSetBoundary
 Aim: A model of CDigitalSurfaceContainer which defines the digital surface as the boundary of a given digital set. More...
 
class  DigitalSetByAssociativeContainer
 Aim: A wrapper class around a STL associative container for storing sets of digital points within some given domain. More...
 
class  DigitalSetBySTLSet
 Aim: A container class for storing sets of digital points within some given domain. More...
 
class  DigitalSetBySTLVector
 Aim: Realizes the concept CDigitalSet by using the STL container std::vector. More...
 
struct  DigitalSetConverter
 Aim: Utility class to convert between types of sets. More...
 
class  DigitalSetDomain
 Aim: Constructs a domain limited to the given digital set. More...
 
class  DigitalSetFromMap
 Aim: An adapter for viewing an associative image container like ImageContainerBySTLMap as a simple digital set. This class is merely based on an aliasing pointer on the image, which must exists elsewhere.
More...
 
class  DigitalSetInserter
 Aim: this output iterator class is designed to allow algorithms to insert points in the digital set. Using the assignment operator, even when dereferenced, causes the digital set to insert a point. More...
 
struct  DigitalSetSelector
 Aim: Automatically defines an adequate digital set type according to the hints given by the user. More...
 
class  DigitalShapesCSG
 Aim: Constructive Solid Geometry (CSG) between models of CDigitalBoundedShape and CDigitalOrientedShape Use CSG operation (union, intersection, minus) from a shape of Type ShapeA with one (or more) shapes of Type ShapeB. Can combine differents operations. Limitations: Since we don't have a class derived by all shapes, operations can be done by only one type of shapes. Use CSG of CSG to go beyond this limitation. More...
 
class  DigitalSurface
 Aim: Represents a set of n-1-cells in a nD space, together with adjacency relation between these cells. Therefore, a digital surface is a pure cubical complex (model of CCubicalComplex), made of k-cells, 0 <= k < n. This complex is generally not a manifold (i.e. a kind of surface), except when it has the property of being well-composed. More...
 
class  DigitalSurface2DSlice
 Aim: Represents a 2-dimensional slice in a DigitalSurface. In a sense, it is a 4-connected contour, open or not. To be valid, it must be connected to some digital surface and a starting surfel. More...
 
class  DigitalSurfaceConvolver
 
class  DigitalSurfaceConvolver< TFunctor, TKernelFunctor, TKSpace, TDigitalKernel, 2 >
 
class  DigitalSurfaceConvolver< TFunctor, TKernelFunctor, TKSpace, TDigitalKernel, 3 >
 
class  DigitalSurfaceEmbedderWithNormalVectorEstimator
 Aim: Combines a digital surface embedder with a normal vector estimator to get a model of CDigitalSurfaceEmbedder and CWithGradientMap. (also default constructible, copy constructible, assignable). More...
 
class  DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap
 
class  DigitalSurfacePredicate
 Aim: A point predicate which tells whether a point belongs to the set of pointels of a given digital surface or not. More...
 
class  DigitalSurfaceRegularization
 Aim: Implements Digital Surface Regularization as described in [31]. More...
 
class  DigitalTopology
 Aim: Represents a digital topology as a couple of adjacency relations. More...
 
struct  DigitalTopologyTraits
 Aim: the traits classes for DigitalTopology types. More...
 
struct  DigitalTopologyTraits< MetricAdjacency< TSpace, 1 >, MetricAdjacency< TSpace, 2 >, 2 >
 Aim: Specialization of the traits classes for DigitalTopology types for any 2D Space, for topology (4,8). More...
 
struct  DigitalTopologyTraits< MetricAdjacency< TSpace, 1 >, MetricAdjacency< TSpace, 2 >, 3 >
 Aim: Specialization of the traits classes for DigitalTopology types for any 2D Space, for topology (6,18). More...
 
struct  DigitalTopologyTraits< MetricAdjacency< TSpace, 1 >, MetricAdjacency< TSpace, 3 >, 3 >
 Aim: Specialization of the traits classes for DigitalTopology types for any 2D Space, for topology (6,26). More...
 
struct  DigitalTopologyTraits< MetricAdjacency< TSpace, 2 >, MetricAdjacency< TSpace, 1 >, 2 >
 Aim: Specialization of the traits classes for DigitalTopology types for any 2D Space, for topology (8,4). More...
 
struct  DigitalTopologyTraits< MetricAdjacency< TSpace, 2 >, MetricAdjacency< TSpace, 1 >, 3 >
 Aim: Specialization of the traits classes for DigitalTopology types for any 2D Space, for topology (18,6). More...
 
struct  DigitalTopologyTraits< MetricAdjacency< TSpace, 3 >, MetricAdjacency< TSpace, 1 >, 3 >
 Aim: Specialization of the traits classes for DigitalTopology types for any 2D Space, for topology (26,6). More...
 
class  DirichletConditions
 Aim: A helper class to solve a system with Dirichlet boundary conditions. More...
 
class  DiscreteExteriorCalculus
 Aim: DiscreteExteriorCalculus represents a calculus in the dec package. This is the main structure in the dec package. This is used to describe the space on which the dec is build and to compute various operators. Once operators or kforms are created, this structure should not be modified. More...
 
class  DiscreteExteriorCalculusFactory
 Aim: This class provides static members to create DEC structures from various other DGtal structures. More...
 
class  DiscreteExteriorCalculusSolver
 Aim: This wraps a linear algebra solver around a discrete exterior calculus. More...
 
struct  Display2DFactory
 Factory for Display2D: More...
 
class  Display3D
 Aim: This semi abstract class defines the stream mechanism to display 3d primitive (like BallVector, DigitalSetBySTLSet, Object ...). The class Viewer3D and Board3DTo2D implement two different ways to display 3D objects. The first one (Viewer3D), permits an interactive visualisation (based on OpenGL ) and the second one (Board3dto2d) provides 3D visualisation from 2D vectorial display (based on the CAIRO library) More...
 
struct  Display3DFactory
 Factory for GPL Display3D: More...
 
class  DistanceBreadthFirstVisitor
 Aim: This class is useful to perform an exploration of a graph given a starting point or set (called initial core) and a distance criterion. More...
 
class  DistanceFromDCAEstimator
 
class  DistanceFunctorFromPoint
 
class  DistanceTransformation
 Aim: Implementation of the linear in time distance transformation for separable metrics. More...
 
class  DomainAdjacency
 Aim: Given a domain and an adjacency, limits the given adjacency to the specified domain for all adjacency and neighborhood computations. More...
 
struct  DrawableWithBoard2D
 
struct  DrawableWithBoard3DTo2D
 
struct  DrawableWithDisplay3D
 
struct  DrawWithBoard3DTo2DModifier
 Base class specifying the methods for classes which intend to modify a Viewer3D stream. More...
 
struct  DrawWithBoardModifier
 
struct  DrawWithDisplay3DModifier
 Base class specifying the methods for classes which intend to modify a Viewer3D stream. More...
 
struct  DrawWithViewer3DModifier
 Base class specifying the methods for classes which intend to modify a Viewer3D stream. More...
 
class  DSLSubsegment
 Aim: Given a Digital Straight line and two endpoints A and B on this line, compute the minimal characteristics of the digital subsegment [AB] in logarithmic time. Two algorithms are implemented: one is based on the local computation of lower and upper convex hulls, the other is based on a dual transformation and uses the Farey fan. Implementation requires that the DSL lies in the first octant (0 <= a <= b). More...
 
class  DSSLengthEstimator
 Aim: a model of CGlobalCurveEstimator that segments the digital curve into DSS and computes the length of the resulting (not uniquely defined) polygon. More...
 
class  DSSLengthLessEqualFilter
 
class  DSSMuteFilter
 
struct  DummyObject
 
struct  DynamicBidirectionalSegmentComputer
 
struct  DynamicSegmentComputer
 
class  EhrhartPolynomial
 Aim: This class implements the class Ehrhart Polynomial which is related to lattice point enumeration in bounded lattice polytopes. More...
 
class  EigenDecomposition
 Aim: This class provides methods to compute the eigen decomposition of a matrix. Its objective is to replace a specialized matrix library when none are available. More...
 
struct  EigenLinearAlgebraBackend
 Aim: Provide linear algebra backend using Eigen dense and sparse matrix as well as dense vector. 6 linear solvers available: More...
 
class  Ellipse2D
 Aim: Model of the concept StarShaped represents any ellipse in the plane. More...
 
class  EllipticHelix
 Aim: Implement a parametric curve – elliptic helix. More...
 
class  EstimatorCache
 Aim: this class adapts any local surface estimator to cache the estimated values in a associative container (Surfel <-> estimated value). More...
 
class  EuclideanShapesCSG
 Aim: Constructive Solid Geometry (CSG) between models of CEuclideanBoundedShape and CEuclideanOrientedShape Use CSG operation (union, intersection, minus) from a shape of Type ShapeA with one (or more) shapes of Type ShapeB. Can combine differents operations. Limitations: Since we don't have a class derived by all shapes, operations can be done by only one type of shapes. Use CSG of CSG to go beyond this limitation. More...
 
class  ExactPredicateLpPowerSeparableMetric
 Aim: implements weighted separable l_p metrics with exact predicates. More...
 
class  ExactPredicateLpPowerSeparableMetric< TSpace, 2, TPromoted >
 
class  ExactPredicateLpSeparableMetric
 Aim: implements separable l_p metrics with exact predicates. More...
 
class  ExactPredicateLpSeparableMetric< TSpace, 2, TRawValue >
 
class  Expander
 Aim: This class is useful to visit an object by adjacencies, layer by layer. More...
 
class  ExplicitDigitalSurface
 Aim: A model of CDigitalSurfaceContainer which defines the digital surface as connected surfels. The shape is determined by a predicate telling whether a given surfel belongs or not to the shape boundary. Compute once the boundary of the surface with a tracking. More...
 
class  Filtered2x2DetComputer
 Aim: Class that provides a way of computing the sign of the determinant of a 2x2 matrix from its four coefficients, ie. More...
 
class  Flower2D
 Aim: Model of the concept StarShaped represents any flower with k-petals in the plane. More...
 
class  FMM
 Aim: Fast Marching Method (FMM) for nd distance transforms. More...
 
struct  ForwardCategory
 
struct  ForwardSegmentComputer
 
class  FP
 Aim: Computes the faithful polygon (FP) of a range of 4/8-connected 2D Points. More...
 
class  FPLengthEstimator
 Aim: a model of CGlobalCurveEstimator that computes the length of a digital curve using its FP (faithful polygon) More...
 
class  FrechetShortcut
 Aim: On-line computation Computation of the longest shortcut according to the Fréchet distance for a given error. See related article: Sivignon, I., (2011). A Near-Linear Time Guaranteed Algorithm for Digital Curve Simplification under the Fréchet Distance. DGCI 2011. Retrieved from http://link.springer.com/chapter/10.1007/978-3-642-19867-0_28. More...
 
class  FreemanChain
 
class  FrontInsertionSequenceToStackAdapter
 Aim: This class implements a dynamic adapter to an instance of a model of front insertion sequence in order to get a stack interface. This class is a model of CStack. More...
 
class  FunctorOnCells
 Aim: Convert a functor on Digital Point to a Functor on Khalimsky Cell. More...
 
class  GaussDigitizer
 Aim: A class for computing the Gauss digitization of some Euclidean shape, i.e. its intersection with some \( h_1 Z \times h_2 Z \times \cdots \times h_n Z \). Note that the real point (0,...,0) is mapped onto the digital point (0,...,0). More...
 
struct  GenericReader
 Aim: Provide a mechanism to load with the bestloader according to an image (2D or 3D) filename (by parsing the extension). More...
 
struct  GenericReader< TContainer, 2, DGtal::uint32_t >
 
struct  GenericReader< TContainer, 2, TValue >
 
struct  GenericReader< TContainer, 3, DGtal::uint32_t >
 
struct  GenericReader< TContainer, 3, DGtal::uint64_t >
 
struct  GenericReader< TContainer, 3, TValue >
 
struct  GenericWriter
 Aim: Provide a mechanism to save image (2D or 3D) into file with the best saver loader according to an filename (by parsing the extension). More...
 
struct  GenericWriter< TContainer, 2, DGtal::Color, TFunctor >
 
struct  GenericWriter< TContainer, 2, TValue, TFunctor >
 
struct  GenericWriter< TContainer, 2, unsigned char, TFunctor >
 
struct  GenericWriter< TContainer, 3, DGtal::uint64_t, TFunctor >
 
struct  GenericWriter< TContainer, 3, TValue, TFunctor >
 
struct  GenericWriter< TContainer, 3, unsigned char, TFunctor >
 
class  GeodesicsInHeat
 This class implements [41] on polygonal surfaces (using Discrete differential calculus on polygonal surfaces). More...
 
class  GradientColorMap
 Aim: This class template may be used to (linearly) convert scalar values in a given range into a color in a gradient defined by two or more colors. More...
 
class  GraphVisitorRange
 Aim: Transforms a graph visitor into a single pass input range. More...
 
class  GrayscaleColorMap
 Aim: This class template may be used to (linearly) convert scalar values in a given range into gray levels. More...
 
class  GreedySegmentation
 Aim: Computes the greedy segmentation of a range given by a pair of ConstIterators. The last element of a given segment is the first one one of the next segment. More...
 
class  GridCurve
 Aim: describes, in a cellular space of dimension n, a closed or open sequence of signed d-cells (or d-scells), d being either equal to 1 or (n-1). More...
 
struct  H5DSpecializations
 Aim: implements HDF5 reading and writing for specialized type T. More...
 
struct  H5DSpecializations< TImageFactory, DGtal::int32_t >
 Aim: implements HDF5 reading and writing for specialized type DGtal::int32_t. More...
 
struct  H5DSpecializations< TImageFactory, DGtal::int64_t >
 Aim: implements HDF5 reading and writing for specialized type DGtal::int64_t. More...
 
struct  H5DSpecializations< TImageFactory, DGtal::uint8_t >
 Aim: implements HDF5 reading and writing for specialized type DGtal::uint8_t. More...
 
struct  H5DSpecializations< TImageFactory, double >
 Aim: implements HDF5 reading and writing for specialized type double. More...
 
class  HalfEdgeDataStructure
 Aim: This class represents an half-edge data structure, which is a structure for representing the topology of a combinatorial 2-dimensional surface or an embedding of a planar graph in the plane. It does not store any geometry. As a minimal example, these lines of code build two triangles connected by the edge {1,2}. More...
 
struct  HDF5Reader
 Aim: Import a HDF5 file. More...
 
struct  HDF5Writer
 Aim: Export an Image with the HDF5 format. More...
 
class  Histogram
 Aim: Represents a typical histogram in statistics, which is a discrete estimate of the probability distribution of a continuous variable. More...
 
class  HueShadeColorMap
 Aim: This class template may be used to (linearly) convert scalar values in a given range into a color in a cyclic hue shade colormap, maybe aka rainbow color map. This color map is suitable, for example, to colorize distance functions. By default, only one hue cycle is used. More...
 
class  HyperRectDomain
 Aim: Parallelepidec region of a digital space, model of a 'CDomain'. More...
 
class  HyperRectDomain_Iterator
 Iterator for HyperRectDomain. More...
 
class  HyperRectDomain_ReverseIterator
 Reverse iterator for HyperRectDomain. More...
 
class  HyperRectDomain_subIterator
 
class  Image
 Aim: implements association bewteen points lying in a digital domain and values. More...
 
class  ImageAdapter
 Aim: implements an image adapter with a given domain (i.e. a subdomain) and 3 functors : g for domain, f for accessing point values and f-1 for writing point values. More...
 
class  ImageCache
 Aim: implements an images cache with 'read and write' policies. More...
 
class  ImageCacheReadPolicyFIFO
 Aim: implements a 'FIFO' read policy cache. More...
 
class  ImageCacheReadPolicyLAST
 Aim: implements a 'LAST' read policy cache. More...
 
class  ImageCacheWritePolicyWB
 Aim: implements a 'WB (Write-back or Write-behind)' write policy cache. More...
 
class  ImageCacheWritePolicyWT
 Aim: implements a 'WT (Write-through)' write policy cache. More...
 
class  ImageContainerByITKImage
 Aim: implements a model of CImageContainer using a ITK Image. More...
 
class  ImageContainerBySTLMap
 
class  ImageContainerBySTLVector
 
class  ImageFactoryFromHDF5
 Aim: implements a factory from an HDF5 file. More...
 
class  ImageFactoryFromImage
 Aim: implements a factory to produce images from a "bigger/original" one according to a given domain. More...
 
struct  ImageFromSet
 Aim: Define utilities to convert a digital set into an image. More...
 
class  ImageLinearCellEmbedder
 Aim: a cellular embedder for images. (default constructible, copy constructible, assignable). Model of CCellEmbedder. More...
 
struct  ImageSelector
 Aim: Automatically defines an adequate image type according to the hints given by the user.
More...
 
class  ImageToConstantFunctor
 
class  ImplicitBall
 Aim: model of CEuclideanOrientedShape and CEuclideanBoundedShape concepts to create a ball in nD.. More...
 
class  ImplicitDigitalSurface
 Aim: A model of CDigitalSurfaceContainer which defines the digital surface as the boundary of an implicitly define shape. Compute once the boundary of the surface with a tracking. More...
 
class  ImplicitFunctionDiff1LinearCellEmbedder
 Aim: a cellular embedder for implicit functions, (default constructible, copy constructible, assignable). Model of CCellEmbedder and CWithGradientMap. More...
 
class  ImplicitFunctionDiff1LinearCellEmbedderGradientMap
 Forward declaration. More...
 
class  ImplicitFunctionLinearCellEmbedder
 Aim: a cellular embedder for implicit functions, (default constructible, copy constructible, assignable). Model of CCellEmbedder. More...
 
class  ImplicitHyperCube
 Aim: model of CEuclideanOrientedShape and CEuclideanBoundedShape concepts to create an hypercube in nD.. More...
 
class  ImplicitNorm1Ball
 Aim: model of CEuclideanOrientedShape and CEuclideanBoundedShape concepts to create a ball for the L_1 norm in nD. More...
 
class  ImplicitPolynomial3Shape
 Aim: model of CEuclideanOrientedShape concepts to create a shape from a polynomial. More...
 
class  ImplicitRoundedHyperCube
 Aim: model of CEuclideanOrientedShape and CEuclideanBoundedShape concepts to create a rounded hypercube in nD.. More...
 
class  IndexedDigitalSurface
 Aim: Represents a digital surface with the topology of its dual surface. Its aim is to mimick the standard DigitalSurface, but to optimize its traversal and topology services. The idea is simply to number all its vertices (ie surfels), arcs, and faces and to store its topology with an half-edge data structure. It is essentially a PolygonalSurface but with services specific to DigitalSurface, like a tracker, a DigitalSurfaceContainer, etc. In theory, it can replace a DigitalSurface in many algorithms, and is more efficient if you need to do a lot of traversal on it (like many k-ring operations). More...
 
class  IndexedListWithBlocks
 Aim: Represents a mixed list/array structure which is useful in some context. It is essentially a list of blocks. More...
 
class  InexactPredicateLpSeparableMetric
 Aim: implements separable l_p metrics with approximated predicates. More...
 
class  InfiniteNumberException
 
class  InGeneralizedDiskOfGivenRadius
 Aim: This class implements an orientation functor that
provides a way to determine the position of a given point with respect to the unique circle passing by the same two given points and whose radius and orientation is given. More...
 
class  InHalfPlaneBy2x2DetComputer
 Aim: Class that implements an orientation functor, ie. it provides a way to compute the orientation of three given 2d points. More precisely, it returns: More...
 
class  InHalfPlaneBySimple3x3Matrix
 Aim: Class that implements an orientation functor, ie. it provides a way to compute the orientation of three given 2d points. More precisely, it returns: More...
 
class  InputException
 
class  InputIteratorWithRankOnSequence
 Aim: Useful to create an iterator that returns a pair (value,rank) when visiting a sequence. The sequence is smartly copied within the iterator. Hence, the given sequence need not to persist during the visit. Since it is only an input sequence, it is not necessary to give a valid sequence when creating the end() iterator. More...
 
class  IntegerComputer
 Aim: This class gathers several types and methods to make computation with integers. More...
 
struct  IntegerConverter
 ----------— INTEGER/POINT CONVERSION SERVICES -----------------— More...
 
struct  IntegerConverter< dim, DGtal::BigInteger >
 
struct  IntegerConverter< dim, DGtal::int32_t >
 
struct  IntegerConverter< dim, DGtal::int64_t >
 
class  IntegerSequenceIterator
 Aim: It is a simple class that mimics a (non mutable) iterator over integers. You can increment it, decrement it, displace it, compare it, etc. It is useful if you have a collection of consecutive integers, and you wish to create an iterator over it. It is used in the class TriangulatedSurface for example, since vertices are numbers from 0 to nbVertices - 1. More...
 
class  IntegralIntervals
 Aim: More...
 
class  IntegralInvariantCovarianceEstimator
 Aim: This class implement an Integral Invariant estimator which computes for each surfel the covariance matrix of the intersection of the shape with a ball of given radius centered on the surfel. More...
 
class  IntegralInvariantVolumeEstimator
 Aim: This class implement an Integral Invariant estimator which computes for each surfel the volume of the intersection of the shape with a ball of given radius centered on the surfel. More...
 
struct  IntersectionTargetTrait
 Aim: A class for intersection target used for voxelization. More...
 
class  IOException
 
struct  IsAPointVector
 Type trait to check if a given type is a PointVector. More...
 
struct  IsAPointVector< PointVector< dim, TEuclideanRing, TContainer > >
 Specialization of IsAPointVector for a PointVector. More...
 
struct  IsArithmeticConversionValid
 Helper to determine if an arithmetic operation between two given types has a valid result type (ie is valid). More...
 
struct  IsArithmeticConversionValid< T, U, typename std::conditional< false, ArithmeticConversionType< T, U >, void >::type >
 Specialization when arithmetic operation between the two given type is valid. More...
 
struct  IsAssociativeContainer
 
struct  IsCirculator
 Aim: Checks whether type IC is a circular or a classical iterator. Static value set to 'true' for a circulator, 'false' otherwise.
More...
 
struct  IsContainer
 
struct  IsMultipleAssociativeContainer
 
struct  IsOrderedAssociativeContainer
 
struct  IsPairAssociativeContainer
 
struct  IsSequenceContainer
 
struct  IsSimpleAssociativeContainer
 
struct  IsUniqueAssociativeContainer
 
struct  IsUnorderedAssociativeContainer
 
class  IteratorAdapter
 This class adapts any lvalue iterator so that operator* returns a member on the element pointed to by the iterator, instead the element itself. More...
 
struct  IteratorCirculatorTraits
 Aim: Provides nested types for both iterators and circulators:
Type, Category, Value, Difference, Pointer and Reference. More...
 
struct  IteratorCirculatorTraits< T * >
 
struct  IteratorCirculatorTraits< T const * >
 
struct  IteratorCirculatorType
 Aim: Provides the type of IC as a nested type: either IteratorType or CirculatorType. More...
 
class  IteratorCompletion
 Aim: Class that uses CRTP to add reverse iterators and ranges to a derived class. More...
 
class  IteratorCompletionTraits
 Aim: Traits that must be specialized for each IteratorCompletion derived class. More...
 
class  IteratorCompletionTraits< ArrayImageAdapter< TArrayIterator, TDomain > >
 [IteratorCompletionTraits] More...
 
struct  IteratorType
 
struct  ITKDicomReader
 Aim: Import a 2D/3D DICOM Image from file series. More...
 
struct  ITKIOTrait
 Aim: Provide type trait for ITK reader and ITK writer. More...
 
struct  ITKIOTrait< bool >
 
struct  ITKReader
 Aim: Import a 2D/3D Image using the ITK formats. More...
 
struct  ITKWriter
 Export a 2D/3D Image using the ITK formats. More...
 
struct  ITKWriter< ImageContainerByITKImage< TDomain, TValue >, TFunctor >
 
class  IVector
 
class  IVector< T, TAlloc, true >
 
class  KanungoNoise
 Aim: From a point predicate (model of concepts::CPointPredicate), this class constructs another point predicate as a noisy version of the input one. More...
 
class  KForm
 Aim: KForm represents discrete kforms in the dec package. More...
 
struct  KhalimskyCell
 Represents an (unsigned) cell in a cellular grid space by its Khalimsky coordinates. More...
 
struct  KhalimskyPreCell
 Represents an unsigned cell in an unbounded cellular grid space by its Khalimsky coordinates. More...
 
class  KhalimskyPreSpaceND
 Aim: This class is a model of CPreCellularGridSpaceND. It represents the cubical grid as a cell complex, whose cells are defined as an array of integers. The topology of the cells is defined by the parity of the coordinates (even: closed, odd: open). More...
 
class  KhalimskySpaceND
 Aim: This class is a model of CCellularGridSpaceND. It represents the cubical grid as a cell complex, whose cells are defined as an array of integers. The topology of the cells is defined by the parity of the coordinates (even: closed, odd: open). More...
 
class  KhalimskySpaceNDHelper
 Internal class of KhalimskySpaceND that provides some optimizations depending on the space type. More...
 
class  Knot_3_1
 Aim: Implement a parametrized knot 3, 1. More...
 
class  Knot_3_2
 Aim: Implement a parametrized knot 3, 2. More...
 
class  Knot_4_1
 Aim: Implement a parametrized knot 4, 1. More...
 
class  Knot_4_3
 Aim: Implement a parametrized knot 4, 3. More...
 
class  Knot_5_1
 Aim: Implement a parametrized knot 5, 1. More...
 
class  Knot_5_2
 Aim: Implement a parametrized knot 5, 2. More...
 
class  Knot_6_2
 Aim: Implement a parametrized knot 6, 2. More...
 
class  Knot_7_4
 Aim: Implement a parametrized knot 7, 4. More...
 
class  L1LengthEstimator
 Aim: a simple model of CGlobalCurveEstimator that compute the length of a curve using the l_1 metric (just add 1/h for every step). More...
 
class  L1LocalDistance
 Aim: Class for the computation of the L1-distance at some point p, from the available distance values of some points lying in the 1-neighborhood of p (ie. points at a L1-distance to p equal to 1). More...
 
class  L2FirstOrderLocalDistance
 Aim: Class for the computation of the Euclidean distance at some point p, from the available distance values of some points lying in the 1-neighborhood of p (ie. points at a L1-distance to p equal to 1). More...
 
class  L2FirstOrderLocalDistanceFromCells
 Aim: Class for the computation of the Euclidean distance at some point p, from the available distance values in the neighborhood of p. Contrary to L2FirstOrderLocalDistance, the distance values are not available from the points adjacent to p but instead from the (d-1)-cells lying between p and these points.
More...
 
class  L2SecondOrderLocalDistance
 Aim: Class for the computation of the Euclidean distance at some point p, from the available distance values of some points lying in the neighborhood of p, such that only one of their coordinate differ from the coordinates of p by at most two. More...
 
class  LabelledMap
 Aim: Represents a map label -> data, where the label is an integer between 0 and a constant L-1. It is based on a binary coding of labels and a mixed list/array structure. The assumption is that the number of used labels is much less than L. The objective is to minimize the memory usage. More...
 
class  Labels
 Aim: Stores a set of labels in {O..L-1} as a sequence of bits. More...
 
class  LagrangeInterpolation
 Aim: This class implements Lagrange basis functions and Lagrange interpolation. More...
 
class  LambdaMST2D
 Aim: Simplify creation of Lambda MST tangent estimator. More...
 
class  LambdaMST2DEstimator
 
class  LambdaMST3D
 Aim: Simplify creation of Lambda MST tangent estimator. More...
 
class  LambdaMST3DBy2D
 Aim: Simplify creation of Lambda MST tangent estimator. More...
 
class  LambdaMST3DBy2DEstimator
 
class  LambdaMST3DEstimator
 
class  LatticePolytope2D
 Aim: Represents a 2D polytope, i.e. a convex polygon, in the two-dimensional digital plane. The list of points must follow the clockwise ordering. More...
 
class  LatticeSetByIntervals
 Aim: More...
 
class  Lemniscate2D
 Aim: Model of the concept StarShaped represents a lemniscate. More...
 
class  LighterSternBrocot
 Aim: The Stern-Brocot tree is the tree of irreducible fractions. This class allows to construct it progressively and to navigate within fractions in O(1) time for most operations. It is well known that the structure of this tree is a coding of the continued fraction representation of fractions. More...
 
class  LightExplicitDigitalSurface
 Aim: A model of CDigitalSurfaceContainer which defines the digital surface as connected surfels. The shape is determined by a predicate telling whether a given surfel belongs or not to the shape boundary. The whole boundary is not precomputed nor stored. You may use an iterator to visit it. More...
 
class  LightImplicitDigitalSurface
 Aim: A model of CDigitalSurfaceContainer which defines the digital surface as the boundary of an implicitly define shape. The whole boundary is not precomputed nor stored. You may use an iterator to visit it. More...
 
class  LightSternBrocot
 Aim: The Stern-Brocot tree is the tree of irreducible fractions. This class allows to construct it progressively and to navigate within fractions in O(1) time for most operations. It is well known that the structure of this tree is a coding of the continued fraction representation of fractions. More...
 
struct  LinearAlgebra
 Aim: A utility class that contains methods to perform integral linear algebra. More...
 
struct  Linearizer
 Aim: Linearization and de-linearization interface for domains. More...
 
struct  Linearizer< HyperRectDomain< TSpace >, TStorageOrder >
 Aim: Linearization and de-linearization interface for HyperRectDomain. More...
 
class  LinearOperator
 Aim: LinearOperator represents discrete linear operator between discrete kforms in the DEC package. More...
 
class  LInfLocalDistance
 Aim: Class for the computation of the LInf-distance at some point p, from the available distance values of some points lying in the 1-neighborhood of p (ie. points at a L1-distance to p equal to 1). More...
 
class  LocalEstimatorFromSurfelFunctorAdapter
 Aim: this class adapts any local functor on digital surface element to define a local estimator. This class is model of CDigitalSurfaceLocalEstimator. More...
 
class  LOG2
 
class  LOG2< 1 >
 
class  LOG2< 2 >
 
struct  LongvolReader
 Aim: implements methods to read a "Longvol" file format (with DGtal::uint64_t value type). More...
 
struct  LongvolWriter
 Aim: Export a 3D Image using the Longvol formats (volumetric image with DGtal::uint64_t value type). More...
 
class  LpMetric
 Aim: implements l_p metrics. More...
 
struct  MapAssociativeCategory
 
class  MaximalSegmentSliceEstimation
 Aim: More...
 
class  MeaningfulScaleAnalysis
 Aim: This class implements different methods used to define the meaningful scale analysis as proposed in [65] . In particular, it uses the Profile class to represent a multi-scale profile and to compute a meaningful scale. It also permits to get a noise estimation from the given profile. More...
 
class  Measure
 Aim: Implements a simple measure computation (in the Lesbegue sens) of a set. In dimension 2, it corresponds to the area of the set, to the volume in dimension 3,... More...
 
class  MeasureOfStraightLines
 The aim of this class is to compute the measure in the Lebesgues sense of the set of straight lines associated to domains defined as polygons in the (a,b)-parameter space. This parameter space maps the line $ax-y+b=0$ to the point $(a,b)$. More...
 
class  MelkmanConvexHull
 Aim: This class implements the on-line algorithm of Melkman for the computation of the convex hull of a simple polygonal line (without self-intersection) [Melkman, 1987: [87]]. More...
 
class  MemoryException
 
class  Mesh
 Aim: This class is defined to represent a surface mesh through a set of vertices and faces. By using the default constructor, the mesh does not store any color information (it can be changed by setting the default constructor parameter saveFaceColor to 'true'). More...
 
class  MeshHelpers
 Aim: Static class that provides builder and converters between meshes. More...
 
struct  MeshReader
 Aim: Defined to import OFF and OFS surface mesh. It allows to import a Mesh object and takes into accouts the optional color faces. More...
 
class  MeshVoxelizer
 Aim: A class for computing the digitization of a triangle or a Mesh. More...
 
struct  MeshWriter
 Aim: Export a Mesh (Mesh object) in different format as OFF and OBJ). More...
 
class  MetricAdjacency
 Aim: Describes digital adjacencies in digital spaces that are defined with the 1-norm and the infinity-norm. More...
 
class  MLPLengthEstimator
 Aim: a model of CGlobalCurveEstimator that computes the length of a digital curve using its MLP (given by the FP) More...
 
class  ModuloComputer
 implements basic functions on modular arithmetic. More...
 
class  Morton
 Aim: Implements the binary Morton code construction in nD. More...
 
class  MostCenteredMaximalSegmentEstimator
 Aim: A model of CLocalCurveGeometricEstimator that assigns to each element of a (sub)range a quantity estimated from the most centered maximal segment passing through this element. More...
 
class  MPolynomial
 Aim: Represents a multivariate polynomial, i.e. an element of \( K[X_0, ..., X_{n-1}] \), where K is some ring or field. More...
 
class  MPolynomial< 0, TRing, TAlloc >
 Aim: Specialization of MPolynomial for degree 0. More...
 
class  MPolynomialDerivativeComputer
 
class  MPolynomialDerivativeComputer< 0, 0, Ring, Alloc >
 
class  MPolynomialDerivativeComputer< 0, n, Ring, Alloc >
 
class  MPolynomialDerivativeComputer< N, 0, Ring, Alloc >
 
class  MPolynomialEvaluator
 
class  MPolynomialEvaluator< 1, TRing, TAlloc, TX >
 
class  MPolynomialEvaluatorImpl
 
class  MPolynomialEvaluatorImpl< 1, TRing, TOwner, TAlloc, TX >
 
struct  MPolynomialGrammar
 
class  MPolynomialReader
 Aim: This class converts a string polynomial expression in a multivariate polynomial. More...
 
struct  MultimapAssociativeCategory
 
struct  MultipleAssociativeCategory
 
struct  MultisetAssociativeCategory
 
class  MultiStatistics
 Aim: This class stores a set of sample values for several variables and can then compute different statistics, like sample mean, sample variance, sample unbiased variance, etc. More...
 
class  Naive3DDSSComputer
 Aim: Dynamic recognition of a 3d-digital straight segment (DSS) More...
 
class  NaiveDSL
 Aim: This class is an alias of ArithmeticalDSS for naive DSL. It represents a naive digital straight line (DSL), ie. the set of digital points \( (x,y) \in \mathbb{Z}^2 \) such that \( \mu \leq ax - by < \mu + \omega \) with \( a,b,\mu,\omega \in \mathbb{Z} \), \( \gcd(a,b) = 1 \) and \( \omega = \max(|a|,|b|) \). Note that any DSL such that \( \omega = \max(|a|,|b|) \) is simply 8-connected. More...
 
class  NaiveDSS8
 Aim: This class represents a standard digital straight segment (DSS), ie. the sequence of simply 8-connected digital points contained in a naive digital straight line (DSL) between two points of it. This class is an alias of ArithmeticalDSS. More...
 
class  NaiveParametricCurveDigitizer3D
 Aim: Digitization of 3D parametric curves. This method produces, for good parameters step and k_next, a 26-connected digital curves obtained from a digitization process of 3D parametric curves. More...
 
struct  Negate
 
struct  Negate< TagFalse >
 
struct  Negate< TagTrue >
 
class  NeighborhoodConvexityAnalyzer
 Aim: A class that models a \( (2k+1)^d \) neighborhood and that provides services to analyse the convexity properties of a digital set within this neighborhood. More...
 
class  NGon2D
 Aim: Model of the concept StarShaped represents any regular k-gon in the plane. More...
 
struct  NormalCycleComputer
 Aim: Utility class to compute curvatures measures induced by (1) the normal cycle induced by a SurfaceMesh, (2) the standard Lipschitz-Killing invariant forms of area and curvatures. More...
 
struct  NormalCycleFormula
 Aim: A helper class that provides static methods to compute normal cycle formulas of curvatures. More...
 
class  NormalFromDCAEstimator
 
class  NormalVectorEstimatorLinearCellEmbedder
 Aim: model of cellular embedder for normal vector estimators on digital surface, (default constructible, copy constructible, assignable). More...
 
struct  NotContainerCategory
 
struct  NumberTraits
 Aim: The traits class for all models of Cinteger. More...
 
struct  NumberTraitsImpl
 Aim: The traits class for all models of Cinteger (implementation) More...
 
struct  NumberTraitsImpl< DGtal::BigInteger, Enable >
 Specialization of NumberTraitsImpl for DGtal::BigInteger. More...
 
struct  NumberTraitsImpl< T, typename std::enable_if< std::is_floating_point< T >::value >::type >
 Specialization of NumberTraitsImpl for fundamental floating-point types. More...
 
struct  NumberTraitsImpl< T, typename std::enable_if< std::is_integral< T >::value >::type >
 Specialization of NumberTraitsImpl for fundamental integer types. More...
 
class  Object
 Aim: An object (or digital object) represents a set in some digital space associated with a digital topology. More...
 
class  OneBalancedWordComputer
 Aim: More...
 
class  OneItemOutputIterator
 Aim: model of output iterator, ie incrementable and writable iterator, which only stores in a variable the last assigned item. More...
 
struct  OpInSTLContainers
 
struct  OpInSTLContainers< Container, std::reverse_iterator< typename Container::iterator > >
 
struct  OppositeDuality
 
struct  OppositeDuality< DUAL >
 
struct  OppositeDuality< PRIMAL >
 
class  OrderedAlphabet
 Aim: Describes an alphabet over an interval of (ascii) letters, where the lexicographic order can be changed (shifted, reversed, ...). Useful for the arithmetic minimum length polygon (AMLP). More...
 
struct  OrderedAssociativeCategory
 
class  OrderedLinearRegression
 Description of class 'OrderedLinearRegression'. More...
 
class  OutputIteratorAdapter
 Aim: Adapts an output iterator i with a unary functor f, both given at construction, so that the element pointed to by i is updated with a given value through f. More...
 
class  OwningOrAliasingPtr
 Aim: This class describes a smart pointer that is, given the constructor called by the user, either an alias pointer on existing data or an owning pointer on a copy. More...
 
struct  PairAssociativeCategory
 
class  ParallelStrip
 Aim: A parallel strip in the space is the intersection of two parallel half-planes such that each half-plane includes the other. More...
 
struct  Parameters
 
struct  ParameterValue
 
class  ParametricShapeArcLengthFunctor
 Aim: implements a functor that estimates the arc length of a paramtric curve. More...
 
class  ParametricShapeCurvatureFunctor
 Aim: implements a functor that computes the curvature at a given point of a parametric shape. More...
 
class  ParametricShapeTangentFunctor
 Aim: implements a functor that computes the tangent vector at a given point of a parametric shape. More...
 
class  ParDirCollapse
 Aim: Implements thinning algorithms in cubical complexes. The implementation supports any model of cubical complex, for instance a DGtal::CubicalComplex< KhalimskySpaceND< 3, int > >. Three approaches are provided. The first—ParDirCollapse—bases on directional collapse of free pairs of faces. Second—CollapseSurface—is an extension of ParDirCollapse such that faces of dimension one lower than the dimension of the complex are kept. The last approach —CollapseIsthmus—is also an extension of ParDirCollapse such that faces of dimension one lower than the complex are preserved when they do not contain free faces of dimension two lower than the complex. Paper: Chaussard, J. and Couprie, M., Surface Thinning in 3D Cubical Complexes, Combinatorial Image Analysis, (2009) More...
 
class  Pattern
 Aim: This class represents a pattern, i.e. the path between two consecutive upper leaning points on a digital straight line. More...
 
struct  PGMReader
 Aim: Import a 2D or 3D using the Netpbm formats (ASCII mode). More...
 
struct  PGMWriter
 Aim: Export a 2D and a 3D Image using the Netpbm PGM formats (ASCII mode). More...
 
class  PlaneProbingDigitalSurfaceLocalEstimator
 Aim: Adapt a plane-probing estimator on a digital surface to estimate normal vectors. More...
 
class  PlaneProbingHNeighborhood
 Aim: Represent a way to probe the H-neighborhood. More...
 
class  PlaneProbingNeighborhood
 Aim: A base virtual class that represents a way to probe a neighborhood, used in the plane probing based estimators, see DGtal::PlaneProbingTetrahedronEstimator or DGtal::PlaneProbingParallelepipedEstimator. More...
 
class  PlaneProbingParallelepipedEstimator
 Aim: More...
 
class  PlaneProbingR1Neighborhood
 Aim: Represent a way to probe the R-neighborhood, with the R1 optimization, see [103] for details. More...
 
class  PlaneProbingRNeighborhood
 Aim: Represent a way to probe the R-neighborhood. More...
 
class  PlaneProbingTetrahedronEstimator
 Aim: A class that locally estimates a normal on a digital set using only a predicate "does a point x belong to the digital set or not?". More...
 
struct  PointListReader
 Aim: Implements method to read a set of points represented in each line of a file. More...
 
class  PointVector
 Aim: Implements basic operations that will be used in Point and Vector classes. More...
 
class  PolygonalCalculus
 Implements differential operators on polygonal surfaces from [45]. More...
 
class  PolygonalSurface
 Aim: Represents a polygon mesh, i.e. a 2-dimensional combinatorial surface whose faces are (topologically at least) simple polygons. The topology is stored with a half-edge data structure. This object stored the positions of vertices in space. If you need further data attached to the surface, you may use property maps (see PolygonalSurface::makeVertexMap). More...
 
class  POW
 
class  POW< X, 0 >
 
class  POW< X, 1 >
 
class  PowerMap
 Aim: Implementation of the linear in time Power map construction. More...
 
struct  PPMReader
 Aim: Import a 2D or 3D using the Netpbm formats (ASCII mode). More...
 
struct  PPMWriter
 Aim: Export a 2D and a 3D Image using the Netpbm PPM formats (ASCII mode). More...
 
class  PreCellDirectionIterator
 This class is useful for looping on all "interesting" coordinates of a pre-cell. More...
 
class  PredicateFromOrientationFunctor2
 Aim: Small adapter to models of COrientationFunctor2. It is a model of concepts::CPointPredicate. It is also a ternary predicate on points, useful for basic geometric tasks such as convex hull computation. More...
 
class  Preimage2D
 Aim: Computes the preimage of the 2D Euclidean shapes crossing a sequence of n straigth segments in O(n), with the algorithm of O'Rourke (1981). More...
 
class  Profile
 Aim: This class can be used to represent a profile (PX, PY) defined from an input set of samples (Xi, Yi). For all sample (Xk, Yk) having the same value Xk, the associated value PY is computed (by default) by the mean of the values Yk. Note that other definitions can be used (MAX, MIN or MEDIAN). Internally each sample abscissa is an instance of DGtal::Statistic. More...
 
struct  promote_trait
 
struct  promote_trait< int32_t, int64_t >
 
struct  QuantifiedColorMap
 Aim: A modifier class that quantifies any colormap into a given number of colors. It is particularly useful when rendering colored objects, since for instance blender is very slow to load many different materials. More...
 
struct  QuickHull
 Aim: Implements the quickhull algorithm by Barber et al. [9], a famous arbitrary dimensional convex hull computation algorithm. It relies on dedicated geometric kernels for computing and comparing facet geometries. More...
 
struct  RandomAccessCategory
 
class  RandomColorMap
 Aim: access to random color from a gradientColorMap. More...
 
struct  RawReader
 Aim: Raw binary import of an Image. More...
 
struct  RawWriter
 Aim: Raw binary export of an Image. More...
 
struct  RayIntersectionPredicate
 This class implements various intersection predicates between a ray and a triangle, a quad or a surfel in dimension 3. More...
 
class  RealFFT< HyperRectDomain< TSpace >, T >
 
struct  ReducedMedialAxis
 Aim: Implementation of the separable medial axis extraction. More...
 
struct  RegularBinner
 Aim: Represents an elementary functor that partitions quantities into regular intervals, given a range [min,max] range and a number nb of intervals (each interval is called a bin). More...
 
class  RegularPointEmbedder
 Aim: A simple point embedder where grid steps are given for each axis. Note that the real point (0,...,0) is mapped onto the digital point (0,...,0). More...
 
class  ReverseDistanceTransformation
 Aim: Implementation of the linear in time reverse distance transformation for separable metrics. More...
 
class  ReverseIterator
 This class adapts any bidirectional iterator so that operator++ calls operator-- and vice versa. More...
 
class  RosenProffittLocalLengthEstimator
 Aim: Rosen-Proffitt Length Estimator. More...
 
struct  RowMajorStorage
 Tag (empty structure) specifying a row-major storage order. More...
 
class  SaturatedSegmentation
 Aim: Computes the saturated segmentation, that is the whole set of maximal segments within a range given by a pair of ConstIterators (maximal segments are segments that cannot be included in greater segments). More...
 
struct  SegmentComputerTraits
 Aim: Provides the category of the segment computer
{ForwardSegmentComputer,BidirectionalSegmentComputer, DynamicSegmentComputer, DynamicBidirectionalSegmentComputer}. More...
 
class  SeparableMetricAdapter
 Aim: Adapts any model of CMetric to construct a separable metric (model of CSeparableMetric). More...
 
struct  SequenceCategory
 
struct  SetAssociativeCategory
 
struct  SetFromImage
 Aim: Define utilities to convert a digital set into an image. More...
 
struct  SetMode
 Modifier class in a Board2D stream. Useful to choose your own mode for a given class. Realizes the concept CDrawableWithBoard2D. More...
 
struct  SetMode3D
 Modifier class in a Display3D stream. Useful to choose your own mode for a given class. Realizes the concept CDrawableWithDisplay3D. More...
 
struct  SetName3D
 
class  SetOfSurfels
 Aim: A model of CDigitalSurfaceContainer which defines the digital surface as connected surfels. The shape is determined by the set of surfels that composed the surface. The set of surfels is stored in this container. More...
 
struct  SetSelectCallback3D
 
class  SetValueIterator
 Aim: implements an output iterator, which is able to write values in an underlying image, by calling its setValue method. More...
 
class  Shapes
 Aim: A utility class for constructing different shapes (balls, diamonds, and others). More...
 
class  Shortcuts
 Aim: This class is used to simplify shape and surface creation. With it, you can create new shapes and surface with few lines of code. The drawback is that you use specific types or objects, which could lead to faster code or more compact data structures. More...
 
class  ShortcutsGeometry
 Aim: This class is used to simplify shape and surface creation. With it, you can create new shapes and surface in a few lines. The drawback is that you use specific types or objects, which could lead to faster code or more compact data structures. More...
 
class  ShroudsRegularization
 Aim: Implements the Shrouds Regularization algorithm of Nielson et al [92]. More...
 
class  Signal
 Aim: Represents a discrete signal, periodic or not. The signal can be passed by value since it is only cloned when modified. More...
 
struct  SignalData
 
struct  SignedKhalimskyCell
 Represents a signed cell in a cellular grid space by its Khalimsky coordinates and a boolean value. More...
 
struct  SignedKhalimskyPreCell
 Represents a signed cell in an unbounded cellular grid space by its Khalimsky coordinates and a boolean value. More...
 
class  Simple2x2DetComputer
 Aim: Small class useful to compute the determinant of a 2x2 matrix from its four coefficients, ie. \( \begin{vmatrix} a & x \\ b & y \end{vmatrix} \). More...
 
struct  SimpleAssociativeCategory
 
class  SimpleConstRange
 Aim: model of CConstRange that adapts any range of elements bounded by two iterators [itb, ite) and provides services to (circularly)iterate over it (in a read-only manner). More...
 
class  SimpleDistanceColorMap
 Aim: simple blue to red colormap for distance information for instance. More...
 
class  SimpleIncremental2x2DetComputer
 Aim: Small class useful to compute, in an incremental way, the determinant of a 2x2 matrix from its four coefficients, ie. \( \begin{vmatrix} a & x \\ b & y \end{vmatrix} \). More...
 
class  SimpleLinearRegression
 Description of class 'SimpleLinearRegression'. More...
 
class  SimpleMatrix
 Aim: implements basic MxN Matrix services (M,N>=1). More...
 
struct  SimpleMatrixSpecializations
 Aim: Implement internal matrix services for specialized matrix size. More...
 
struct  SimpleMatrixSpecializations< TMatrix, 1, 1 >
 Aim: More...
 
struct  SimpleMatrixSpecializations< TMatrix, 2, 2 >
 Aim: More...
 
struct  SimpleMatrixSpecializations< TMatrix, 3, 3 >
 Aim: More...
 
class  SimpleRandomAccessConstRangeFromPoint
 Aim: model of CConstBidirectionalRangeFromPoint that adapts any range of elements bounded by two iterators [itb, ite) and provides services to (circularly)iterate over it (in a read-only manner). More...
 
class  SimpleRandomAccessRangeFromPoint
 Aim: model of CBidirectionalRangeFromPoint that adapts any range of elements bounded by two iterators [itb, ite) and provides services to (circularly)iterate over it (in a read-only manner). More...
 
class  SpaceND
 
class  SpatialCubicalSubdivision
 Aim: This class is a data structure that subdivides a rectangular domains into cubical domains of size \( r^n \) in order to store points into different bins (each cubical domain is a bin, characterized by one coordinate). This data structure may be used for proximity queries, generally to get the points at distance r from a given point. More...
 
class  SpeedExtrapolator
 Aim: Class for the computation of the a speed value at some point p, from the available distance values and speed values of some points lying in the 1-neighborhood of p (ie. points at a L1-distance to p equal to 1) in order to extrapolate a speed field in the normal direction to the interface. More...
 
class  SphericalAccumulator
 Aim: implements an accumulator (as histograms for 1D scalars) adapted to spherical point samples. More...
 
class  SphericalTriangle
 Aim: Represent a triangle drawn onto a sphere of radius 1. More...
 
struct  Splitter
 
class  StabbingCircleComputer
 Aim: On-line recognition of a digital circular arcs (DCA) defined as a sequence of connected grid edges such that there is at least one (Euclidean) circle that separates the centers of the two incident pixels of each grid edge. More...
 
class  StabbingLineComputer
 Aim: On-line recognition of a digital straight segment (DSS) defined as a sequence of connected grid edges such that there is at least one straight line that separates the centers of the two incident pixels of each grid edge. More...
 
class  StandardDSL
 Aim: This class is an alias of ArithmeticalDSS for standard DSL. It represents a standard digital straight line (DSL), ie. the set of digital points \( (x,y) \in \mathbb{Z}^2 \) such that \( \mu \leq ax - by < \mu + \omega \) with \( a,b,\mu,\omega \in \mathbb{Z} \), \( \gcd(a,b) = 1 \) and \( \omega = |a| + |b| \). Note that any DSL such that \( \omega = |a| + |b| \) is simply 4-connected. More...
 
class  StandardDSLQ0
 Aim: Represents a digital straight line with slope in the first quadrant (Q0: x >= 0, y >= 0 ). More...
 
class  StandardDSS4
 Aim: This class represents a standard digital straight segment (DSS), ie. the sequence of simply 4-connected digital points contained in a standard digital straight line (DSL) between two points of it. This class is an alias of ArithmeticalDSS. More...
 
class  StandardDSS6Computer
 Aim: Dynamic recognition of a 3d-digital straight segment (DSS) More...
 
class  StarShaped2D
 
class  StarShaped3D
 
class  Statistic
 Aim: This class processes a set of sample values for one variable and can then compute different statistics, like sample mean, sample variance, sample unbiased variance, etc. It is minimalistic for space efficiency. For multiple variables, sample storage and others, see Statistics class. More...
 
class  STBReader
 Aim: Image reader using the stb_image.h header only code. More...
 
class  STBWriter
 Aim: Image Writer using the stb_image.h header only code. More...
 
struct  StdMapRebinder
 
class  SternBrocot
 Aim: The Stern-Brocot tree is the tree of irreducible fractions. This class allows to construct it progressively and to navigate within fractions in O(1) time for most operations. It is well known that the structure of this tree is a coding of the continued fraction representation of fractions. More...
 
class  STLMapToVertexMapAdapter
 Aim: This class adapts any map of the STL to match with the CVertexMap concept. More...
 
class  StraightLineFrom2Points
 Aim: Represents a straight line uniquely defined by two 2D points and that is able to return for any given 2D point its signed distance to itself. More...
 
struct  Style2DFactory
 
struct  SurfaceMesh
 Aim: Represents an embedded mesh as faces and a list of vertices. Vertices may be shared among faces but no specific topology is required. However, you also have methods to navigate between neighbor vertices, faces, etc. The mesh can be equipped with normals at faces and/or vertices. More...
 
struct  SurfaceMeshHelper
 Aim: An helper class for building classical meshes. More...
 
struct  SurfaceMeshMeasure
 Aim: stores an arbitrary measure on a SurfaceMesh object. The measure can be spread onto its vertices, edges, or faces. This class is notably used by CorrectedNormalCurrentComputer and NormalCycleComputer to store the curvature measures, which may be located on different cells. The measure can be scalar or any other summable type (see template parameter TValue). More...
 
struct  SurfaceMeshReader
 Aim: An helper class for reading mesh files (Wavefront OBJ at this point) and creating a SurfaceMesh. More...
 
struct  SurfaceMeshWriter
 Aim: An helper class for writing mesh file formats (Waverfront OBJ at this point) and creating a SurfaceMesh. More...
 
class  Surfaces
 Aim: A utility class for constructing surfaces (i.e. set of (n-1)-cells). More...
 
class  SurfelAdjacency
 Aim: Represent adjacencies between surfel elements, telling if it follows an interior to exterior ordering or exterior to interior ordering. It allows tracking of boundaries and of surfaces. More...
 
class  SurfelNeighborhood
 Aim: This helper class is useful to compute the neighboring surfels of a given surfel, especially over a digital surface or over an object boundary. Two signed surfels are incident if they share a common n-2 cell. This class uses a SurfelAdjacency so as to determine adjacent surfels (either looking for them from interior to exterior or inversely). More...
 
class  SymmetricConvexExpander
 Aim: SymmetricConvexExpander computes symmetric fully convex subsets of a given digital set. More...
 
struct  TableReader
 Aim: Implements method to read a set of numbers represented in each line of a file. More...
 
struct  TagFalse
 
struct  TagTrue
 
struct  TagUnknown
 
class  TangencyComputer
 Aim: A class that computes tangency to a given digital set. It provides services to compute all the cotangent points to a given point, or to compute shortest paths. More...
 
class  TangentAngleFromDSSEstimator
 
struct  TangentFromBinomialConvolverFunctor
 Aim: This class is a functor for getting the tangent vector of a binomial convolver. More...
 
class  TangentFromDCAEstimator
 
class  TangentFromDSS2DFunctor
 
class  TangentFromDSS3DBy2DFunctor
 
class  TangentFromDSS3DFunctor
 
class  TangentFromDSSEstimator
 
class  TangentVectorFromDSSEstimator
 
class  TickedColorMap
 Aim: This class adapts any colormap to add "ticks" in the colormap colors. More...
 
class  TiledImage
 Aim: implements a tiled image from a "bigger/original" one from an ImageFactory. More...
 
class  TiledImageBidirectionalConstRangeFromPoint
 Aim: model of CConstBidirectionalRangeFromPoint that adapts a TiledImage range of elements bounded by two iterators [itb, ite) and provides services to (circularly)iterate over it (in a read-only manner). More...
 
class  TiledImageBidirectionalRangeFromPoint
 Aim: model of CBidirectionalRangeFromPoint that adapts a TiledImage range of elements bounded by two iterators [itb, ite) and provides services to (circularly)iterate over it. More...
 
class  TimeStampMemoizer
 Aim: A generic class to store a given maximum number of pairs (key, value). The class tends to memorize pairs which are accessed more frequently than others. It is thus a memoizer, which is used to memorize the result of costly computations. The memoization principle is simple: a timestamp is attached to a pair (key,value). Each time a query is made, if the item was memoized, the result is returned while the timestamp of the item is updated. User can also add or update a value in the memoizer, which updates also its timestamp. After adding a pair (key,value), if the maximal number of items is reached, at least the oldest half (or a fraction) of the items are deleted, leaving space for storing new pairs (key,value). More...
 
struct  ToDGtalCategory
 Aim: Provides the DGtal category matching C
{ForwardCategory,BidirectionalCategory,RandomAccessCategory}. More...
 
struct  ToDGtalCategory< boost::bidirectional_traversal_tag >
 
struct  ToDGtalCategory< boost::forward_traversal_tag >
 
struct  ToDGtalCategory< boost::iterators::detail::iterator_category_with_traversal< std::input_iterator_tag, boost::bidirectional_traversal_tag > >
 
struct  ToDGtalCategory< boost::iterators::detail::iterator_category_with_traversal< std::input_iterator_tag, boost::forward_traversal_tag > >
 
struct  ToDGtalCategory< boost::iterators::detail::iterator_category_with_traversal< std::input_iterator_tag, boost::random_access_traversal_tag > >
 
struct  ToDGtalCategory< boost::random_access_traversal_tag >
 
struct  ToDGtalCategory< std::bidirectional_iterator_tag >
 
struct  ToDGtalCategory< std::forward_iterator_tag >
 
struct  ToDGtalCategory< std::random_access_iterator_tag >
 
class  Trace
 implementation of basic methods to trace out messages with indentation levels. More...
 
class  TraceWriter
 Virtual Class to implement trace writers. More...
 
class  TraceWriterFile
 
class  TraceWriterTerm
 Implements trace prefix for color terminals. More...
 
struct  TransformedPrism
 class to modify the position and scale to construct better illustration mode. More...
 
struct  Translate2DDomain
 class to modify the data of an given image and also the possibility to translate it (optional). More...
 
class  TriangulatedSurface
 Aim: Represents a triangulated surface. The topology is stored with a half-edge data structure. This object stored the positions of vertices in space. If you need further data attached to the surface, you may use property maps (see TriangulatedSurface::makeVertexMap). More...
 
class  TrueDigitalSurfaceLocalEstimator
 Aim: An estimator on digital surfaces that returns the reference local geometric quantity. This is used for comparing estimators. More...
 
class  TrueGlobalEstimatorOnPoints
 Aim: Computes the true quantity associated to a parametric shape or to a subrange associated to a parametric shape. More...
 
class  TrueLocalEstimatorOnPoints
 Aim: Computes the true quantity to each element of a range associated to a parametric shape. More...
 
class  TwoStepLocalLengthEstimator
 Aim: a simple model of CGlobalCurveEstimator that compute the length of a curve using the l_1 metric (just add 1/h for every step). More...
 
class  UmbrellaComputer
 Aim: Useful for computing umbrellas on 'DigitalSurface's, ie set of n-1 cells around a n-3 cell. More...
 
struct  UniqueAssociativeCategory
 
struct  UnorderedAssociativeCategory
 
struct  UnorderedMapAssociativeCategory
 
struct  UnorderedMultimapAssociativeCategory
 
struct  UnorderedMultisetAssociativeCategory
 
struct  UnorderedSetAssociativeCategory
 
struct  UnorderedSetByBlock
 
struct  Update2DDomainPosition
 class to modify the position and orientation of an 2D domain. More...
 
struct  UpdateImage3DEmbedding
 class to modify the 3d embedding of the image (useful to display not only 2D slice images). The embdding can be explicitly given from the 3D position of the four bounding points. More...
 
struct  UpdateImageData
 class to modify the data of an given image and also the possibility to translate it (optional). More...
 
struct  UpdateImagePosition
 class to modify the position and orientation of an textured 2D image. More...
 
struct  UpdateLastImagePosition
 class to modify the position and orientation of an textured 2D image. More...
 
class  VCMDigitalSurfaceLocalEstimator
 Aim: This class adapts a VoronoiCovarianceMeasureOnDigitalSurface to be a model of CDigitalSurfaceLocalEstimator. It uses the Voronoi Covariance Measure to estimate geometric quantities. The type TVCMGeometricFunctor specifies which is the estimated quantity. For instance, VCMGeometricFunctors::VCMNormalVectorFunctor returns the estimated VCM surface outward normal for given surfels. More...
 
class  VectorField
 Aim: VectorField represents a discrete vector field in the dec package. Vector field values are attached to 0-cells with the same duality as the vector field. More...
 
class  VectorsInHeat
 This class implements [111] on polygonal surfaces (using Discrete differential calculus on polygonal surfaces). More...
 
class  Viewer3D
 
struct  Viewer3DFactory
 Factory for GPL Viewer3D: More...
 
struct  VolReader
 Aim: implements methods to read a "Vol" file format. More...
 
struct  VolWriter
 Aim: Export a 3D Image using the Vol formats. More...
 
class  VoronoiCovarianceMeasure
 Aim: This class precomputes the Voronoi Covariance Measure of a set of points. It can compute the covariance measure of an arbitrary function with given support. More...
 
class  VoronoiCovarianceMeasureOnDigitalSurface
 Aim: This class specializes the Voronoi covariance measure for digital surfaces. It adds notably the embedding of surface elements, the diagonalisation of the VCM, and the orientation of the first VCM eigenvector toward the interior of the surface. More...
 
class  VoronoiMap
 Aim: Implementation of the linear in time Voronoi map construction. More...
 
class  VoronoiMapComplete
 Aim: Implementation of the linear in time Voronoi map construction. More...
 
class  VoxelComplex
 This class represents a voxel complex living in some Khalimsky space. Voxel complexes are derived from. More...
 
class  Warning_promote_trait_not_specialized_for_this_case
 
struct  WindingNumbersShape
 Aim: model of a CEuclideanOrientedShape from an implicit function from an oriented point cloud. The implicit function is given by the generalized winding number of the oriented point cloud [10] . We use the libIGL implementation. More...
 
class  Xe_kComputer
 
class  Xe_kComputer< 0, Ring, Alloc >
 

Typedefs

typedef boost::uint8_t uint8_t
 unsigned 8-bit integer.
 
typedef boost::uint16_t uint16_t
 unsigned 16-bit integer.
 
typedef boost::uint32_t uint32_t
 unsigned 32-bit integer.
 
typedef boost::uint64_t uint64_t
 unsigned 64-bit integer.
 
typedef boost::int8_t int8_t
 signed 8-bit integer.

 
typedef boost::int16_t int16_t
 signed 16-bit integer.
 
typedef boost::int32_t int32_t
 signed 32-bit integer.
 
typedef boost::int64_t int64_t
 signed 94-bit integer.
 
typedef mpz_class BigInteger
 Multi-precision integer with GMP implementation.
 
typedef DGtal::uint32_t Dimension
 
typedef unsigned int Order
 Aim: Order is used as template parameter for DEC classes.
 
template<typename TIterator , typename TInteger = typename IteratorCirculatorTraits<TIterator>::Value::Coordinate>
using StandardDSS4Computer = ArithmeticalDSSComputer<TIterator, TInteger, 4>
 Aim: This is an alias to ArithmeticalDSS that is devoted to the dynamic recognition of standard and simply 4-connected digital straight segments (DSS) along any sequence of digital points.
 
template<typename TIterator , typename TInteger = typename IteratorCirculatorTraits<TIterator>::Value::Coordinate>
using NaiveDSS8Computer = ArithmeticalDSSComputer<TIterator, TInteger, 8>
 Aim: This is an alias to ArithmeticalDSS that is devoted to the dynamic recognition of naive and simply 8-connected digital straight segments (DSS) along any sequence of digital points.
 
template<typename T , typename U >
using ArithmeticConversionType = typename ArithmeticConversionTraits<T, U>::type
 Result type of arithmetic binary operators between two given types.
 
using NeighborhoodConfiguration = uint32_t
 

Enumerations

enum  Orientation { INSIDE = 0 , ON = 1 , OUTSIDE = 2 }
 
enum  Closest { ClosestFIRST = 0 , ClosestSECOND = 1 , ClosestBOTH = 2 }
 
enum  Duality { PRIMAL = 0 , DUAL = 1 }
 Aim: Duality enumerator tells if templated object lives in primal or dual space. Used as template parameter for DEC classes. More...
 
enum class  ProbingMode { H , R , R1 }
 
enum  Surfel2PointEmbedding { Pointels = 0 , InnerSpel = 1 , OuterSpel = 2 }
 Possible embeddings for surfel as point(s) More...
 
enum  ImageIterability { HIGH_ITER_IMAGE = 0 , LOW_ITER_I = 1 }
 
enum  ImageBelongTestability { HIGH_BEL_I = 0 , LOW_BEL_I = 2 }
 
enum  ImageSpecificContainer { NORMAL_CONTAINER_I = 0 , VTKIMAGEDATA_CONTAINER_I = 4 , ITKIMAGEDATA_CONTAINER_I = 5 }
 
enum  DomainDrawMode { GRID = 0 , PAVING = 1 }
 
enum  ColorGradientPreset {
  CMAP_CUSTOM = 0 , CMAP_GRAYSCALE , CMAP_SPRING , CMAP_SUMMER ,
  CMAP_AUTUMN , CMAP_WINTER , CMAP_COOL , CMAP_COPPER ,
  CMAP_HOT , CMAP_JET , CMAP_VIRIDIS
}
 
enum  BoundEnum { BOUNDED = 0 , UNBOUNDED = 1 , BOUND_UNKNOWN = 2 }
 Bounding type of a number. More...
 
enum  SignEnum { SIGNED = 0 , UNSIGNED = 1 , SIGN_UNKNOWN = 2 }
 Sign type of a number. More...
 
enum  DigitalSetSize { SMALL_DS = 0 , MEDIUM_DS = 1 , BIG_DS = 2 , WHOLE_DS = 3 }
 
enum  DigitalSetVariability { LOW_VAR_DS = 0 , HIGH_VAR_DS = 4 }
 
enum  DigitalSetIterability { LOW_ITER_DS = 0 , HIGH_ITER_DS = 8 }
 
enum  DigitalSetBelongTestability { LOW_BEL_DS = 0 , HIGH_BEL_DS = 16 }
 
enum  DigitalTopologyProperties { UNKNOWN_DT = 0 , NOT_JORDAN_DT = 1 , JORDAN_DT = 2 }
 
enum  Connectedness { DISCONNECTED = 0 , CONNECTED = 1 , UNKNOWN = 2 }
 

Functions

template<typename TSpace >
std::ostream & operator<< (std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
 
template<typename TInteger >
std::ostream & operator<< (std::ostream &out, const IntegerComputer< TInteger > &object)
 
template<typename TSpace , typename TSequence >
std::ostream & operator<< (std::ostream &out, const LatticePolytope2D< TSpace, TSequence > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const ModuloComputer< T > &object)
 
template<typename TFraction >
std::ostream & operator<< (std::ostream &out, const Pattern< TFraction > &object)
 
template<typename TFraction >
std::ostream & operator<< (std::ostream &out, const StandardDSLQ0< TFraction > &object)
 
void assert_failed (const std::string &expr, const std::string &function, const std::string &file, long int line)
 
void assert_failed_message (const std::string &expr, const std::string &message, const std::string &function, const std::string &file, long int line)
 
void fatal_error_failed (const std::string &expr, const std::string &function, const std::string &file, long int line)
 
void fatal_error_failed_message (const std::string &expr, const std::string &message, const std::string &function, const std::string &file, long int line)
 
template<typename TSequence >
std::ostream & operator<< (std::ostream &out, const BackInsertionSequenceToStackAdapter< TSequence > &object)
 
template<typename TSequence >
BackInsertionSequenceToStackAdapter< TSequence > backStack (TSequence &aSequence)
 
template<typename TIterator >
Circulator< TIterator > operator+ (typename IteratorCirculatorTraits< TIterator >::Difference d, Circulator< TIterator > &object)
 
std::ostream & operator<< (std::ostream &out, const Clock &object)
 
Trace trace (traceWriterTerm)
 
template<typename TIterator , typename TFunctor , typename TReturnType >
std::ostream & operator<< (std::ostream &out, const ConstRangeAdapter< TIterator, TFunctor, TReturnType > &object)
 
template<typename A , typename B >
std::ostream & operator<< (std::ostream &out, const std::pair< A, B > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const CountedConstPtrOrConstPtr< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const CountedPtr< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const CountedPtrOrPtr< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const CowPtr< T > &object)
 
template<typename TSequence >
std::ostream & operator<< (std::ostream &out, const FrontInsertionSequenceToStackAdapter< TSequence > &object)
 
template<typename TSequence >
FrontInsertionSequenceToStackAdapter< TSequence > frontStack (TSequence &aSequence)
 
template<typename TValue , unsigned int N, unsigned int M>
std::ostream & operator<< (std::ostream &out, const IndexedListWithBlocks< TValue, N, M > &object)
 
template<typename TSequence , typename TRank >
std::ostream & operator<< (std::ostream &out, const InputIteratorWithRankOnSequence< TSequence, TRank > &object)
 
template<typename IC >
bool isEmpty (const IC &itb, const IC &ite)
 
template<typename IC >
bool isNotEmpty (const IC &itb, const IC &ite)
 
template<typename IC >
void advanceIterator (IC &ic, typename IteratorCirculatorTraits< IC >::Difference n)
 
template<typename IC >
IteratorCirculatorTraits< IC >::Difference rangeSize (const IC &itb, const IC &ite)
 
template<typename IC >
IteratorCirculatorTraits< IC >::Difference subRangeSize (const IC &itb, const IC &ite)
 
template<typename IC >
IC rangeMiddle (const IC &itb, const IC &ite)
 
template<typename IC >
IC subRangeMiddle (const IC &itb, const IC &ite)
 
template<typename TData , unsigned int L, typename TWord , unsigned int N, unsigned int M>
std::ostream & operator<< (std::ostream &out, const LabelledMap< TData, L, TWord, N, M > &object)
 
template<unsigned int L, typename TWord >
std::ostream & operator<< (std::ostream &out, const Labels< L, TWord > &object)
 
std::ostream & operator<< (std::ostream &out, const OrderedAlphabet &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const OwningOrAliasingPtr< T > &object)
 
template<typename TKey , typename TValue >
std::ostream & operator<< (std::ostream &out, const TimeStampMemoizer< TKey, TValue > &object)
 
std::ostream & operator<< (std::ostream &out, const Trace &object)
 
std::ostream & operator<< (std::ostream &out, const TraceWriter &object)
 
std::ostream & operator<< (std::ostream &out, const TraceWriterFile &object)
 
std::ostream & operator<< (std::ostream &out, const TraceWriterTerm &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const ATSolver2D< T > &object)
 
template<Dimension dim, typename TInteger >
size_t hash_value (const KhalimskyCell< dim, TInteger > &cell)
 
template<Dimension dimEmbedded, Dimension dimAmbient, typename TLinearAlgebraBackend , typename TInteger >
std::ostream & operator<< (std::ostream &out, const DiscreteExteriorCalculus< dimEmbedded, dimAmbient, TLinearAlgebraBackend, TInteger > &object)
 
template<typename C , typename S , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
std::ostream & operator<< (std::ostream &out, const DiscreteExteriorCalculusSolver< C, S, order_in, duality_in, order_out, duality_out > &object)
 
std::ostream & operator<< (std::ostream &out, const Duality &object)
 
template<typename Calculus , Order order, Duality duality>
std::ostream & operator<< (std::ostream &out, const KForm< Calculus, order, duality > &object)
 
template<typename Calculus , Order order, Duality duality>
KForm< Calculus, order, duality > operator+ (const KForm< Calculus, order, duality > &form_a, const KForm< Calculus, order, duality > &form_b)
 
template<typename Calculus , Order order, Duality duality>
KForm< Calculus, order, duality > operator- (const KForm< Calculus, order, duality > &form_a, const KForm< Calculus, order, duality > &form_b)
 
template<typename Calculus , Order order, Duality duality>
KForm< Calculus, order, duality > operator* (const typename Calculus::Scalar &scalar, const KForm< Calculus, order, duality > &form)
 
template<typename Calculus , Order order, Duality duality>
KForm< Calculus, order, duality > operator- (const KForm< Calculus, order, duality > &form)
 
template<typename Calculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
std::ostream & operator<< (std::ostream &out, const LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > &object)
 
template<typename Calculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > operator+ (const LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > &linear_operator_a, const LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > &linear_operator_b)
 
template<typename Calculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > operator- (const LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > &linear_operator_a, const LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > &linear_operator_b)
 
template<typename Calculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > operator* (const typename Calculus::Scalar &scalar, const LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > &linear_operator)
 
template<typename Calculus , Order order_in, Duality duality_in, Order order_fold, Duality duality_fold, Order order_out, Duality duality_out>
LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > operator* (const LinearOperator< Calculus, order_fold, duality_fold, order_out, duality_out > &operator_left, const LinearOperator< Calculus, order_in, duality_in, order_fold, duality_fold > &operator_right)
 
template<typename Calculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
KForm< Calculus, order_out, duality_out > operator* (const LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > &linear_operator, const KForm< Calculus, order_in, duality_in > &input_form)
 
template<typename Calculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > operator- (const LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > &linear_operator)
 
template<typename TP , typename TV >
std::ostream & operator<< (std::ostream &out, const PolygonalCalculus< TP, TV > &object)
 
template<typename Calculus , Duality duality>
std::ostream & operator<< (std::ostream &out, const VectorField< Calculus, duality > &object)
 
template<typename Calculus , Duality duality>
VectorField< Calculus, duality > operator+ (const VectorField< Calculus, duality > &vector_field_a, const VectorField< Calculus, duality > &vector_field_b)
 
template<typename Calculus , Duality duality>
VectorField< Calculus, duality > operator- (const VectorField< Calculus, duality > &vector_field_a, const VectorField< Calculus, duality > &vector_field_b)
 
template<typename Calculus , Duality duality>
VectorField< Calculus, duality > operator* (const typename Calculus::Scalar &scalar, const VectorField< Calculus, duality > &vector_field)
 
template<typename Calculus , Duality duality>
VectorField< Calculus, duality > operator- (const VectorField< Calculus, duality > &vector_field)
 
template<typename TInputPoint , typename TConstIterator >
std::ostream & operator<< (std::ostream &out, const AlphaThickSegmentComputer< TInputPoint, TConstIterator > &object)
 
template<typename TCoordinate , typename TInteger , unsigned short adjacency>
std::ostream & operator<< (std::ostream &out, const ArithmeticalDSL< TCoordinate, TInteger, adjacency > &object)
 
template<typename TCoordinate , typename TInteger , unsigned short adjacency>
std::ostream & operator<< (std::ostream &out, const ArithmeticalDSS< TCoordinate, TInteger, adjacency > &object)
 
template<typename TIterator , typename TInteger , unsigned short adjacency>
std::ostream & operator<< (std::ostream &out, const ArithmeticalDSSComputer< TIterator, TInteger, adjacency > &object)
 
template<typename TConstIteratorOnPoints , typename TValue >
std::ostream & operator<< (std::ostream &out, const BinomialConvolver< TConstIteratorOnPoints, TValue > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const BLUELocalLengthEstimator< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const DSSLengthEstimator< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const FPLengthEstimator< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const L1LengthEstimator< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const MLPLengthEstimator< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const RosenProffittLocalLengthEstimator< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const TwoStepLocalLengthEstimator< T > &object)
 
template<typename TIterator , typename TInteger , int connectivity>
std::ostream & operator<< (std::ostream &out, const FP< TIterator, TInteger, connectivity > &object)
 
template<typename TIterator , typename TInteger >
std::ostream & operator<< (std::ostream &out, const FrechetShortcut< TIterator, TInteger > &object)
 
template<typename TInteger >
std::ostream & operator<< (std::ostream &out, const FreemanChain< TInteger > &object)
 
template<typename SegmentComputer >
std::ostream & operator<< (std::ostream &out, const GreedySegmentation< SegmentComputer > &object)
 
template<typename TKSpace >
std::ostream & operator<< (std::ostream &out, const GridCurve< TKSpace > &object)
 
template<typename TConstIterator , typename TInteger >
std::ostream & operator<< (std::ostream &out, const OneBalancedWordComputer< TConstIterator, TInteger > &object)
 
template<typename TCurve , typename TTransfromation >
std::ostream & operator<< (std::ostream &out, const DecoratorParametricCurveTransformation< TCurve, TTransfromation > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const EllipticHelix< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Knot_3_1< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Knot_3_2< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Knot_4_1< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Knot_4_3< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Knot_5_1< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Knot_5_2< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Knot_6_2< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Knot_7_4< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const NaiveParametricCurveDigitizer3D< T > &object)
 
template<typename SegmentComputer >
std::ostream & operator<< (std::ostream &out, const SaturatedSegmentation< SegmentComputer > &object)
 
template<typename IC >
IC getMiddleIterator (const IC &itb, const IC &ite, RandomAccessCategory)
 
template<typename IC >
IC getMiddleIterator (const IC &itb, const IC &ite, BidirectionalCategory)
 
template<typename IC >
IC getMiddleIterator (const IC &itb, const IC &ite, ForwardCategory)
 
template<typename IC >
IC getMiddleIterator (const IC &itb, const IC &ite)
 
template<typename SC >
void maximalExtension (SC &s, const typename SC::ConstIterator &end, IteratorType)
 
template<typename SC >
void maximalExtension (SC &s, const typename SC::ConstIterator &, CirculatorType)
 
template<typename SC >
void maximalExtension (SC &s, const typename SC::ConstIterator &end)
 
template<typename SC >
void oppositeEndMaximalExtension (SC &s, const typename SC::ConstIterator &begin, IteratorType)
 
template<typename SC >
void oppositeEndMaximalExtension (SC &s, const typename SC::ConstIterator &begin, CirculatorType)
 
template<typename SC >
void oppositeEndMaximalExtension (SC &s, const typename SC::ConstIterator &begin)
 
template<typename SC >
bool maximalSymmetricExtension (SC &s, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, IteratorType)
 
template<typename SC >
bool maximalSymmetricExtension (SC &s, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, CirculatorType)
 
template<typename SC >
bool maximalSymmetricExtension (SC &s, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end)
 
template<typename SC >
void maximalRetraction (SC &s, const typename SC::ConstIterator &end)
 
template<typename SC >
void oppositeEndMaximalRetraction (SC &s, const typename SC::ConstIterator &begin)
 
template<typename SC >
void longestSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &end, IteratorType)
 
template<typename SC >
void longestSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &end, CirculatorType)
 
template<typename SC >
void longestSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &end)
 
template<typename SC >
void firstMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::ForwardSegmentComputer)
 
template<typename SC >
void firstMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::BidirectionalSegmentComputer)
 
template<typename SC >
void firstMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::DynamicSegmentComputer)
 
template<typename SC >
void firstMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::DynamicBidirectionalSegmentComputer)
 
template<typename SC >
void firstMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end)
 
template<typename SC >
void mostCenteredMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::ForwardSegmentComputer)
 
template<typename SC >
void mostCenteredMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::BidirectionalSegmentComputer)
 
template<typename SC >
void mostCenteredMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::DynamicSegmentComputer)
 
template<typename SC >
void mostCenteredMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::DynamicBidirectionalSegmentComputer)
 
template<typename SC >
void mostCenteredMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end)
 
template<typename SC >
void lastMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::ForwardSegmentComputer)
 
template<typename SC >
void lastMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, BidirectionalSegmentComputer)
 
template<typename SC >
void lastMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::DynamicSegmentComputer)
 
template<typename SC >
void lastMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::DynamicBidirectionalSegmentComputer)
 
template<typename SC >
void lastMaximalSegment (SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end)
 
template<typename SC >
void nextMaximalSegment (SC &s, const typename SC::ConstIterator &end, DGtal::ForwardSegmentComputer)
 
template<typename SC >
void nextMaximalSegment (SC &s, const typename SC::ConstIterator &end, DGtal::BidirectionalSegmentComputer)
 
template<typename SC >
void nextMaximalSegment (SC &s, const typename SC::ConstIterator &end, DGtal::DynamicSegmentComputer)
 
template<typename SC >
void nextMaximalSegment (SC &s, const typename SC::ConstIterator &end, DGtal::DynamicBidirectionalSegmentComputer)
 
template<typename SC >
void nextMaximalSegment (SC &s, const typename SC::ConstIterator &end)
 
template<typename SC >
void previousMaximalSegment (SC &s, const typename SC::ConstIterator &begin, DGtal::ForwardSegmentComputer)
 
template<typename SC >
void previousMaximalSegment (SC &s, const typename SC::ConstIterator &begin, DGtal::BidirectionalSegmentComputer)
 
template<typename SC >
void previousMaximalSegment (SC &s, const typename SC::ConstIterator &begin, DGtal::DynamicSegmentComputer)
 
template<typename SC >
void previousMaximalSegment (SC &s, const typename SC::ConstIterator &end, DGtal::DynamicBidirectionalSegmentComputer)
 
template<typename SC >
void previousMaximalSegment (SC &s, const typename SC::ConstIterator &begin)
 
template<typename TConstIterator >
std::ostream & operator<< (std::ostream &out, const StabbingCircleComputer< TConstIterator > &object)
 
template<typename TConstIterator >
std::ostream & operator<< (std::ostream &out, const StabbingLineComputer< TConstIterator > &object)
 
template<typename TIterator , typename TInteger , int connectivity>
std::ostream & operator<< (std::ostream &out, const StandardDSS6Computer< TIterator, TInteger, connectivity > &object)
 
std::ostream & operator<< (std::ostream &out, const ContourHelper &object)
 
template<typename TKSpace , typename TIterator , typename TInteger , unsigned short adjacency>
std::ostream & operator<< (std::ostream &out, const ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency > &object)
 
template<typename TSpace , typename TInputPoint , typename TInternalScalar >
std::ostream & operator<< (std::ostream &out, const ChordGenericNaivePlaneComputer< TSpace, TInputPoint, TInternalScalar > &object)
 
template<typename TSpace , typename TInputPoint , typename TInternalScalar >
std::ostream & operator<< (std::ostream &out, const ChordGenericStandardPlaneComputer< TSpace, TInputPoint, TInternalScalar > &object)
 
template<typename TSpace , typename TInputPoint , typename TInternalScalar >
std::ostream & operator<< (std::ostream &out, const ChordNaivePlaneComputer< TSpace, TInputPoint, TInternalScalar > &object)
 
template<typename TSpace , typename TInternalInteger >
std::ostream & operator<< (std::ostream &out, const COBAGenericNaivePlaneComputer< TSpace, TInternalInteger > &object)
 
template<typename TSpace , typename TInternalInteger >
std::ostream & operator<< (std::ostream &out, const COBAGenericStandardPlaneComputer< TSpace, TInternalInteger > &object)
 
template<typename TSpace , typename TInternalInteger >
std::ostream & operator<< (std::ostream &out, const COBANaivePlaneComputer< TSpace, TInternalInteger > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const DigitalPlanePredicate< T > &object)
 
template<typename TF , typename TKF , typename TKS , typename TDK , Dimension dimension>
std::ostream & operator<< (std::ostream &out, const DGtal::DigitalSurfaceConvolver< TF, TKF, TKS, TDK, dimension > &object)
 
template<typename TF , typename TKF , typename TKS , typename TDK >
std::ostream & operator<< (std::ostream &out, const DGtal::DigitalSurfaceConvolver< TF, TKF, TKS, TDK, 2 > &object)
 
template<typename TF , typename TKF , typename TKS , typename TDK >
std::ostream & operator<< (std::ostream &out, const DGtal::DigitalSurfaceConvolver< TF, TKF, TKS, TDK, 3 > &object)
 
template<typename TSurface >
std::ostream & operator<< (std::ostream &out, const DigitalSurfacePredicate< TSurface > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const DigitalSurfaceRegularization< T > &object)
 
template<typename TDigitalSurfaceEmbedder , typename TNormalVectorEstimator >
std::ostream & operator<< (std::ostream &out, const DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator > &object)
 
template<typename T , typename TC >
std::ostream & operator<< (std::ostream &out, const EstimatorCache< T, TC > &object)
 
template<typename TKSpace , typename TPointPredicate , typename TCovarianceMatrixFunctor >
std::ostream & operator<< (std::ostream &out, const IntegralInvariantCovarianceEstimator< TKSpace, TPointPredicate, TCovarianceMatrixFunctor > &object)
 
template<typename TKSpace , typename TPointPredicate >
std::ostream & operator<< (std::ostream &out, const DGtal::deprecated::IntegralInvariantNormalVectorEstimator< TKSpace, TPointPredicate > &object)
 
template<typename TKSpace , typename TPointPredicate , typename TVolumeFunctor >
std::ostream & operator<< (std::ostream &out, const IntegralInvariantVolumeEstimator< TKSpace, TPointPredicate, TVolumeFunctor > &object)
 
template<typename TD , typename TV , typename TF , typename TC >
std::ostream & operator<< (std::ostream &out, const LocalEstimatorFromSurfelFunctorAdapter< TD, TV, TF, TC > &object)
 
template<typename TSurface >
std::ostream & operator<< (std::ostream &out, const MaximalSegmentSliceEstimation< TSurface > &object)
 
template<typename TDigitalSurface , typename TNormalVectorEstimator , typename TEmbedder >
std::ostream & operator<< (std::ostream &out, const NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder > &object)
 
template<typename TSurface , typename TInternalProbingAlgorithm >
std::ostream & operator<< (std::ostream &out, const PlaneProbingDigitalSurfaceLocalEstimator< TSurface, TInternalProbingAlgorithm > &object)
 
template<typename TPredicate >
std::ostream & operator<< (std::ostream &out, const PlaneProbingHNeighborhood< TPredicate > &object)
 
template<typename TPredicate >
std::ostream & operator<< (std::ostream &out, const PlaneProbingNeighborhood< TPredicate > &object)
 
template<typename TPredicate , ProbingMode mode>
std::ostream & operator<< (std::ostream &out, const PlaneProbingParallelepipedEstimator< TPredicate, mode > &object)
 
template<typename TPredicate >
std::ostream & operator<< (std::ostream &out, const PlaneProbingR1Neighborhood< TPredicate > &object)
 
template<typename TPredicate >
std::ostream & operator<< (std::ostream &out, const PlaneProbingRNeighborhood< TPredicate > &object)
 
std::ostream & operator<< (std::ostream &aOs, ProbingMode const &aMode)
 
template<typename TPredicate , ProbingMode mode>
std::ostream & operator<< (std::ostream &out, const PlaneProbingTetrahedronEstimator< TPredicate, mode > &object)
 
template<typename TKSpace , typename TShape , typename TGeometricFunctor >
std::ostream & operator<< (std::ostream &out, const TrueDigitalSurfaceLocalEstimator< TKSpace, TShape, TGeometricFunctor > &object)
 
template<typename TDigitalSurfaceContainer , typename TSeparableMetric , typename TKernelFunction , typename TVCMGeometricFunctor >
std::ostream & operator<< (std::ostream &out, const VCMDigitalSurfaceLocalEstimator< TDigitalSurfaceContainer, TSeparableMetric, TKernelFunction, TVCMGeometricFunctor > &object)
 
template<typename TDigitalSurfaceContainer , typename TSeparableMetric , typename TKernelFunction >
std::ostream & operator<< (std::ostream &out, const VoronoiCovarianceMeasureOnDigitalSurface< TDigitalSurfaceContainer, TSeparableMetric, TKernelFunction > &object)
 
template<typename TF , typename TKS >
std::ostream & operator<< (std::ostream &out, const FunctorOnCells< TF, TKS > &object)
 
template<typename TSpace , bool muIncluded, bool muPlusNuIncluded>
std::ostream & operator<< (std::ostream &out, const ParallelStrip< TSpace, muIncluded, muPlusNuIncluded > &object)
 
template<typename TDigitalSurfaceContainer >
ShroudsRegularization< TDigitalSurfaceContainer > makeShroudsRegularization (CountedPtr< IndexedDigitalSurface< TDigitalSurfaceContainer > > surface, double eps=0.00001)
 
template<typename TInteger >
std::ostream & operator<< (std::ostream &out, const AvnaimEtAl2x2DetSignComputer< TInteger > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Filtered2x2DetComputer< T > &object)
 
template<typename TPoint , typename TDetComputer >
std::ostream & operator<< (std::ostream &out, const InGeneralizedDiskOfGivenRadius< TPoint, TDetComputer > &object)
 
template<typename TPoint , typename TDetComputer >
std::ostream & operator<< (std::ostream &out, const InHalfPlaneBy2x2DetComputer< TPoint, TDetComputer > &object)
 
template<typename TPoint , typename TInteger >
std::ostream & operator<< (std::ostream &out, const InHalfPlaneBySimple3x3Matrix< TPoint, TInteger > &object)
 
template<typename TOrientationFunctor , bool acceptNeg, bool acceptZero>
std::ostream & operator<< (std::ostream &out, const PredicateFromOrientationFunctor2< TOrientationFunctor, acceptNeg, acceptZero > &object)
 
template<typename TI , typename TO >
std::ostream & operator<< (std::ostream &out, const Simple2x2DetComputer< TI, TO > &object)
 
template<typename TI , typename TO >
std::ostream & operator<< (std::ostream &out, const SimpleIncremental2x2DetComputer< TI, TO > &object)
 
template<typename TPoint , typename TOrientationFunctor >
std::ostream & operator<< (std::ostream &out, const MelkmanConvexHull< TPoint, TOrientationFunctor > &object)
 
template<typename Shape >
std::ostream & operator<< (std::ostream &out, const Preimage2D< Shape > &object)
 
template<typename TKernel >
std::ostream & operator<< (std::ostream &out, const QuickHull< TKernel > &object)
 
template<typename TSpace >
std::ostream & operator<< (std::ostream &out, const SpatialCubicalSubdivision< TSpace > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const SphericalAccumulator< T > &object)
 
template<typename TPoint >
std::ostream & operator<< (std::ostream &out, const ConvexCellComplex< TPoint > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const experimental::ChamferNorm2D< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const DigitalMetricAdapter< T > &object)
 
template<typename S , typename P , typename TSep >
std::ostream & operator<< (std::ostream &out, const DistanceTransformation< S, P, TSep > &object)
 
template<typename T , DGtal::uint32_t p, typename P >
std::ostream & operator<< (std::ostream &out, const ExactPredicateLpPowerSeparableMetric< T, p, P > &object)
 
template<typename T , DGtal::uint32_t p, typename P >
std::ostream & operator<< (std::ostream &out, const ExactPredicateLpSeparableMetric< T, p, P > &object)
 
template<typename TImage , typename TSet , typename TPointPredicate , typename TPointFunctor >
std::ostream & operator<< (std::ostream &out, const FMM< TImage, TSet, TPointPredicate, TPointFunctor > &object)
 
template<typename T , typename V >
std::ostream & operator<< (std::ostream &out, const InexactPredicateLpSeparableMetric< T, V > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const LpMetric< T > &object)
 
template<typename W , typename Sep , typename Image >
std::ostream & operator<< (std::ostream &out, const PowerMap< W, Sep, Image > &object)
 
template<typename W , typename TSep >
std::ostream & operator<< (std::ostream &out, const ReverseDistanceTransformation< W, TSep > &object)
 
template<typename TM >
std::ostream & operator<< (std::ostream &out, const SeparableMetricAdapter< TM > &object)
 
template<typename S , typename P , typename Sep , typename TI >
std::ostream & operator<< (std::ostream &out, const VoronoiMap< S, P, Sep, TI > &object)
 
template<typename S , typename P , typename Sep , typename TI >
std::ostream & operator<< (std::ostream &out, const VoronoiMapComplete< S, P, Sep, TI > &object)
 
template<typename TSpace , typename TInteger >
std::ostream & operator<< (std::ostream &that_stream, const EhrhartPolynomial< TSpace, TInteger > &that_object_to_display)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Measure< T > &object)
 
template<typename TSpace , typename TSeparableMetric >
std::ostream & operator<< (std::ostream &out, const VoronoiCovarianceMeasure< TSpace, TSeparableMetric > &object)
 
template<typename TO , typename TD , typename TS >
std::ostream & operator<< (std::ostream &out, const KanungoNoise< TO, TD, TS > &object)
 
template<typename TGraph , typename TMarkSet >
std::ostream & operator<< (std::ostream &out, const BreadthFirstVisitor< TGraph, TMarkSet > &object)
 
template<typename TGraph , typename TMarkSet >
std::ostream & operator<< (std::ostream &out, const DepthFirstVisitor< TGraph, TMarkSet > &object)
 
template<typename TGraph , typename TVertexFunctor , typename TMarkSet >
std::ostream & operator<< (std::ostream &out, const DistanceBreadthFirstVisitor< TGraph, TVertexFunctor, TMarkSet > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Expander< T > &object)
 
template<typename TGraphVisitor >
std::ostream & operator<< (std::ostream &out, const GraphVisitorRange< TGraphVisitor > &object)
 
std::ostream & operator<< (std::ostream &out, const ParameterValue &object)
 
std::ostream & operator<< (std::ostream &out, const Parameters &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Shortcuts< T > &object)
 
template<typename TArrayIterator , typename TDomain >
std::ostream & operator<< (std::ostream &out, const ArrayImageAdapter< TArrayIterator, TDomain > &object)
 [IteratorCompletionTraits]
 
template<typename TArrayIterator , typename TDomain >
ArrayImageAdapter< TArrayIterator, TDomain > makeArrayImageAdapterFromIterator (TArrayIterator anArrayIterator, TDomain const &aFullDomain, TDomain const &aViewDomain)
 
template<typename TArrayIterator , typename TDomain >
ArrayImageAdapter< TArrayIterator, TDomain > makeArrayImageAdapterFromIterator (TArrayIterator anArrayIterator, TDomain const &aFullDomain)
 
template<typename TImage , typename TDomain = typename TImage::Domain>
ArrayImageAdapter< decltype(((TImage *) nullptr) ->begin()), TDomain > makeArrayImageAdapterFromImage (TImage &anImage, TDomain const &aViewDomain)
 
template<typename TImage , typename TDomain = typename TImage::Domain>
ArrayImageAdapter< decltype(((TImage *) nullptr) ->begin()), TDomain > makeArrayImageAdapterFromImage (TImage &anImage)
 
template<typename TIterableClass >
std::ostream & operator<< (std::ostream &out, const ArrayImageIterator< TIterableClass > &object)
 
template<typename TImageContainer , typename TNewDomain , typename TFunctorD , typename TNewValue , typename TFunctorV >
std::ostream & operator<< (std::ostream &out, const ConstImageAdapter< TImageContainer, TNewDomain, TFunctorD, TNewValue, TFunctorV > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Image< T > &object)
 
template<typename TImageContainer , typename TNewDomain , typename TFunctorD , typename TNewValue , typename TFunctorV , typename TFunctorVm1 >
std::ostream & operator<< (std::ostream &out, const ImageAdapter< TImageContainer, TNewDomain, TFunctorD, TNewValue, TFunctorV, TFunctorVm1 > &object)
 
template<typename TImageContainer , typename TImageFactory , typename TReadPolicy , typename TWritePolicy >
std::ostream & operator<< (std::ostream &out, const ImageCache< TImageContainer, TImageFactory, TReadPolicy, TWritePolicy > &object)
 
template<typename T , typename TV >
std::ostream & operator<< (std::ostream &out, const ImageContainerByITKImage< T, TV > &object)
 
template<typename TDomain , typename TValue >
std::ostream & operator<< (std::ostream &out, const ImageContainerBySTLMap< TDomain, TValue > &object)
 
template<typename Domain , typename V >
std::ostream & operator<< (std::ostream &out, const ImageContainerBySTLVector< Domain, V > &object)
 
template<typename TImageContainer >
std::ostream & operator<< (std::ostream &out, const ImageFactoryFromHDF5< TImageContainer > &object)
 
template<typename TImageContainer >
std::ostream & operator<< (std::ostream &out, const ImageFactoryFromImage< TImageContainer > &object)
 
template<typename I , typename O , typename P >
void setFromPointsRangeAndPredicate (const I &itb, const I &ite, const O &ito, const P &aPred)
 useful functions
 
template<typename I , typename O , typename F >
void setFromPointsRangeAndFunctor (const I &itb, const I &ite, const O &ito, const F &aFunctor, const typename F::Value &aThreshold=0)
 
template<typename I , typename O >
void setFromImage (const I &aImg, const O &ito, const typename I::Value &aThreshold=0)
 
template<typename I , typename O >
void setFromImage (const I &aImg, const O &ito, const typename I::Value &low, const typename I::Value &up)
 
template<typename It , typename Im >
void imageFromRangeAndValue (const It &itb, const It &ite, Im &aImg, const typename Im::Value &aValue=0)
 
template<typename R , typename I >
void imageFromRangeAndValue (const R &aRange, I &aImg, const typename I::Value &aValue=0)
 
template<typename I , typename F >
void imageFromFunctor (I &aImg, const F &aFun)
 
template<typename I1 , typename I2 >
void imageFromImage (I1 &aImg1, const I2 &aImg2)
 
template<typename I , typename S >
bool insertAndSetValue (I &aImg, S &aSet, const typename I::Point &aPoint, const typename I::Value &aValue)
 
template<typename I , typename S >
bool insertAndAlwaysSetValue (I &aImg, S &aSet, const typename I::Point &aPoint, const typename I::Value &aValue)
 
template<typename I , typename S >
bool findAndGetValue (const I &aImg, const S &aSet, const typename I::Point &aPoint, typename I::Value &aValue)
 
template<typename TKSpace , typename TImage , typename TEmbedder >
std::ostream & operator<< (std::ostream &out, const ImageLinearCellEmbedder< TKSpace, TImage, TEmbedder > &object)
 
template<typename TImageContainer , typename TImageFactory , typename TImageCacheReadPolicy , typename TImageCacheWritePolicy >
std::ostream & operator<< (std::ostream &out, const TiledImage< TImageContainer, TImageFactory, TImageCacheReadPolicy, TImageCacheWritePolicy > &object)
 
std::ostream & operator<< (std::ostream &out, const Board2D &object)
 
template<typename Space , typename KSpace >
std::ostream & operator<< (std::ostream &out, const Board3D< Space, KSpace > &object)
 
template<typename Space , typename KSpace >
std::ostream & operator<< (std::ostream &out, const Board3DTo2D< Space, KSpace > &object)
 
Color operator* (const double coeff, const Color &aColor)
 
std::ostream & operator<< (std::ostream &out, const Color &aColor)
 
template<typename PValue , int PDefaultColor>
std::ostream & operator<< (std::ostream &out, const ColorBrightnessColorMap< PValue, PDefaultColor > &object)
 
template<typename PValue , int PDefaultPreset, int PDefaultFirstColor, int PDefaultLastColor>
std::ostream & operator<< (std::ostream &out, const GradientColorMap< PValue, PDefaultPreset, PDefaultFirstColor, PDefaultLastColor > &object)
 
template<typename PValue >
std::ostream & operator<< (std::ostream &out, const GrayscaleColorMap< PValue > &object)
 
template<typename PValue , int DefaultCycles>
std::ostream & operator<< (std::ostream &out, const HueShadeColorMap< PValue, DefaultCycles > &object)
 
template<typename TColorMap >
QuantifiedColorMap< TColorMap > makeQuantifiedColorMap (TColorMap colormap, int nb=50)
 
std::ostream & operator<< (std::ostream &out, const RandomColorMap &object)
 
template<typename TValue , typename CMAP >
std::ostream & operator<< (std::ostream &out, const TickedColorMap< TValue, CMAP > &object)
 
template<typename Space , typename KSpace >
std::ostream & operator<< (std::ostream &out, const DGtal::Display3D< Space, KSpace > &object)
 
template<typename Space , typename KSpace >
void operator>> (const Display3D< Space, KSpace > &aDisplay3D, DGtal::Mesh< typename Display3D< Space, KSpace >::RealPoint > &aMesh)
 
template<typename Space , typename KSpace >
void operator>> (const Display3D< Space, KSpace > &aDisplay3D, std::string aFilename)
 
template<typename TPoint >
bool operator<< (Mesh< TPoint > &mesh, const std::string &filename)
 
template<int n, typename TRing , typename TAlloc , typename TIterator >
std::ostream & operator<< (std::ostream &out, const MPolynomialReader< n, TRing, TAlloc, TIterator > &object)
 
template<int n, typename TRing , class TAlloc >
std::istream & operator>> (std::istream &in, MPolynomial< n, TRing, TAlloc > &aMPolynomial)
 
template<typename Word >
FILE * raw_reader_read_word (FILE *fin, Word &aValue)
 
template<typename TSpace , typename TKSpace >
std::ostream & operator<< (std::ostream &out, const Viewer3D< TSpace, TKSpace > &object)
 
template<typename TImageContainer >
bool operator>> (const TImageContainer &aContainer, const std::string &aFilename)
 
template<typename TPoint >
bool operator>> (Mesh< TPoint > &aMesh, const std::string &aFilename)
 
template<typename TPoint >
bool operator>> (Mesh< TPoint > &aMesh, std::ostream &out)
 
template<typename Word >
std::ostream & raw_writer_write_word (std::ostream &outs, Word value)
 
template<typename LHS , typename RHS , typename... Args>
ArithmeticConversionType< LHS, RHS > constructFromArithmeticConversion (LHS const &lhs, RHS const &rhs, Args &&... args)
 Call constructor for the result type of an arithmetic operation.
 
template<typename TSpace >
std::ostream & operator<< (std::ostream &out, const CanonicEmbedder< TSpace > &object)
 
template<typename TSpace >
std::ostream & operator<< (std::ostream &out, const HyperRectDomain< TSpace > &object)
 
template<typename TInteger >
std::ostream & operator<< (std::ostream &out, const IntegralIntervals< TInteger > &object)
 
template<Dimension dim, typename Container >
std::bitset< dimsetDimensionsIn (const Container &dimensions)
 
template<Dimension dim, typename Container >
std::bitset< dimsetDimensionsNotIn (const Container &dimensions)
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
bool operator== (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs)
 Equality operator between two Points/Vectors.
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
bool operator!= (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs)
 Difference operator on Points/Vectors.
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
bool operator< (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs)
 Comparison operator on Points/Vectors (LesserThan).
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
bool operator> (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs)
 Comparison operator on Points/Vectors (GreaterThan).
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
bool operator<= (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs)
 Comparison operator on Points/Vectors (LesserOrEqualThan).
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
bool operator>= (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs)
 Comparison operator on Points/Vectors (GreaterOrEqualThan).
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
auto operator+ (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Addition operator between two Points/Vectors.
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
auto operator- (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Subtraction operator between two Points/Vectors.
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
auto operator* (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Multiplication operator between two Points/Vectors.
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
auto operator/ (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Division operator between two Points/Vectors.
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightScalar >
auto operator+ (DGtal::PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, RightScalar const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Addition operator between a Point/Vector and a scalar.
 
template<Dimension ptDim, typename LeftScalar , typename RightEuclideanRing , typename RightContainer >
auto operator+ (LeftScalar const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Addition operator between a scalar and a Point/Vector.
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightScalar >
auto operator- (DGtal::PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, RightScalar const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Subtraction operator between a Point/Vector and a scalar.
 
template<Dimension ptDim, typename LeftScalar , typename RightEuclideanRing , typename RightContainer >
auto operator- (LeftScalar const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Substraction operator between a scalar and a Point/Vector.
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightScalar >
auto operator* (DGtal::PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, RightScalar const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Multiplication operator between a Point/Vector and a scalar.
 
template<Dimension ptDim, typename LeftScalar , typename RightEuclideanRing , typename RightContainer >
auto operator* (LeftScalar const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Multiplication operator between a scalar and a Point/Vector.
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightScalar >
auto operator/ (DGtal::PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, RightScalar const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Division operator between a Point/Vector and a scalar.
 
template<Dimension ptDim, typename LeftScalar , typename RightEuclideanRing , typename RightContainer >
auto operator/ (LeftScalar const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Division operator between a scalar and a Point/Vector.
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
DGtal::ArithmeticConversionType< LeftEuclideanRing, RightEuclideanRing > dotProduct (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs)
 Dot product between two points/vectors.
 
template<typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
auto crossProduct (PointVector< 3, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< 3, RightEuclideanRing, RightContainer > const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Cross product of two 3D Points/Vectors.
 
template<typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
PointVector< 3, DGtal::ArithmeticConversionType< LeftEuclideanRing, RightEuclideanRing > > crossProduct (PointVector< 2, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< 2, RightEuclideanRing, RightContainer > const &rhs)
 Cross product of two 2D Points/Vectors.
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
double cosineSimilarity (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs)
 Positive angle between two vectors, deduced from their scalar product.
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
auto inf (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Implements the infimum (or greatest lower bound).
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
auto sup (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Implements the supremum (or least upper bound).
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
bool isLower (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs)
 Return true if the first point is below the second point.
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
bool isUpper (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, PointVector< ptDim, RightEuclideanRing, RightContainer > const &rhs)
 Return true if the first point is upper the second point.
 
template<Dimension dim, typename Component , typename TC >
std::ostream & operator<< (std::ostream &out, const PointVector< dim, Component, TC > &object)
 Operator <<.
 
template<typename TSpace >
std::ostream & operator<< (std::ostream &out, const RegularPointEmbedder< TSpace > &object)
 
template<typename Domain , typename Container >
std::ostream & operator<< (std::ostream &out, const DigitalSetByAssociativeContainer< Domain, Container > &object)
 
template<typename Domain , typename Compare >
std::ostream & operator<< (std::ostream &out, const DigitalSetBySTLSet< Domain, Compare > &object)
 
template<typename Domain >
std::ostream & operator<< (std::ostream &out, const DigitalSetBySTLVector< Domain > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const DigitalSetDomain< T > &object)
 
template<typename TMapImage >
std::ostream & operator<< (std::ostream &out, const DigitalSetFromMap< TMapImage > &object)
 
template<typename Key , typename TSplitter , class Hash , class KeyEqual , class UnorderedMapAllocator >
void swap (UnorderedSetByBlock< Key, TSplitter, Hash, KeyEqual, UnorderedMapAllocator > &s1, UnorderedSetByBlock< Key, TSplitter, Hash, KeyEqual, UnorderedMapAllocator > &s2) noexcept
 
std::ostream & operator<< (std::ostream &out, const AngleLinearMinimizer &object)
 
template<typename TQuantity , typename TBinner >
std::ostream & operator<< (std::ostream &out, const Histogram< TQuantity, TBinner > &object)
 
template<typename TEuclideanRing >
std::ostream & operator<< (std::ostream &that_stream, const LagrangeInterpolation< TEuclideanRing > &that_object_to_display)
 
std::ostream & operator<< (std::ostream &os, const Eigen::ComputationInfo &info)
 
template<typename T , DGtal::Dimension M, DGtal::Dimension N>
std::ostream & operator<< (std::ostream &out, const SimpleMatrix< T, M, N > &object)
 
template<typename TComponent , DGtal::Dimension TM, DGtal::Dimension TN>
SimpleMatrix< TComponent, TM, TN > operator* (const TComponent &scalar, const SimpleMatrix< TComponent, TM, TN > &matrix)
 
template<typename TProfile >
std::ostream & operator<< (std::ostream &out, const MeaningfulScaleAnalysis< TProfile > &object)
 
std::ostream & operator<< (std::ostream &out, const MeasureOfStraightLines &object)
 
template<typename TRing , typename TAlloc >
void euclidDiv (const MPolynomial< 1, TRing, TAlloc > &f, const MPolynomial< 1, TRing, TAlloc > &g, MPolynomial< 1, TRing, TAlloc > &q, MPolynomial< 1, TRing, TAlloc > &r)
 
template<int N, typename TRing , class TAlloc >
std::ostream & operator<< (std::ostream &out, const MPolynomial< N, TRing, TAlloc > &object)
 
template<int n, typename Ring , typename Alloc >
MPolynomial< n, Ring, Alloc > Xe_k (unsigned int k, unsigned int e)
 
template<int n, typename Ring >
MPolynomial< n, Ring, std::allocator< Ring > > Xe_k (unsigned int k, unsigned int e)
 
template<typename Ring , typename Alloc >
MPolynomial< 1, Ring, Alloc > mmonomial (unsigned int e)
 
template<typename Ring , typename Alloc >
MPolynomial< 2, Ring, Alloc > mmonomial (unsigned int e, unsigned int f)
 
template<typename Ring , typename Alloc >
MPolynomial< 3, Ring, Alloc > mmonomial (unsigned int e, unsigned int f, unsigned int g)
 
template<typename Ring , typename Alloc >
MPolynomial< 4, Ring, Alloc > mmonomial (unsigned int e, unsigned int f, unsigned int g, unsigned int h)
 
template<typename Ring >
MPolynomial< 1, Ring, std::allocator< Ring > > mmonomial (unsigned int e)
 
template<typename Ring >
MPolynomial< 2, Ring, std::allocator< Ring > > mmonomial (unsigned int e, unsigned int f)
 
template<typename Ring >
MPolynomial< 3, Ring, std::allocator< Ring > > mmonomial (unsigned int e, unsigned int f, unsigned int g)
 
template<typename Ring >
MPolynomial< 4, Ring, std::allocator< Ring > > mmonomial (unsigned int e, unsigned int f, unsigned int g, unsigned int h)
 
template<int N, int n, typename Ring , typename Alloc >
MPolynomial< n, Ring, Alloc > derivative (const MPolynomial< n, Ring, Alloc > &p)
 
template<int N, int n, typename Ring >
MPolynomial< n, Ring, std::allocator< Ring > > derivative (const MPolynomial< n, Ring, std::allocator< Ring > > &p)
 
template<typename Ring , typename Alloc >
void euclidDiv (const MPolynomial< 1, Ring, Alloc > &f, const MPolynomial< 1, Ring, Alloc > &g, MPolynomial< 1, Ring, Alloc > &q, MPolynomial< 1, Ring, Alloc > &r)
 
template<typename Ring >
void euclidDiv (const MPolynomial< 1, Ring, std::allocator< Ring > > &f, const MPolynomial< 1, Ring, std::allocator< Ring > > &g, MPolynomial< 1, Ring, std::allocator< Ring > > &q, MPolynomial< 1, Ring, std::allocator< Ring > > &r)
 
template<typename Ring , typename Alloc >
MPolynomial< 1, Ring, Alloc > gcd (const MPolynomial< 1, Ring, Alloc > &f, const MPolynomial< 1, Ring, Alloc > &g)
 
template<typename Ring >
MPolynomial< 1, Ring, std::allocator< Ring > > gcd (const MPolynomial< 1, Ring, std::allocator< Ring > > &f, const MPolynomial< 1, Ring, std::allocator< Ring > > &g)
 
std::ostream & operator<< (std::ostream &out, const MultiStatistics &object)
 
std::ostream & operator<< (std::ostream &that_stream, const OrderedLinearRegression &that_object_to_display)
 
template<typename TValueFunctor , typename TValue >
std::ostream & operator<< (std::ostream &out, const Profile< TValueFunctor, TValue > &object)
 
template<class TDomain , typename T >
std::ostream & operator<< (std::ostream &out, const RealFFT< TDomain, T > &object)
 
template<typename TValue >
std::ostream & operator<< (std::ostream &out, const Signal< TValue > &object)
 
std::ostream & operator<< (std::ostream &that_stream, const SimpleLinearRegression &that_object_to_display)
 
template<typename TQuantity >
std::ostream & operator<< (std::ostream &thatStream, const Statistic< TQuantity > &that_object_to_display)
 
template<typename ShapeA , typename ShapeB >
std::ostream & operator<< (std::ostream &out, const deprecated::DigitalShapesUnion< ShapeA, ShapeB > &object)
 
template<typename ShapeA , typename ShapeB >
std::ostream & operator<< (std::ostream &out, const deprecated::DigitalShapesIntersection< ShapeA, ShapeB > &object)
 
template<typename ShapeA , typename ShapeB >
std::ostream & operator<< (std::ostream &out, const deprecated::DigitalShapesMinus< ShapeA, ShapeB > &object)
 
template<typename ShapeA , typename ShapeB >
std::ostream & operator<< (std::ostream &out, const deprecated::EuclideanShapesUnion< ShapeA, ShapeB > &object)
 
template<typename ShapeA , typename ShapeB >
std::ostream & operator<< (std::ostream &out, const deprecated::EuclideanShapesIntersection< ShapeA, ShapeB > &object)
 
template<typename ShapeA , typename ShapeB >
std::ostream & operator<< (std::ostream &out, const deprecated::EuclideanShapesMinus< ShapeA, ShapeB > &object)
 
template<typename TPoint >
std::ostream & operator<< (std::ostream &out, const CircleFrom2Points< TPoint > &object)
 
template<typename TPoint >
std::ostream & operator<< (std::ostream &out, const CircleFrom3Points< TPoint > &object)
 
template<typename TSurface , bool isUpward, bool isClosed>
std::ostream & operator<< (std::ostream &out, const DGtal::functors::Point2ShapePredicate< TSurface, isUpward, isClosed > &object)
 
template<typename TPoint >
std::ostream & operator<< (std::ostream &out, const StraightLineFrom2Points< TPoint > &object)
 
template<typename TSpace , typename TEuclideanShape >
std::ostream & operator<< (std::ostream &out, const GaussDigitizer< TSpace, TEuclideanShape > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const ImplicitBall< T > &object)
 
template<typename TKSpace , typename TImplicitFunctionDiff1 , typename TEmbedder >
std::ostream & operator<< (std::ostream &out, const ImplicitFunctionDiff1LinearCellEmbedder< TKSpace, TImplicitFunctionDiff1, TEmbedder > &object)
 
template<typename TKSpace , typename TImplicitFunction , typename TEmbedder >
std::ostream & operator<< (std::ostream &out, const ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const ImplicitHyperCube< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const ImplicitNorm1Ball< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const ImplicitPolynomial3Shape< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const ImplicitRoundedHyperCube< T > &object)
 
template<typename TPoint >
std::ostream & operator<< (std::ostream &out, const Mesh< TPoint > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const AccFlower2D< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Astroid2D< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Ball2D< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Ball3D< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Ellipse2D< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Flower2D< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const Lemniscate2D< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const NGon2D< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const StarShaped2D< T > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const StarShaped3D< T > &object)
 
template<typename TPoint >
std::ostream & operator<< (std::ostream &out, const PolygonalSurface< TPoint > &object)
 
template<typename TDomain >
std::ostream & operator<< (std::ostream &out, const Shapes< TDomain > &object)
 
template<typename TRealPoint , typename TRealVector >
std::ostream & operator<< (std::ostream &out, const SurfaceMesh< TRealPoint, TRealVector > &object)
 
template<typename TPoint >
std::ostream & operator<< (std::ostream &out, const TriangulatedSurface< TPoint > &object)
 
template<typename TKSpace >
std::ostream & operator<< (std::ostream &out, const CanonicCellEmbedder< TKSpace > &object)
 
template<typename TDigitalSurface >
std::ostream & operator<< (std::ostream &out, const CanonicDigitalSurfaceEmbedder< TDigitalSurface > &object)
 
template<typename TKSpace >
std::ostream & operator<< (std::ostream &out, const CanonicSCellEmbedder< TKSpace > &object)
 
template<typename TKSpace , typename TCellContainer >
CubicalComplex< TKSpace, TCellContainer > & operator|= (CubicalComplex< TKSpace, TCellContainer > &, const CubicalComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
CubicalComplex< TKSpace, TCellContainer > & operator&= (CubicalComplex< TKSpace, TCellContainer > &, const CubicalComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
CubicalComplex< TKSpace, TCellContainer > & operator^= (CubicalComplex< TKSpace, TCellContainer > &, const CubicalComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
CubicalComplex< TKSpace, TCellContainer > & operator-= (CubicalComplex< TKSpace, TCellContainer > &, const CubicalComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
CubicalComplex< TKSpace, TCellContainer > operator| (const CubicalComplex< TKSpace, TCellContainer > &, const CubicalComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
CubicalComplex< TKSpace, TCellContainer > operator& (const CubicalComplex< TKSpace, TCellContainer > &, const CubicalComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
CubicalComplex< TKSpace, TCellContainer > operator^ (const CubicalComplex< TKSpace, TCellContainer > &, const CubicalComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
CubicalComplex< TKSpace, TCellContainer > operator- (const CubicalComplex< TKSpace, TCellContainer > &, const CubicalComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
CubicalComplex< TKSpace, TCellContainer > operator~ (const CubicalComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
CubicalComplex< TKSpace, TCellContainer > operator* (const CubicalComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
bool operator== (const CubicalComplex< TKSpace, TCellContainer > &, const CubicalComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
bool operator!= (const CubicalComplex< TKSpace, TCellContainer > &, const CubicalComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
bool operator<= (const CubicalComplex< TKSpace, TCellContainer > &, const CubicalComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
bool operator>= (const CubicalComplex< TKSpace, TCellContainer > &, const CubicalComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
std::ostream & operator<< (std::ostream &out, const CubicalComplex< TKSpace, TCellContainer > &object)
 
template<typename TKSpace , typename TDigitalSet >
std::ostream & operator<< (std::ostream &out, const DigitalSetBoundary< TKSpace, TDigitalSet > &object)
 
template<typename TDigitalSurfaceContainer >
std::ostream & operator<< (std::ostream &out, const DigitalSurface< TDigitalSurfaceContainer > &object)
 
template<typename TDigitalSurfaceTracker >
std::ostream & operator<< (std::ostream &out, const DigitalSurface2DSlice< TDigitalSurfaceTracker > &object)
 
template<typename TForegroundAdjacency , typename TBackgroundAdjacency >
std::ostream & operator<< (std::ostream &out, const DigitalTopology< TForegroundAdjacency, TBackgroundAdjacency > &object)
 
template<typename TDomain , typename TAdjacency >
std::ostream & operator<< (std::ostream &out, const DomainAdjacency< TDomain, TAdjacency > &object)
 
template<typename TKSpace , typename TSurfelPredicate >
std::ostream & operator<< (std::ostream &out, const ExplicitDigitalSurface< TKSpace, TSurfelPredicate > &object)
 
std::ostream & operator<< (std::ostream &out, const HalfEdgeDataStructure &object)
 
template<typename TKSpace , typename TImage >
std::ostream & operator<< (std::ostream &out, const DGtal::functors::BoundaryPredicate< TKSpace, TImage > &object)
 
template<typename TKSpace , typename TImage >
std::ostream & operator<< (std::ostream &out, const DGtal::functors::FrontierPredicate< TKSpace, TImage > &object)
 
template<typename TKSpace >
std::ostream & operator<< (std::ostream &out, const Surfaces< TKSpace > &object)
 
template<typename TKSpace , typename TPointPredicate >
std::ostream & operator<< (std::ostream &out, const ImplicitDigitalSurface< TKSpace, TPointPredicate > &object)
 
template<typename TDigitalSurfaceContainer >
std::ostream & operator<< (std::ostream &out, const IndexedDigitalSurface< TDigitalSurfaceContainer > &object)
 
template<Dimension dim, typename TInteger >
std::ostream & operator<< (std::ostream &out, const KhalimskyPreCell< dim, TInteger > &object)
 
template<Dimension dim, typename TInteger >
std::ostream & operator<< (std::ostream &out, const SignedKhalimskyPreCell< dim, TInteger > &object)
 
template<Dimension dim, typename TInteger >
std::ostream & operator<< (std::ostream &out, const KhalimskyPreSpaceND< dim, TInteger > &object)
 Overloads 'operator<<' for displaying objects of class 'KhalimskyPreSpaceND'.
 
template<Dimension dim, typename TInteger >
std::ostream & operator<< (std::ostream &out, const KhalimskyCell< dim, TInteger > &object)
 
template<Dimension dim, typename TInteger >
std::ostream & operator<< (std::ostream &out, const SignedKhalimskyCell< dim, TInteger > &object)
 
template<Dimension dim, typename TInteger >
std::ostream & operator<< (std::ostream &out, const KhalimskySpaceND< dim, TInteger > &object)
 Overloads 'operator<<' for displaying objects of class 'KhalimskySpaceND'.
 
template<typename TKSpace , typename TSurfelPredicate >
std::ostream & operator<< (std::ostream &out, const LightExplicitDigitalSurface< TKSpace, TSurfelPredicate > &object)
 
template<typename TKSpace , typename TPointPredicate >
std::ostream & operator<< (std::ostream &out, const LightImplicitDigitalSurface< TKSpace, TPointPredicate > &object)
 
template<typename TSpace , Dimension maxNorm1>
std::ostream & operator<< (std::ostream &out, const MetricAdjacency< TSpace, maxNorm1, TSpace::dimension > &object)
 
template<typename TDigitalTopology , typename TDigitalSet >
std::ostream & operator<< (std::ostream &out, const Object< TDigitalTopology, TDigitalSet > &object)
 
template<typename TKSpace , typename TSurfelSet >
std::ostream & operator<< (std::ostream &out, const SetOfSurfels< TKSpace, TSurfelSet > &object)
 
template<Dimension dim>
std::ostream & operator<< (std::ostream &out, const SurfelAdjacency< dim > &object)
 
template<typename T >
std::ostream & operator<< (std::ostream &out, const SurfelNeighborhood< T > &object)
 
template<typename TDigitalSurfaceTracker >
std::ostream & operator<< (std::ostream &out, const UmbrellaComputer< TDigitalSurfaceTracker > &object)
 
template<typename TKSpace , typename TCellContainer >
VoxelComplex< TKSpace, TCellContainer > & operator-= (VoxelComplex< TKSpace, TCellContainer > &, const VoxelComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
VoxelComplex< TKSpace, TCellContainer > operator- (const VoxelComplex< TKSpace, TCellContainer > &, const VoxelComplex< TKSpace, TCellContainer > &)
 
template<typename TKSpace , typename TCellContainer >
std::ostream & operator<< (std::ostream &out, const VoxelComplex< TKSpace, TCellContainer > &object)
 
template<typename KSpace , typename PointPredicate >
bool testImplicitDigitalSurface (const KSpace &K, const PointPredicate &pp, const typename KSpace::Surfel &bel)
 
template<typename KSpace , typename PointPredicate >
bool testLightImplicitDigitalSurface (const KSpace &K, const PointPredicate &pp, const typename KSpace::Surfel &bel)
 
Functions related to BoundedLatticePolytope (output, dilation, Minkowski sum)
template<typename TSpace >
std::ostream & operator<< (std::ostream &out, const BoundedLatticePolytope< TSpace > &object)
 
template<typename TSpace >
BoundedLatticePolytope< TSpace > operator* (typename BoundedLatticePolytope< TSpace >::Integer t, const BoundedLatticePolytope< TSpace > &P)
 
template<typename TSpace >
BoundedLatticePolytope< TSpace > operator+ (const BoundedLatticePolytope< TSpace > &P, typename BoundedLatticePolytope< TSpace >::UnitSegment s)
 
template<typename TSpace >
BoundedLatticePolytope< TSpace > operator+ (const BoundedLatticePolytope< TSpace > &P, typename BoundedLatticePolytope< TSpace >::UnitCell c)
 
template<typename TSpace >
BoundedLatticePolytope< TSpace > operator+ (const BoundedLatticePolytope< TSpace > &P, typename BoundedLatticePolytope< TSpace >::RightStrictUnitSegment s)
 
template<typename TSpace >
BoundedLatticePolytope< TSpace > operator+ (const BoundedLatticePolytope< TSpace > &P, typename BoundedLatticePolytope< TSpace >::RightStrictUnitCell c)
 
template<typename TSpace >
BoundedLatticePolytope< TSpace > operator+ (const BoundedLatticePolytope< TSpace > &P, typename BoundedLatticePolytope< TSpace >::LeftStrictUnitSegment s)
 
template<typename TSpace >
BoundedLatticePolytope< TSpace > operator+ (const BoundedLatticePolytope< TSpace > &P, typename BoundedLatticePolytope< TSpace >::LeftStrictUnitCell c)
 
Functions related to BoundedRationalPolytope (output, dilation, Minkowski sum)
template<typename TSpace >
std::ostream & operator<< (std::ostream &out, const BoundedRationalPolytope< TSpace > &object)
 
template<typename TSpace >
BoundedRationalPolytope< TSpace > operator* (typename BoundedRationalPolytope< TSpace >::Integer t, const BoundedRationalPolytope< TSpace > &P)
 
template<typename TSpace >
BoundedRationalPolytope< TSpace > operator* (typename BoundedRationalPolytope< TSpace >::Rational r, const BoundedRationalPolytope< TSpace > &P)
 
template<typename TSpace >
BoundedRationalPolytope< TSpace > operator+ (const BoundedRationalPolytope< TSpace > &P, typename BoundedRationalPolytope< TSpace >::UnitSegment s)
 
template<typename TSpace >
BoundedRationalPolytope< TSpace > operator+ (const BoundedRationalPolytope< TSpace > &P, typename BoundedRationalPolytope< TSpace >::UnitCell c)
 
Functions related to CellGeometry (output)
template<typename TKSpace >
std::ostream & operator<< (std::ostream &out, const CellGeometry< TKSpace > &object)
 
Functions related to DigitalConvexity (output)
template<typename TKSpace >
std::ostream & operator<< (std::ostream &out, const DigitalConvexity< TKSpace > &object)
 
Functions related to TangencyComputer (output)
template<typename TKSpace >
std::ostream & operator<< (std::ostream &out, const TangencyComputer< TKSpace > &object)
 

Variables

Trace trace
 
TraceWriterTerm traceWriterTerm (std::cerr)
 
const auto ITK_IO_IMAGE_EXT
 
static std::size_t const HALF_EDGE_INVALID_INDEX = boost::integer_traits<std::size_t>::const_max
 

Detailed Description

DGtal is the top-level namespace which contains all DGtal functions and types.

[PrivateMembers]

for embedding

DGtal Global variables

This macro is necessary for using spirit/phoenix functions 'at' during the construction of the semantic tree. This macro is necessary for using spirit/phoenix functions 'at' during the construction of the semantic tree. This macro is necessary for using spirit/phoenix functions 'at' during the construction of the semantic tree.

[IteratorCompletionTraits]

Typedef Documentation

◆ ArithmeticConversionType

template<typename T , typename U >
using DGtal::ArithmeticConversionType = typename ArithmeticConversionTraits<T, U>::type

Result type of arithmetic binary operators between two given types.

Template Parameters
TFirst operand type.
USecond operand type.
See also
ArithmeticConversionTraits

Definition at line 135 of file ArithmeticConversionTraits.h.

◆ BigInteger

typedef mpz_class DGtal::BigInteger

Multi-precision integer with GMP implementation.

Definition at line 79 of file BasicTypes.h.

◆ Dimension

Global static type to represent the dimension in DGtal

Definition at line 136 of file Common.h.

◆ int16_t

typedef boost::int16_t DGtal::int16_t

signed 16-bit integer.

Definition at line 70 of file BasicTypes.h.

◆ int32_t

typedef boost::int32_t DGtal::int32_t

signed 32-bit integer.

Definition at line 72 of file BasicTypes.h.

◆ int64_t

typedef boost::int64_t DGtal::int64_t

signed 94-bit integer.

Examples
geometry/tools/checkLatticeBallQuickHull.cpp.

Definition at line 74 of file BasicTypes.h.

◆ int8_t

typedef boost::int8_t DGtal::int8_t

signed 8-bit integer.

Definition at line 68 of file BasicTypes.h.

◆ NaiveDSS8Computer

template<typename TIterator , typename TInteger = typename IteratorCirculatorTraits<TIterator>::Value::Coordinate>
using DGtal::NaiveDSS8Computer = ArithmeticalDSSComputer<TIterator, TInteger, 8>

Aim: This is an alias to ArithmeticalDSS that is devoted to the dynamic recognition of naive and simply 8-connected digital straight segments (DSS) along any sequence of digital points.

See Digital straight lines and segments for further details. See also exampleArithmeticalDSSComputer.cpp for a basic example using StandardDSS4Computer. The use of NaiveDSS8Computer is quite similar.

Template Parameters
TIteratortype of iterator on 2d digital points, at least readable and forward.
TIntegertype of integers used for the computation of remainders, which is a model of CInteger.

This alias is a model of CDynamicBidirectionalSegmentComputer. It is also default constructible, copy constructible, assignable and equality comparable.

See also
ArithmeticalDSSComputer StandardDSS4Computer ArithmeticalDSS
exampleArithmeticalDSSComputer.cpp exampleArithmeticalDSS.cpp

Definition at line 486 of file ArithmeticalDSSComputer.h.

◆ NeighborhoodConfiguration

◆ Order

typedef unsigned int DGtal::Order

Aim: Order is used as template parameter for DEC classes.

Description of 'Order'

Definition at line 89 of file Duality.h.

◆ StandardDSS4Computer

template<typename TIterator , typename TInteger = typename IteratorCirculatorTraits<TIterator>::Value::Coordinate>
using DGtal::StandardDSS4Computer = ArithmeticalDSSComputer<TIterator, TInteger, 4>

Aim: This is an alias to ArithmeticalDSS that is devoted to the dynamic recognition of standard and simply 4-connected digital straight segments (DSS) along any sequence of digital points.

Before using a DSS computer, you must include the following header:

#include "DGtal/geometry/curves/ArithmeticalDSSComputer.h"

Then, you can construct a DSS computer as follows:

// Container of digital points
typedef std::vector<Z2::Point> Container;
// Iterator on the container
typedef Container::const_iterator ConstIterator;
// StandardDSS4 computer
// Construction of the computer
DSSComputer theDSSComputer;

The extention is simply done as follows:

// Add points while it is possible
theDSSComputer.init( contour.begin() );
while ( ( theDSSComputer.end() != contour.end() ) &&
( theDSSComputer.extendFront() ) ) {}

See Digital straight lines and segments for further details.

Template Parameters
TIteratortype of iterator on 2d digital points, at least readable and forward.
TIntegertype of integers used for the computation of remainders, which is a model of CInteger.

This alias is a model of CDynamicBidirectionalSegmentComputer. It is also default constructible, copy constructible, assignable and equality comparable.

See also
ArithmeticalDSSComputer NaiveDSS8Computer ArithmeticalDSS
exampleArithmeticalDSSComputer.cpp exampleArithmeticalDSS.cpp

Definition at line 462 of file ArithmeticalDSSComputer.h.

◆ uint16_t

typedef boost::uint16_t DGtal::uint16_t

unsigned 16-bit integer.

Definition at line 61 of file BasicTypes.h.

◆ uint32_t

typedef boost::uint32_t DGtal::uint32_t

unsigned 32-bit integer.

Examples
topology/cubical-complex-collapse.cpp.

Definition at line 63 of file BasicTypes.h.

◆ uint64_t

typedef boost::uint64_t DGtal::uint64_t

unsigned 64-bit integer.

Definition at line 65 of file BasicTypes.h.

◆ uint8_t

typedef boost::uint8_t DGtal::uint8_t

unsigned 8-bit integer.

Definition at line 59 of file BasicTypes.h.

Enumeration Type Documentation

◆ BoundEnum

Bounding type of a number.

Enumerator
BOUNDED 
UNBOUNDED 
BOUND_UNKNOWN 

Definition at line 54 of file NumberTraits.h.

54{BOUNDED = 0, UNBOUNDED = 1, BOUND_UNKNOWN = 2};
@ UNBOUNDED
@ BOUND_UNKNOWN

◆ Closest

Global enum definition for closest point test (geometry/volumes/distance/..).

Enumerator
ClosestFIRST 
ClosestSECOND 
ClosestBOTH 

Definition at line 146 of file Common.h.

146{ ClosestFIRST = 0, ClosestSECOND = 1, ClosestBOTH = 2};
@ ClosestBOTH
Definition Common.h:146
@ ClosestSECOND
Definition Common.h:146
@ ClosestFIRST
Definition Common.h:146

◆ ColorGradientPreset

Enumerator
CMAP_CUSTOM 
CMAP_GRAYSCALE 
CMAP_SPRING 
CMAP_SUMMER 
CMAP_AUTUMN 
CMAP_WINTER 
CMAP_COOL 
CMAP_COPPER 
CMAP_HOT 
CMAP_JET 
CMAP_VIRIDIS 

Definition at line 60 of file GradientColorMap.h.

◆ Connectedness

Kinds of connectedness for an object or a graph.

Enumerator
DISCONNECTED 
CONNECTED 
UNKNOWN 

Definition at line 50 of file Topology.h.

51 {
52 DISCONNECTED = 0, CONNECTED = 1, UNKNOWN = 2
53 };
@ UNKNOWN
Definition Topology.h:52
@ DISCONNECTED
Definition Topology.h:52
@ CONNECTED
Definition Topology.h:52

◆ DigitalSetBelongTestability

Enumerator
LOW_BEL_DS 
HIGH_BEL_DS 

Definition at line 63 of file DigitalSetSelector.h.

63{ LOW_BEL_DS = 0, HIGH_BEL_DS = 16 };

◆ DigitalSetIterability

Enumerator
LOW_ITER_DS 
HIGH_ITER_DS 

Definition at line 62 of file DigitalSetSelector.h.

◆ DigitalSetSize

Enumerator
SMALL_DS 
MEDIUM_DS 
BIG_DS 
WHOLE_DS 

Definition at line 60 of file DigitalSetSelector.h.

◆ DigitalSetVariability

Enumerator
LOW_VAR_DS 
HIGH_VAR_DS 

Definition at line 61 of file DigitalSetSelector.h.

61{ LOW_VAR_DS = 0, HIGH_VAR_DS = 4 };

◆ DigitalTopologyProperties

Possible properties of digital topologies.

Enumerator
UNKNOWN_DT 
NOT_JORDAN_DT 
JORDAN_DT 

Definition at line 55 of file DigitalTopology.h.

55 { UNKNOWN_DT = 0,
56 NOT_JORDAN_DT = 1,
57 JORDAN_DT = 2 };

◆ DomainDrawMode

Specifies the drawing mode for domains.

Enumerator
GRID 
PAVING 

Definition at line 57 of file Board2D.h.

57{ GRID = 0, PAVING = 1 };
@ GRID
Definition Board2D.h:57
@ PAVING
Definition Board2D.h:57

◆ Duality

Aim: Duality enumerator tells if templated object lives in primal or dual space. Used as template parameter for DEC classes.

Description of 'Duality'

Enumerator
PRIMAL 
DUAL 

Definition at line 59 of file Duality.h.

60{
61 PRIMAL = 0,
62 DUAL = 1
63};
@ PRIMAL
Definition Duality.h:61
@ DUAL
Definition Duality.h:62

◆ ImageBelongTestability

Enumerator
HIGH_BEL_I 
LOW_BEL_I 

Definition at line 58 of file ImageSelector.h.

58{ HIGH_BEL_I = 0, LOW_BEL_I = 2 };

◆ ImageIterability

Enumerator
HIGH_ITER_IMAGE 
LOW_ITER_I 

Definition at line 57 of file ImageSelector.h.

57{ HIGH_ITER_IMAGE = 0 , LOW_ITER_I = 1};
@ HIGH_ITER_IMAGE

◆ ImageSpecificContainer

Enumerator
NORMAL_CONTAINER_I 
VTKIMAGEDATA_CONTAINER_I 
ITKIMAGEDATA_CONTAINER_I 

Definition at line 59 of file ImageSelector.h.

◆ Orientation

Global enum definition for orientation.

Enumerator
INSIDE 
ON 
OUTSIDE 

Definition at line 141 of file Common.h.

141{ INSIDE = 0, ON = 1, OUTSIDE = 2};
@ INSIDE
Definition Common.h:141
@ OUTSIDE
Definition Common.h:141
@ ON
Definition Common.h:141

◆ ProbingMode

enum class DGtal::ProbingMode
strong

Probing mode for plane-probing estimators. This mode allows to select the good PlaneProbingNeighborhood subclass when constructing a PlaneProbingTetrahedronEstimator.

Enumerator

The H-neighborhood composed of 6 points on an hexagon, see PlaneProbingHNeighborhood.

The R-neighborhood composed of 6 rays, see PlaneProbingRNeighborhood.

R1 

The R-neighborhood but with an optimization to reduce the number of calls to the predicate, see PlaneProbingR1Neighborhood.

Definition at line 58 of file PlaneProbingTetrahedronEstimator.h.

59 {
60 H,
61 R,
62 R1,
63 };

◆ SignEnum

Sign type of a number.

Enumerator
SIGNED 
UNSIGNED 
SIGN_UNKNOWN 

Definition at line 57 of file NumberTraits.h.

57{SIGNED = 0, UNSIGNED = 1, SIGN_UNKNOWN = 2};
@ SIGN_UNKNOWN

◆ Surfel2PointEmbedding

Possible embeddings for surfel as point(s)

Enumerator
Pointels 
InnerSpel 
OuterSpel 

Definition at line 58 of file VoronoiCovarianceMeasureOnDigitalSurface.h.

Function Documentation

◆ advanceIterator()

template<typename IC >
void DGtal::advanceIterator ( IC & ic,
typename IteratorCirculatorTraits< IC >::Difference n )
inline

Moves ic at position @ it + n

Parameters
icany (circular)iterator
nany positive distance
Template Parameters
ICany model o fiterator or circulator

Referenced by testAdvance().

◆ assert_failed()

void DGtal::assert_failed ( const std::string & expr,
const std::string & function,
const std::string & file,
long int line )
inline

Definition at line 65 of file Assert.h.

66 {
67 trace.error()
68 << " Assertion Error - assertion (" << expr << ") failed in " << function << ": "
69 << file << '(' << line << ")" << std::endl;
70 std::abort();
71 }
std::ostream & error()
Trace trace
Definition Common.h:153

References DGtal::Trace::error(), and trace.

◆ assert_failed_message()

void DGtal::assert_failed_message ( const std::string & expr,
const std::string & message,
const std::string & function,
const std::string & file,
long int line )
inline

Definition at line 81 of file Assert.h.

82 {
83 trace.error()
84 << " Assertion Error - assertion (" << expr << ") failed in " << function << ": "
85 << file << '(' << line << "): " << std::endl << message << std::endl;
86 std::abort();
87 }

References DGtal::Trace::error(), and trace.

◆ backStack()

template<typename TSequence >
BackInsertionSequenceToStackAdapter< TSequence > DGtal::backStack ( TSequence & aSequence)

Function returning an object of class 'BackInsertionSequenceToStackAdapter'

Parameters
aSequencecontainer to adapt.
Template Parameters
TSequencea model of back insertion sequence
Returns
the adapter.

◆ constructFromArithmeticConversion()

template<typename LHS , typename RHS , typename... Args>
ArithmeticConversionType< LHS, RHS > DGtal::constructFromArithmeticConversion ( LHS const & lhs,
RHS const & rhs,
Args &&... args )
inline

Call constructor for the result type of an arithmetic operation.

Template Parameters
LHSFirst operand type.
RHSSecond operand type.
ArgsTypes of the parameters forwarded to the constructor.
Parameters
lhsFirst operand (only used for auto-deducing its type).
rhsSecond operand (only used for auto-deducing its type).
argsParameters forwarded to the constructor.

Definition at line 182 of file ArithmeticConversionTraits.h.

183 {
184 boost::ignore_unused_variable_warning(lhs);
185 boost::ignore_unused_variable_warning(rhs);
186
187 return ArithmeticConversionType<LHS, RHS>( std::forward<Args>(args)... );
188 }
typename ArithmeticConversionTraits< T, U >::type ArithmeticConversionType
Result type of arithmetic binary operators between two given types.

◆ cosineSimilarity()

template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
double DGtal::cosineSimilarity ( PointVector< ptDim, LeftEuclideanRing, LeftContainer > const & lhs,
PointVector< ptDim, RightEuclideanRing, RightContainer > const & rhs )
inline

Positive angle between two vectors, deduced from their scalar product.

Returns
the angle between lhs and rhs in [0,pi].

Referenced by TEST_CASE().

◆ crossProduct() [1/2]

template<typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
PointVector< 3, DGtal::ArithmeticConversionType< LeftEuclideanRing, RightEuclideanRing > > DGtal::crossProduct ( PointVector< 2, LeftEuclideanRing, LeftContainer > const & lhs,
PointVector< 2, RightEuclideanRing, RightContainer > const & rhs )
inline

Cross product of two 2D Points/Vectors.

Returns
the 3th component of the cross product of the two points/vectors embedded in 3D.

◆ crossProduct() [2/2]

template<typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
auto DGtal::crossProduct ( PointVector< 3, LeftEuclideanRing, LeftContainer > const & lhs,
PointVector< 3, RightEuclideanRing, RightContainer > const & rhs ) -> decltype( DGtal::constructFromArithmeticConversion(lhs, rhs) )
inline

◆ derivative() [1/2]

template<int N, int n, typename Ring , typename Alloc >
MPolynomial< n, Ring, Alloc > DGtal::derivative ( const MPolynomial< n, Ring, Alloc > & p)
inline

Computes the partial derivative of p with respect to the N-th indeterminate. We assume that 0 <= N < n.

Parameters
pan arbitrary polynomial.
Template Parameters
Nthe variable used for derivation.
nthe number of variables or indeterminates.
Ringthe type chosen for the polynomial, defines also the type of the coefficents (generally int, float or double).
Allocis an allocator for Ring, for example std::allocator<Ring>; this is also the default parameter. Usually this parameter does not needs to be changed.

Definition at line 1976 of file MPolynomial.h.

1977 {
1978 MPolynomial<n, Ring, Alloc> res( p.getAllocator() );
1980 return res;
1981 }
Aim: Represents a multivariate polynomial, i.e. an element of , where K is some ring or field.

References DGtal::MPolynomialDerivativeComputer< N, n, Ring, Alloc >::computeDerivative().

Referenced by DGtal::dec_helper::averageOperator01(), DGtal::ATSolver2D< TKSpace, TLinearAlgebra >::initOperators(), main(), and testMPolynomial().

◆ derivative() [2/2]

template<int N, int n, typename Ring >
MPolynomial< n, Ring, std::allocator< Ring > > DGtal::derivative ( const MPolynomial< n, Ring, std::allocator< Ring > > & p)
inline

Computes the partial derivative of p with respect to the N-th indeterminate. We assume that 0 <= N < n.

Parameters
pan arbitrary polynomial.
Template Parameters
Nthe variable used for derivation.
nthe number of variables or indeterminates.
Ringthe type chosen for the polynomial, defines also the type of the coefficents (generally int, float or double).

Definition at line 1999 of file MPolynomial.h.

2001 {
2002 MPolynomial<n, Ring, std::allocator<Ring> > res( p.getAllocator() );
2004 ::computeDerivative( p, res );
2005 return res;
2006 }

◆ dotProduct()

template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
DGtal::ArithmeticConversionType< LeftEuclideanRing, RightEuclideanRing > DGtal::dotProduct ( PointVector< ptDim, LeftEuclideanRing, LeftContainer > const & lhs,
PointVector< ptDim, RightEuclideanRing, RightContainer > const & rhs )
inline

Dot product between two points/vectors.

Returns
the dot product in the best Euclidean ring accordingly to the C++ conversion rules in arithmetic operations context.

Referenced by TEST_CASE().

◆ euclidDiv() [1/3]

template<typename Ring , typename Alloc >
void DGtal::euclidDiv ( const MPolynomial< 1, Ring, Alloc > & f,
const MPolynomial< 1, Ring, Alloc > & g,
MPolynomial< 1, Ring, Alloc > & q,
MPolynomial< 1, Ring, Alloc > & r )

Computes q and r such that f = q g + r and degree(r) < degree(g).

Definition at line 2013 of file MPolynomial.h.

2017 {
2018 if (f.degree() < g.degree())
2019 {
2020 // Ignore the trivial case
2021 q = MPolynomial<1, Ring, Alloc>(f.getAllocator());
2022 r = f;
2023 return;
2024 }
2025 q = MPolynomial<1, Ring, Alloc>( true, f.degree() - g.degree() + 1,
2026 f.getAllocator() );
2027 r = f;
2028 for (int i = q.degree(); i >= 0; --i)
2029 {
2030 q[i] = r[i + g.degree()] / g.leading();
2031 for (int j = g.degree(); j >= 0; --j)
2032 r[i + j] -= q[i] * g[j];
2033 }
2034 r.normalize();
2035 // Note that the degree of q is already correct.
2036 }

◆ euclidDiv() [2/3]

template<typename Ring >
void DGtal::euclidDiv ( const MPolynomial< 1, Ring, std::allocator< Ring > > & f,
const MPolynomial< 1, Ring, std::allocator< Ring > > & g,
MPolynomial< 1, Ring, std::allocator< Ring > > & q,
MPolynomial< 1, Ring, std::allocator< Ring > > & r )

Computes q and r such that f = q g + r and degree(r) < degree(g).

Definition at line 2043 of file MPolynomial.h.

2047 {
2048 euclidDiv<Ring, std::allocator<Ring> >(f, g, q, r);
2049 }

References euclidDiv().

◆ euclidDiv() [3/3]

template<typename TRing , typename TAlloc >
void DGtal::euclidDiv ( const MPolynomial< 1, TRing, TAlloc > & f,
const MPolynomial< 1, TRing, TAlloc > & g,
MPolynomial< 1, TRing, TAlloc > & q,
MPolynomial< 1, TRing, TAlloc > & r )

Forward declaration, to be able to declare this as a friend.

Referenced by euclidDiv(), and gcd().

◆ fatal_error_failed()

void DGtal::fatal_error_failed ( const std::string & expr,
const std::string & function,
const std::string & file,
long int line )
inline

Definition at line 93 of file Assert.h.

94 {
95 trace.error()
96 << " Fatal Error - assertion (" << expr << ") failed in " << function << ": "
97 << file << '(' << line << ")" << std::endl;
98 std::abort();
99 }

References DGtal::Trace::error(), and trace.

◆ fatal_error_failed_message()

void DGtal::fatal_error_failed_message ( const std::string & expr,
const std::string & message,
const std::string & function,
const std::string & file,
long int line )
inline

Definition at line 104 of file Assert.h.

105 {
106 trace.error()
107 << " Fatal Error - assertion (" << expr << ") failed in " << function << ": "
108 << file << '(' << line << "): " << std::endl << message << std::endl;
109 std::abort();
110 }

References DGtal::Trace::error(), and trace.

◆ findAndGetValue()

template<typename I , typename S >
bool DGtal::findAndGetValue ( const I & aImg,
const S & aSet,
const typename I::Point & aPoint,
typename I::Value & aValue )

Read the value contained in aImg at aPoint if aPoint belongs to aSet.

Parameters
aImgan image
aSeta digital set
aPointa point
aValue(returned) value
Returns
'true' if a new point is found and the value read but 'false' otherwise
Template Parameters
Iany model of CConstImage
Sany model of CDigitalSet

The general behavior is like:

However, this code is specialized if I is an ImageContainerBySTLMap and S is a DigitalSetFromMap<I> as follows:

See also
ImageContainerBySTLMap DigitalSetFromMap
insertAndSetValue

◆ firstMaximalSegment() [1/5]

template<typename SC >
void DGtal::firstMaximalSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end )

Computes the first maximal segment passing through i

Parameters
sany instance of segment computer
iany ConstIterator
beginany begin ConstIterator bounding a range
endany end ConstIterator bounding a range
Template Parameters
SCany model of segment computer

Definition at line 508 of file SegmentComputerUtils.h.

512{
513 firstMaximalSegment<SC>(s, i, begin, end,
515}

References firstMaximalSegment().

◆ firstMaximalSegment() [2/5]

template<typename SC >
void DGtal::firstMaximalSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end,
DGtal::BidirectionalSegmentComputer  )

Computes the first maximal segment passing through i

Parameters
sany instance of segment computer
iany ConstIterator
beginany begin ConstIterator bounding a range
endany end ConstIterator bounding a range
Template Parameters
SCany model of CBidirectionalSegmentComputer

Definition at line 449 of file SegmentComputerUtils.h.

454{
455 s.init(i);
456
458 maximalExtension(s, end);
459}
void oppositeEndMaximalExtension(SC &s, const typename SC::ConstIterator &begin, IteratorType)
void maximalExtension(SC &s, const typename SC::ConstIterator &end, IteratorType)

References maximalExtension(), and oppositeEndMaximalExtension().

◆ firstMaximalSegment() [3/5]

template<typename SC >
void DGtal::firstMaximalSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end,
DGtal::DynamicBidirectionalSegmentComputer  )

Computes the first maximal segment passing through i

Parameters
sany instance of segment computer
iany ConstIterator
beginany begin ConstIterator bounding a range
endany end ConstIterator bounding a range
Template Parameters
SCany model of CDynamicBidirectionalSegmentComputer
Note
calls the function dedicated to BidirectionalSegmentComputer

Definition at line 490 of file SegmentComputerUtils.h.

495{
497}
void firstMaximalSegment(SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::ForwardSegmentComputer)

References firstMaximalSegment().

◆ firstMaximalSegment() [4/5]

template<typename SC >
void DGtal::firstMaximalSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end,
DGtal::DynamicSegmentComputer  )

Computes the first maximal segment passing through i

Parameters
sany instance of segment computer
iany ConstIterator
beginany begin ConstIterator bounding a range
endany end ConstIterator bounding a range
Template Parameters
SCany model of CDynamicSegmentComputer
Note
calls the function dedicated to ForwardSegmentComputer

Definition at line 471 of file SegmentComputerUtils.h.

476{
478}

References firstMaximalSegment().

◆ firstMaximalSegment() [5/5]

template<typename SC >
void DGtal::firstMaximalSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end,
DGtal::ForwardSegmentComputer  )

Computes the first maximal segment passing through i

Parameters
sany instance of segment computer
iany ConstIterator
beginany begin ConstIterator bounding a range
endany end ConstIterator bounding a range
Template Parameters
SCany model of CForwardSegmentComputer

Definition at line 412 of file SegmentComputerUtils.h.

417{
418
419 typedef typename SC::ConstIterator ConstIterator;
420 typedef typename SC::Reverse ReverseSegmentComputer;
421 typedef typename ReverseSegmentComputer::ConstIterator ConstReverseIterator;
422
423 if ( isNotEmpty<ConstIterator>(i,end) ) {
424
425 //backward extension
426 ConstIterator it( i ); ++it;
427 ConstReverseIterator rit( it );
428 ConstReverseIterator rend( begin );
429 ReverseSegmentComputer r( s.getReverse() );
430 longestSegment(r, rit, rend);
431
432 //forward extension
433 ConstIterator it2( r.end().base() );
434 longestSegment(s, it2, end);
435
436 }
437
438}
MyDigitalSurface::ConstIterator ConstIterator
void longestSegment(SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &end, IteratorType)

References isNotEmpty(), and longestSegment().

Referenced by firstMaximalSegment(), firstMaximalSegment(), firstMaximalSegment(), main(), mostCenteredMaximalSegment(), nextMaximalSegment(), and nextMaximalSegment().

◆ frontStack()

template<typename TSequence >
FrontInsertionSequenceToStackAdapter< TSequence > DGtal::frontStack ( TSequence & aSequence)

Function returning an object of class 'FrontInsertionSequenceToStackAdapter'

Parameters
aSequencecontainer to adapt.
Template Parameters
TSequencea model of back insertion sequence
Returns
the adapter.

◆ gcd() [1/2]

template<typename Ring , typename Alloc >
MPolynomial< 1, Ring, Alloc > DGtal::gcd ( const MPolynomial< 1, Ring, Alloc > & f,
const MPolynomial< 1, Ring, Alloc > & g )

Compute the monic greatest common divisor of f and g using the Euclidean Algorithm.

Definition at line 2057 of file MPolynomial.h.

2059 {
2060 if (f.isZero())
2061 {
2062 if (g.isZero()) return f; // both are zero
2063 else return g / g.leading(); // make g monic
2064 }
2065 MPolynomial<1, Ring, Alloc>
2066 d1(f / f.leading()),
2067 d2(g / g.leading()),
2068 q(f.getAllocator()),
2069 r(f.getAllocator());
2070 while (!d2.isZero())
2071 {
2072 euclidDiv(d1, d2, q, r);
2073 d1.swap(d2);
2074 d2 = r;
2075 d2 /= r.leading(); // make r monic
2076 }
2077 return d1;
2078 }

References euclidDiv().

Referenced by gcd(), and testMPolynomial().

◆ gcd() [2/2]

template<typename Ring >
MPolynomial< 1, Ring, std::allocator< Ring > > DGtal::gcd ( const MPolynomial< 1, Ring, std::allocator< Ring > > & f,
const MPolynomial< 1, Ring, std::allocator< Ring > > & g )

Compute the monic greatest common divisor of f and g using the Euclidean Algorithm.

Definition at line 2086 of file MPolynomial.h.

2088 {
2089 return gcd<Ring, std::allocator<Ring> >(f, g);
2090 }

References gcd().

◆ getMiddleIterator() [1/4]

template<typename IC >
IC DGtal::getMiddleIterator ( const IC & itb,
const IC & ite )

Computes the middle iterator of a given range, i.e. itb + (ite-itb)/2)

Parameters
itbbegin iterator of a range
iteend iterator of a range
Returns
the middle iterator of the range [itb,ite)
Template Parameters
ICiterator or circulator

Definition at line 151 of file SegmentComputerUtils.h.

151 {
152 typedef typename IteratorCirculatorTraits<IC>::Category Category;
153 return getMiddleIterator(itb, ite, Category() );
154}
IC getMiddleIterator(const IC &itb, const IC &ite, RandomAccessCategory)
ToDGtalCategory< typenameboost::iterator_category< IC >::type >::Category Category

References getMiddleIterator().

◆ getMiddleIterator() [2/4]

template<typename IC >
IC DGtal::getMiddleIterator ( const IC & itb,
const IC & ite,
BidirectionalCategory  )

Specialization for bidirectional category NB: in O(ite-itb)

Definition at line 100 of file SegmentComputerUtils.h.

101{
102 IC b( itb );
103 IC f( ite );
104 bool flag = true;
105 while (b != f) {
106 if (flag) {
107 --f;
108 flag = false;
109 } else {
110 ++b;
111 flag = true;
112 }
113 }
114 return b;
115}

◆ getMiddleIterator() [3/4]

template<typename IC >
IC DGtal::getMiddleIterator ( const IC & itb,
const IC & ite,
ForwardCategory  )

Specialization for forward category NB: in O(ite-itb)

Definition at line 122 of file SegmentComputerUtils.h.

123{
124 IC i( itb );
125
126 unsigned int c = 0;
127 while (i != ite) {
128 ++i;
129 ++c;
130 }
131 unsigned int k = c/2;
132
133 c = 0;
134 i = itb;
135 while (c != k) {
136 ++i;
137 ++c;
138 }
139
140 return i;
141}

◆ getMiddleIterator() [4/4]

template<typename IC >
IC DGtal::getMiddleIterator ( const IC & itb,
const IC & ite,
RandomAccessCategory  )

Specialization for random access category

Definition at line 87 of file SegmentComputerUtils.h.

88{
89//how to compute this with circulators ?
90//return itb + ((ite-itb)/2);
91//does not work
92 return getMiddleIterator(itb, ite, BidirectionalCategory() );
93}

References getMiddleIterator().

Referenced by getMiddleIterator(), getMiddleIterator(), and mostCenteredMaximalSegment().

◆ hash_value()

template<Dimension dim, typename TInteger >
size_t DGtal::hash_value ( const KhalimskyCell< dim, TInteger > & cell)

Hash function for Khalimsky unsigned cells.

Parameters
cellinput signed cell.
Returns
hash value.

◆ imageFromFunctor()

template<typename I , typename F >
void DGtal::imageFromFunctor ( I & aImg,
const F & aFun )

In a window corresponding to the domain of aImg, copy the values of aFun into aImg

Parameters
aImg(returned) image
aFuna unary functor
Template Parameters
Iany model of CImage
Fany model of CPointFunctor

Referenced by testImageFromSet().

◆ imageFromImage()

template<typename I1 , typename I2 >
void DGtal::imageFromImage ( I1 & aImg1,
const I2 & aImg2 )

Copy the values of aImg2 into aImg1 .

Parameters
aImg1the image to fill
aImg2the image to copy
Template Parameters
I1any model of CImage
I2any model of CConstImage

Referenced by testImageFromSet().

◆ imageFromRangeAndValue() [1/2]

template<typename It , typename Im >
void DGtal::imageFromRangeAndValue ( const It & itb,
const It & ite,
Im & aImg,
const typename Im::Value & aValue = 0 )

Set the values of aImg at aValue for each points of the range [ itb , ite )

Parameters
itbbegin iterator on points
iteend iterator on points
aImg(returned) image
aValueany value (default: 0)
Template Parameters
Itany model of forward iterator
Imany model of CImage

Referenced by main(), and testImageFromSet().

◆ imageFromRangeAndValue() [2/2]

template<typename R , typename I >
void DGtal::imageFromRangeAndValue ( const R & aRange,
I & aImg,
const typename I::Value & aValue = 0 )

Set the values of aImg at aValue for each points of the range aRange

Parameters
aRangeany range
aImg(returned) image
aValueany value (default: 0)
Template Parameters
Rany model of CConstSinglePassRange
Iany model of CImage

◆ inf()

template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
auto DGtal::inf ( PointVector< ptDim, LeftEuclideanRing, LeftContainer > const & lhs,
PointVector< ptDim, RightEuclideanRing, RightContainer > const & rhs ) -> decltype( DGtal::constructFromArithmeticConversion(lhs, rhs) )
inline

Implements the infimum (or greatest lower bound).

It means the point whose coordinates are exactly the minimum of the two points coordinate by coordinate.

Returns
a new point (with best Euclidean ring type accordingly to the C++ conversion rules) being the inf between lhs and rhs;
See also
isLower

Referenced by TEST_CASE().

◆ insertAndAlwaysSetValue()

template<typename I , typename S >
bool DGtal::insertAndAlwaysSetValue ( I & aImg,
S & aSet,
const typename I::Point & aPoint,
const typename I::Value & aValue )

Insert aPoint in aSet and set aValue at aPoint in aImg.

Parameters
aImgan image
aSeta digital set
aPointa point
aValuea value
Returns
'true' if a new point was inserted in aSet but 'false' if the same point already exist in aSet
Template Parameters
Iany model of CImage
Sany model of CDigitalSet

The general behavior is like:

bool found = false;
if ( aSet.find( aPoint ) != aSet.end() )
found = true;
//always set value
aSet.insert( aPoint );
aImg.setValue( aPoint, aValue );
return !found;
const Point aPoint(3, 4)

However, this code is specialized if I is an ImageContainerBySTLMap and S is a DigitalSetFromMap<I> as follows:

std::pair<P, V>
pair( aPoint, aValue );
std::pair<Iterator, bool> res
= aImg.insert( pair );
bool flag = res.second;
if (flag == false) //set value even in this case
res.first->second = aValue;
return flag;
See also
ImageContainerBySTLMap DigitalSetFromMap
insertAndSetValue

◆ insertAndSetValue()

template<typename I , typename S >
bool DGtal::insertAndSetValue ( I & aImg,
S & aSet,
const typename I::Point & aPoint,
const typename I::Value & aValue )

Insert aPoint in aSet and if (and only if) aPoint is a newly inserted point. Then set aValue at aPoint in aImg.

Parameters
aImgan image
aSeta digital set
aPointa point
aValuea value
Returns
'true' if a new point was inserted in aSet but 'false' if the same point already exist in aSet
Template Parameters
Iany model of CImage
Sany model of CDigitalSet

The general behavior is like:

bool found = true;
if ( aSet.find( aPoint ) == aSet.end() )
{ //if not found
found = false;
aSet.insert( aPoint );
aImg.setValue( aPoint, aValue );
}
return !found;

However, this code is specialized if I is an ImageContainerBySTLMap and S is a DigitalSetFromMap<I> as follows:

std::pair<P, V>
pair( aPoint, aValue );
std::pair<Iterator, bool> res
= aImg.insert( pair );
return res.second;
See also
ImageContainerBySTLMap DigitalSetFromMap
insertAndAlwaysSetValue

◆ isEmpty()

template<typename IC >
bool DGtal::isEmpty ( const IC & itb,
const IC & ite )
inline

Checks if the range [ itb , ite ) is empty

Parameters
itbbegin iterator of the range
iteend iterator of the range
Template Parameters
ICmodel of iterator or circulator

◆ isLower()

template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
bool DGtal::isLower ( PointVector< ptDim, LeftEuclideanRing, LeftContainer > const & lhs,
PointVector< ptDim, RightEuclideanRing, RightContainer > const & rhs )
inline

Return true if the first point is below the second point.

Returns
true if lhs is below rhs (ie. lhs == inf(lhs,rhs))
Note
faster than computing the infimum and compare it afterwards.

Referenced by TEST_CASE().

◆ isNotEmpty()

template<typename IC >
bool DGtal::isNotEmpty ( const IC & itb,
const IC & ite )
inline

Checks if the range [ itb , ite ) is not empty

Parameters
itbbegin iterator of the range
iteend iterator of the range
Template Parameters
ICmodel of iterator or circulator

Referenced by displayAll(), firstMaximalSegment(), maximalRetraction(), mostCenteredMaximalSegment(), mostCenteredMaximalSegment(), nextMaximalSegment(), oppositeEndMaximalRetraction(), previousMaximalSegment(), previousMaximalSegment(), previousMaximalSegment(), test(), and testIsNotEmpty().

◆ isUpper()

template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightEuclideanRing , typename RightContainer >
bool DGtal::isUpper ( PointVector< ptDim, LeftEuclideanRing, LeftContainer > const & lhs,
PointVector< ptDim, RightEuclideanRing, RightContainer > const & rhs )
inline

Return true if the first point is upper the second point.

Returns
true if lhs is upper rhs (ie. lhs == sup(lhs,rhs))
Note
faster than computing the supremum and compare it afterwards.

Referenced by TEST_CASE().

◆ lastMaximalSegment() [1/5]

template<typename SC >
void DGtal::lastMaximalSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end )

Computes the last maximal segment passing through i

Parameters
sany instance of segment computer
iany ConstIterator
beginany begin ConstIterator bounding a range
endany end ConstIterator bounding a range
Template Parameters
SCany model of segment computer

Definition at line 776 of file SegmentComputerUtils.h.

780{
781 lastMaximalSegment<SC>(s, i, begin, end,
783}

References lastMaximalSegment().

◆ lastMaximalSegment() [2/5]

template<typename SC >
void DGtal::lastMaximalSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end,
BidirectionalSegmentComputer  )

Computes the last maximal segment passing through i

Parameters
sany instance of segment computer
iany ConstIterator
beginany begin ConstIterator bounding a range
endany end ConstIterator bounding a range
Template Parameters
SCany model of CBidirectionalSegmentComputer

Definition at line 717 of file SegmentComputerUtils.h.

722{
723 s.init(i);
724
725 maximalExtension(s, end);
727}

References maximalExtension(), and oppositeEndMaximalExtension().

◆ lastMaximalSegment() [3/5]

template<typename SC >
void DGtal::lastMaximalSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end,
DGtal::DynamicBidirectionalSegmentComputer  )

Computes the last maximal segment passing through i

Parameters
sany instance of segment computer
iany ConstIterator
beginany begin ConstIterator bounding a range
endany end ConstIterator bounding a range
Template Parameters
SCany model of CDynamicBidirectionalSegmentComputer
Note
calls the function dedicated to BidirectionalSegmentComputer

Definition at line 758 of file SegmentComputerUtils.h.

763{
765}
void lastMaximalSegment(SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::ForwardSegmentComputer)

References lastMaximalSegment().

◆ lastMaximalSegment() [4/5]

template<typename SC >
void DGtal::lastMaximalSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end,
DGtal::DynamicSegmentComputer  )

Computes the last maximal segment passing through i

Parameters
sany instance of segment computer
iany ConstIterator
beginany begin ConstIterator bounding a range
endany end ConstIterator bounding a range
Template Parameters
SCany model of CDynamicSegmentComputer
Note
calls the function dedicated to ForwardSegmentComputer

Definition at line 739 of file SegmentComputerUtils.h.

744{
746}

References lastMaximalSegment().

◆ lastMaximalSegment() [5/5]

template<typename SC >
void DGtal::lastMaximalSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end,
DGtal::ForwardSegmentComputer  )

Computes the last maximal segment passing through i

Parameters
sany instance of segment computer
iany ConstIterator
beginany begin ConstIterator bounding a range
endany end ConstIterator bounding a range
Template Parameters
SCany model of CForwardSegmentComputer

Definition at line 681 of file SegmentComputerUtils.h.

686{
687
688 typedef typename SC::ConstIterator ConstIterator;
689 typedef typename SC::Reverse ReverseSegmentComputer;
690 typedef typename ReverseSegmentComputer::ConstIterator ConstReverseIterator;
691
692 //forward extension
693 ConstIterator j( i );
694 longestSegment(s, j, end);
695
696 //backward extension
697 ConstIterator it( s.end() );
698 ConstReverseIterator rit( it );
699 ConstReverseIterator rend( begin );
700 ReverseSegmentComputer r( s.getReverse() );
701 longestSegment(r, rit, rend);
702
703 //forward extension
704 ConstIterator it2( r.end().base() );
705 longestSegment(s, it2, end);
706}

References longestSegment().

Referenced by lastMaximalSegment(), lastMaximalSegment(), lastMaximalSegment(), main(), previousMaximalSegment(), and previousMaximalSegment().

◆ longestSegment() [1/3]

template<typename SC >
void DGtal::longestSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & end )

Computes the longest possible segment from [i]

Parameters
sany instance of segment computer
ia given ConstIterator
endany end ConstIterator
Template Parameters
SCany model of segment computer

Definition at line 391 of file SegmentComputerUtils.h.

References longestSegment().

◆ longestSegment() [2/3]

template<typename SC >
void DGtal::longestSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & end,
CirculatorType  )

Specialization for Circulator type

Definition at line 374 of file SegmentComputerUtils.h.

378{
379 s.init(i);
381}

References maximalExtension().

◆ longestSegment() [3/3]

template<typename SC >
void DGtal::longestSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & end,
IteratorType  )

Specialization for Iterator type

Definition at line 359 of file SegmentComputerUtils.h.

363 {
364 if (i != end) {
365 s.init(i);
366 maximalExtension(s, end, IteratorType() );
367 }
368}

References maximalExtension().

Referenced by drawingTestStabbingCircleComputer(), firstMaximalSegment(), lastMaximalSegment(), longestSegment(), mostCenteredMaximalSegment(), testRecognition(), and testStabbingCircleComputer().

◆ makeArrayImageAdapterFromImage() [1/2]

template<typename TImage , typename TDomain = typename TImage::Domain>
ArrayImageAdapter< decltype(((TImage *) nullptr) ->begin()), TDomain > DGtal::makeArrayImageAdapterFromImage ( TImage & anImage)

Returns an ArrayImageAdapter from an image.

The viewable domain will be the same as the given image domain.

Parameters
anImageThe image that models the CConstImage concept.

Definition at line 521 of file ArrayImageAdapter.h.

522 {
523 // Remove constness because CConstImage requires assignability.
524 BOOST_CONCEPT_ASSERT( (DGtal::concepts::CConstImage< typename std::remove_const<TImage>::type >) );
525
526 return { anImage.begin(), anImage.domain(), anImage.domain() };
527 }
Aim: Defines the concept describing a read-only image, which is a refinement of CPointFunctor.
Definition CConstImage.h:95

◆ makeArrayImageAdapterFromImage() [2/2]

template<typename TImage , typename TDomain = typename TImage::Domain>
ArrayImageAdapter< decltype(((TImage *) nullptr) ->begin()), TDomain > DGtal::makeArrayImageAdapterFromImage ( TImage & anImage,
TDomain const & aViewDomain )

Returns an ArrayImageAdapter from an image and a viewable domain.

Parameters
anImageThe image that models the CConstImage concept.
aViewDomainThe viewable domain of this image.

Definition at line 500 of file ArrayImageAdapter.h.

501 {
502 // Remove constness because CConstImage requires assignability.
503 BOOST_CONCEPT_ASSERT( (DGtal::concepts::CConstImage< typename std::remove_const<TImage>::type >) );
504
505 return { anImage.begin(), anImage.domain(), aViewDomain };
506 }

Referenced by moduleImages_example().

◆ makeArrayImageAdapterFromIterator() [1/2]

template<typename TArrayIterator , typename TDomain >
ArrayImageAdapter< TArrayIterator, TDomain > DGtal::makeArrayImageAdapterFromIterator ( TArrayIterator anArrayIterator,
TDomain const & aFullDomain )

Returns an ArrayImageAdapter from an iterator and a full domain.

The viewable domain will be the same as the full domain.

Parameters
anArrayIteratorA random-access iterator on the datas.
aFullDomainThe domain span by the given iterator.
Returns
an ArrayImageAdapter instance.

Definition at line 483 of file ArrayImageAdapter.h.

484 {
485 return { anArrayIterator, aFullDomain, aFullDomain };
486 }

◆ makeArrayImageAdapterFromIterator() [2/2]

template<typename TArrayIterator , typename TDomain >
ArrayImageAdapter< TArrayIterator, TDomain > DGtal::makeArrayImageAdapterFromIterator ( TArrayIterator anArrayIterator,
TDomain const & aFullDomain,
TDomain const & aViewDomain )

Returns an ArrayImageAdapter from an iterator, a full domain and a viewable domain.

Parameters
anArrayIteratorA random-access iterator on the datas.
aFullDomainThe domain span by the given iterator.
aViewDomainThe viewable domain of this image.
Returns
an ArrayImageAdapter instance.

Definition at line 465 of file ArrayImageAdapter.h.

466 {
467 return { anArrayIterator, aFullDomain, aViewDomain };
468 }

Referenced by moduleImages_example().

◆ makeQuantifiedColorMap()

template<typename TColorMap >
QuantifiedColorMap< TColorMap > DGtal::makeQuantifiedColorMap ( TColorMap colormap,
int nb = 50 )

Template function to simplify the build of QuantifiedColorMap object.

Template Parameters
TColorMapan arbitrary model of concepts::CColorMap.
Parameters
[in]colormapthe colormap to quantify in nb colors.
[in]nbthe targeted maximum number of colors (default is 50).

Definition at line 113 of file QuantifiedColorMap.h.

114 {
115 return QuantifiedColorMap< TColorMap >( colormap, nb );
116 }
Aim: A modifier class that quantifies any colormap into a given number of colors. It is particularly ...

◆ makeShroudsRegularization()

template<typename TDigitalSurfaceContainer >
ShroudsRegularization< TDigitalSurfaceContainer > DGtal::makeShroudsRegularization ( CountedPtr< IndexedDigitalSurface< TDigitalSurfaceContainer > > surface,
double eps = 0.00001 )

Helper function for constructing a ShroudsRegularization from a (closed) surface.

Template Parameters
TDigitalSurfaceContainerany digital surface container (a model concepts::CDigitalSurfaceContainer), for instance a SetOfSurfels.
Parameters
surfacea counted pointer on an indexed digital surface.
epsthe bounds for varying the positions of vertices in ]0,1[
Note
Complexity is linear in the number of surfels of surface.
See also
testShroudsRegularization.cpp

Definition at line 586 of file ShroudsRegularization.h.

589 {
591 }
Aim: Implements the Shrouds Regularization algorithm of Nielson et al nielson2003shrouds.
CountedPtr< SH3::DigitalSurface > surface

References surface.

◆ maximalExtension() [1/3]

template<typename SC >
void DGtal::maximalExtension ( SC & s,
const typename SC::ConstIterator & ,
CirculatorType  )

Specialization for Circulator type

Definition at line 174 of file SegmentComputerUtils.h.

175{
176 //stop if the segment is the whole range
177 const typename SC::ConstIterator newEnd( s.begin() );
178 while ( (s.extendFront())
179 && (s.end() != newEnd) ) {}
180}

◆ maximalExtension() [2/3]

template<typename SC >
void DGtal::maximalExtension ( SC & s,
const typename SC::ConstIterator & end )

Calls s.extendFront() while possible

Parameters
sany instance of segment computer
endany ConstIterator
Template Parameters
SCany model of segment computer

Definition at line 188 of file SegmentComputerUtils.h.

188 {
190 maximalExtension( s, end, Type() );
191}

References maximalExtension().

◆ maximalExtension() [3/3]

template<typename SC >
void DGtal::maximalExtension ( SC & s,
const typename SC::ConstIterator & end,
IteratorType  )

Specialization for Iterator type

Definition at line 164 of file SegmentComputerUtils.h.

164 {
165 //stop if s.end() == end
166 while ( (s.end() != end)
167 && (s.extendFront()) ) {}
168}

Referenced by firstMaximalSegment(), lastMaximalSegment(), longestSegment(), longestSegment(), maximalExtension(), mostCenteredMaximalSegment(), and nextMaximalSegment().

◆ maximalRetraction()

template<typename SC >
void DGtal::maximalRetraction ( SC & s,
const typename SC::ConstIterator & end )

Calls s.retractBack() while s.isExtendableFront() returns false

Parameters
sany instance of segment computer
endany ConstIterator
Template Parameters
SCany model of segment computer

Definition at line 323 of file SegmentComputerUtils.h.

324{
325 if ( isNotEmpty<typename SC::ConstIterator>(s.end(),end) ) {
326 while ( (! s.isExtendableFront() )
327 &&(s.retractBack() ) ) {}
328 } else {
329 while ( s.retractBack() ) {}
330 }
331}

References isNotEmpty().

Referenced by nextMaximalSegment().

◆ maximalSymmetricExtension() [1/3]

template<typename SC >
bool DGtal::maximalSymmetricExtension ( SC & s,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end )

Calls alternatively s.extendFront() and s.extendBack() while it is possible

Parameters
sany instance of (bidirectional)segment computer
beginbegin iterator of a range
endend iterator of a range
Returns
'true' if the extension at the front fails first and 'false' if the extension at the back fails first
Template Parameters
SCany model of CBidirectionalSegmentComputer

Definition at line 305 of file SegmentComputerUtils.h.

307 {
308
310 return maximalSymmetricExtension( s, begin, end, Type() );
311
312}
bool maximalSymmetricExtension(SC &s, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, IteratorType)

References maximalSymmetricExtension().

◆ maximalSymmetricExtension() [2/3]

template<typename SC >
bool DGtal::maximalSymmetricExtension ( SC & s,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end,
CirculatorType  )

Specialization for Circulator type

Definition at line 270 of file SegmentComputerUtils.h.

274{
275 boost::ignore_unused_variable_warning( begin );
276 boost::ignore_unused_variable_warning( end );
277
278 bool flagOk = true;
279 bool flagForward = true;
280 //while the extensions are possible and
281 //the segment does not correspond to the whole range
282 while ( (flagOk) && ( s.end() != s.begin() ) ) {
283 if (flagForward) {
284 flagForward = false;
285 flagOk = s.extendFront();
286 } else {
287 flagForward = true;
288 flagOk = s.extendBack();
289 }
290 }
291 return !flagForward;
292}

◆ maximalSymmetricExtension() [3/3]

template<typename SC >
bool DGtal::maximalSymmetricExtension ( SC & s,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end,
IteratorType  )

Specialization for Iterator type

Definition at line 236 of file SegmentComputerUtils.h.

239 {
240
241 bool flagOk = true;
242 bool flagForward = true;
243 //while the extension is possible
244 //at the front and (then) at the back
245 while (flagOk) {
246 if (flagForward) {
247 flagForward = false;
248 if ( s.end() != end ) flagOk = s.extendFront();
249 else flagOk = false;
250 } else {
251 flagForward = true;
252 if ( s.begin() != begin ) flagOk = s.extendBack();
253 else flagOk = false;
254 }
255 }
256 //extend one more time if s.begin() == begin
257 if (s.begin() != begin ) {
258 if (s.extendBack()) return !s.extendFront();
259 else return false;
260 } else {
261 return !flagForward;
262 }
263
264}

Referenced by maximalSymmetricExtension(), and mostCenteredMaximalSegment().

◆ mmonomial() [1/8]

template<typename Ring , typename Alloc >
MPolynomial< 1, Ring, Alloc > DGtal::mmonomial ( unsigned int e)
inline

Creates a monomial in one indeterminate.

Parameters
ethe exponent for X_0
Returns
the 1-variable polynomial X_0^e
Template Parameters
Ringthe type for the coefficent ring of the polynomial.
Allocthe type of allocator.

Definition at line 1696 of file MPolynomial.h.

1697 {
1699 p[e] = 1;
1700 return p;
1701 }

Referenced by durchblick(), DGtal::LagrangeInterpolation< TEuclideanRing >::init(), SCENARIO(), SCENARIO(), and testMPolynomial().

◆ mmonomial() [2/8]

template<typename Ring >
MPolynomial< 1, Ring, std::allocator< Ring > > DGtal::mmonomial ( unsigned int e)
inline

Creates a monomial in one indeterminate.

Parameters
ethe exponent for X_0
Returns
the 1-variable polynomial X_0^e
Template Parameters
Ringthe type for the coefficent ring of the polynomial.

Definition at line 1768 of file MPolynomial.h.

1769 {
1771 p[e] = 1;
1772 return p;
1773 }

◆ mmonomial() [3/8]

template<typename Ring , typename Alloc >
MPolynomial< 2, Ring, Alloc > DGtal::mmonomial ( unsigned int e,
unsigned int f )
inline

Creates a monomial in two indeterminates.

Parameters
ethe exponent for X_0
fthe exponent for X_1
Returns
the 2-variables polynomial X_0^e X_1^f
Template Parameters
Ringthe type for the coefficent ring of the polynomial.
Allocthe type of allocator.

Definition at line 1714 of file MPolynomial.h.

1715 {
1717 p[e][f] = 1;
1718 return p;
1719 }

◆ mmonomial() [4/8]

template<typename Ring >
MPolynomial< 2, Ring, std::allocator< Ring > > DGtal::mmonomial ( unsigned int e,
unsigned int f )
inline

Creates a monomial in two indeterminates.

Parameters
ethe exponent for X_0
fthe exponent for X_1
Returns
the 2-variables polynomial X_0^e X_1^f
Template Parameters
Ringthe type for the coefficent ring of the polynomial.

Definition at line 1785 of file MPolynomial.h.

1786 {
1788 p[e][f] = 1;
1789 return p;
1790 }

◆ mmonomial() [5/8]

template<typename Ring , typename Alloc >
MPolynomial< 3, Ring, Alloc > DGtal::mmonomial ( unsigned int e,
unsigned int f,
unsigned int g )
inline

Creates a monomial in three indeterminates.

Parameters
ethe exponent for X_0
fthe exponent for X_1
gthe exponent for X_2
Returns
the 3-variables polynomial X_0^e X_1^f X_2^g
Template Parameters
Ringthe type for the coefficent ring of the polynomial.
Allocthe type of allocator.

Definition at line 1732 of file MPolynomial.h.

1733 {
1735 p[e][f][g] = 1;
1736 return p;
1737 }

◆ mmonomial() [6/8]

template<typename Ring >
MPolynomial< 3, Ring, std::allocator< Ring > > DGtal::mmonomial ( unsigned int e,
unsigned int f,
unsigned int g )
inline

Creates a monomial in three indeterminates.

Parameters
ethe exponent for X_0
fthe exponent for X_1
gthe exponent for X_2
Returns
the 3-variables polynomial X_0^e X_1^f X_2^g
Template Parameters
Ringthe type for the coefficent ring of the polynomial.

Definition at line 1803 of file MPolynomial.h.

1804 {
1806 p[e][f][g] = 1;
1807 return p;
1808 }

◆ mmonomial() [7/8]

template<typename Ring , typename Alloc >
MPolynomial< 4, Ring, Alloc > DGtal::mmonomial ( unsigned int e,
unsigned int f,
unsigned int g,
unsigned int h )
inline

Creates a monomial in four indeterminates.

Parameters
ethe exponent for X_0
fthe exponent for X_1
gthe exponent for X_2
hthe exponent for X_3
Returns
the 3-variables polynomial X_0^e X_1^f X_2^g X_3^h
Template Parameters
Ringthe type for the coefficent ring of the polynomial.
Allocthe type of allocator.

Definition at line 1752 of file MPolynomial.h.

1753 {
1755 p[e][f][g][h] = 1;
1756 return p;
1757 }

◆ mmonomial() [8/8]

template<typename Ring >
MPolynomial< 4, Ring, std::allocator< Ring > > DGtal::mmonomial ( unsigned int e,
unsigned int f,
unsigned int g,
unsigned int h )
inline

Creates a monomial in four indeterminates.

Parameters
ethe exponent for X_0
fthe exponent for X_1
gthe exponent for X_2
hthe exponent for X_3
Returns
the 3-variables polynomial X_0^e X_1^f X_2^g X_3^h
Template Parameters
Ringthe type for the coefficent ring of the polynomial.

Definition at line 1822 of file MPolynomial.h.

1824 {
1826 p[e][f][g][h] = 1;
1827 return p;
1828 }

◆ mostCenteredMaximalSegment() [1/5]

template<typename SC >
void DGtal::mostCenteredMaximalSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end )

Computes the most centered maximal segment passing through i

Parameters
sany instance of segment computer
iany ConstIterator
beginany begin ConstIterator bounding a range
endany end ConstIterator bounding a range
Template Parameters
SCany model of segment computer

Definition at line 660 of file SegmentComputerUtils.h.

664{
665 mostCenteredMaximalSegment<SC>(s, i, begin, end,
667}

References mostCenteredMaximalSegment().

◆ mostCenteredMaximalSegment() [2/5]

template<typename SC >
void DGtal::mostCenteredMaximalSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end,
DGtal::BidirectionalSegmentComputer  )

Computes the most centered maximal segment passing through i

Parameters
sany instance of segment computer
iany ConstIterator
beginany begin ConstIterator bounding a range
endany end ConstIterator bounding a range
Template Parameters
SCany model of CBidirectionalSegmentComputer

Definition at line 587 of file SegmentComputerUtils.h.

592{
593
594 if ( (isNotEmpty(i,end)) || (isNotEmpty(i,begin)) ) {
595
596 s.init(i);
597
598 //symmetric extension
599 if ( (isNotEmpty(i,end)) && (isNotEmpty(i,begin)) ) {
600 maximalSymmetricExtension(s, begin, end);
601 }
602
603 //forward extension
604 maximalExtension(s, end);
605
606 //backward extension
607 oppositeEndMaximalExtension(s, begin);
608
609 }
610
611}

References isNotEmpty(), maximalExtension(), maximalSymmetricExtension(), and oppositeEndMaximalExtension().

◆ mostCenteredMaximalSegment() [3/5]

template<typename SC >
void DGtal::mostCenteredMaximalSegment ( SC & s,
const typename SC::ConstIterator & i,
const typename SC::ConstIterator & begin,
const typename SC::ConstIterator & end,
DGtal::DynamicBidirectionalSegmentComputer  )

Computes the most centered maximal segment passing through i

Parameters
sany instance of segment computer
iany ConstIterator
beginany begin ConstIterator bounding a range
endany end ConstIterator bounding a range
Template Parameters
SCany model of CDynamicBidirectionalSegmentComputer
Note
calls the function dedicated to BidirectionalSegmentComputer

Definition at line 642 of file SegmentComputerUtils.h.

647{
649}
void mostCenteredMaximalSegment(SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::ForwardSegmentComputer)

References mostCenteredMaximalSegment().

◆ mostCenteredMaximalSegment() [4/5]

template<typename SC >
void DGtal::mostCenteredMaximalSegment ( SC & s,