DGtal  1.0.0
Namespaces | Data Structures | Typedefs | Enumerations | Functions | Variables
DGtal Namespace Reference

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

Namespaces

 concepts
 Aim: Gathers several functions useful for concept checks.
 
 deprecated
 Deprecated functions and types of the DGtal library.
 
 detail
 detail namespace gathers internal classes and functions.
 
 details
 
 experimental
 Experimental functions and types of the DGtal library.
 
 functions
 functions namespace gathers all DGtal functionsxs.
 
 functors
 functors namespace gathers all DGtal functors.
 
 Z2i
 Z2i this namespace gathers the standard of types for 2D imagery.
 
 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 [38] . 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  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  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  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...
 
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...
 
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...
 
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  DigitalMetricAdapter
 Aim: simple adapter class which adapts any models of concepts::CMetricSpace to a model of concepts::CDigitalMetricSpace. 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  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  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  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, HueShadeColorMap< TValue > >
 
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  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
 
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
 
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. 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...
 
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  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: 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  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...
 
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  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  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  MagickReader
 Aim: implements methods to read a 2D image using the ImageMagick library. More...
 
struct  MagickWriter
 Aim: Export image using Imagemagick backend. More...
 
struct  MapAssociativeCategory
 
class  MeaningfulScaleAnalysis
 Aim: This class implements different methods used to define the meaningful scale analysis as proposed in [45] . 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: [58]]. 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  NaiveDSS8Computer
 Aim: This class is a wrapper around ArithmeticalDSS that is devoted to the dynamic recognition of naive and simply 8-connected digital straight segments (DSS) along any sequence of digital points. 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  NGon2D
 Aim: Model of the concept StarShaped represents any regular k-gon in the plane. 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...
 
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  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  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. 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  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  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  StandardDSS4Computer
 Aim: This class is a wrapper around ArithmeticalDSS that is devoted to the dynamic recognition of standard and simply 4-connected digital straight segments (DSS) along any sequence of digital points. 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...
 
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
 
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...
 
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  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...
 
struct  ToDGtalCategory
 Aim: Provides the DGtal category matching C. 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 to each element of a range 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  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  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  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
 
class  Xe_kComputer
 
class  Xe_kComputer< 0, Ring, Alloc >
 

Typedefs

typedef boost::uint8_t uint8_t
 unsigned 8-bit integer. More...
 
typedef boost::uint16_t uint16_t
 unsigned 16-bit integer. More...
 
typedef boost::uint32_t uint32_t
 unsigned 32-bit integer. More...
 
typedef boost::uint64_t uint64_t
 unsigned 64-bit integer. More...
 
typedef boost::int8_t int8_t
 signed 8-bit integer. More...
 
typedef boost::int16_t int16_t
 signed 16-bit integer. More...
 
typedef boost::int32_t int32_t
 signed 32-bit integer. More...
 
typedef boost::int64_t int64_t
 signed 94-bit integer. More...
 
typedef mpz_class BigInteger
 Multi-precision integer with GMP implementation. More...
 
typedef DGtal::uint32_t Dimension
 
typedef unsigned int Order
 Aim: Order is used as template parameter for DEC classes. More...
 
template<typename T , typename U >
using ArithmeticConversionType = typename ArithmeticConversionTraits< T, U >::type
 Result type of arithmetic binary operators between two given types. More...
 
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  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 }
 
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
}
 
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)
 
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<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 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 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 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 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 TDigitalSurface , typename TNormalVectorEstimator , typename TEmbedder >
std::ostream & operator<< (std::ostream &out, const NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder > &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 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 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 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 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] More...
 
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 More...
 
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)
 
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. More...
 
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<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. More...
 
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. More...
 
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). More...
 
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). More...
 
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). More...
 
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). More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightScalar >
auto operator+ (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, RightScalar const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Addition operator between a Point/Vector and a scalar. More...
 
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. More...
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightScalar >
auto operator- (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, RightScalar const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Subtraction operator between a Point/Vector and a scalar. More...
 
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. More...
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightScalar >
auto operator * (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, RightScalar const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Multiplication operator between a Point/Vector and a scalar. More...
 
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. More...
 
template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightScalar >
auto operator/ (PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &lhs, RightScalar const &rhs) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
 Division operator between a Point/Vector and a scalar. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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). More...
 
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). More...
 
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. More...
 
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. More...
 
template<Dimension dim, typename Component , typename TC >
std::ostream & operator<< (std::ostream &out, const PointVector< dim, Component, TC > &object)
 Operator <<. More...
 
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)
 
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)
 
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 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'. More...
 
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'. More...
 
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)
 

Variables

Trace trace
 
TraceWriterTerm traceWriterTerm (std::cerr)
 
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 = typedef 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 127 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.

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.

◆ NeighborhoodConfiguration

Definition at line 43 of file NeighborhoodConfigurationsHelper.h.

◆ 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.

◆ 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.

◆ Closest

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

Enumerator
ClosestFIRST 
ClosestSECOND 
ClosestBOTH 

Definition at line 137 of file Common.h.

◆ ColorGradientPreset

Enumerator
CMAP_CUSTOM 
CMAP_GRAYSCALE 
CMAP_SPRING 
CMAP_SUMMER 
CMAP_AUTUMN 
CMAP_WINTER 
CMAP_COOL 
CMAP_COPPER 
CMAP_HOT 
CMAP_JET 

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.

◆ DigitalSetBelongTestability

Enumerator
LOW_BEL_DS 
HIGH_BEL_DS 

Definition at line 63 of file DigitalSetSelector.h.

◆ 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.

◆ DigitalTopologyProperties

Possible properties of digital topologies.

Enumerator
UNKNOWN_DT 
NOT_JORDAN_DT 
JORDAN_DT 

Definition at line 55 of file DigitalTopology.h.

◆ DomainDrawMode

Specifies the drawing mode for domains.

Enumerator
GRID 
PAVING 

Definition at line 57 of file Board2D.h.

57 { GRID = 0, PAVING = 1 };

◆ 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 };

◆ ImageBelongTestability

Enumerator
HIGH_BEL_I 
LOW_BEL_I 

Definition at line 55 of file ImageSelector.h.

◆ ImageIterability

Enumerator
HIGH_ITER_IMAGE 
LOW_ITER_I 

Definition at line 54 of file ImageSelector.h.

◆ ImageSpecificContainer

Enumerator
NORMAL_CONTAINER_I 
VTKIMAGEDATA_CONTAINER_I 

Definition at line 56 of file ImageSelector.h.

◆ Orientation

Global enum definition for orientation.

Enumerator
INSIDE 
ON 
OUTSIDE 

Definition at line 132 of file Common.h.

132 { INSIDE = 0, ON = 1, OUTSIDE = 2};

◆ SignEnum

Sign type of a number.

Enumerator
SIGNED 
UNSIGNED 
SIGN_UNKNOWN 

Definition at line 57 of file NumberTraits.h.

◆ 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  }
Trace trace
Definition: Common.h:144
std::ostream & error()

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  }
Trace trace
Definition: Common.h:144
std::ostream & error()

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  }

◆ 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 >
auto DGtal::crossProduct ( PointVector< 3, LeftEuclideanRing, LeftContainer > const &  lhs,
PointVector< 3, RightEuclideanRing, RightContainer > const &  rhs 
) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
inline

Cross product of two 3D Points/Vectors.

Returns
a 3D point/vector with best component type accordingly to the C++ conversion rules in arithmetic operations context.

Referenced by laplacian(), and TEST_CASE().

◆ crossProduct() [2/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.

◆ 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 1966 of file MPolynomial.h.

1967  {
1968  MPolynomial<n, Ring, Alloc> res( p.getAllocator() );
1970  return res;
1971  }
static void computeDerivative(const MPolyN &src, MPolyN &dest)
Definition: MPolynomial.h:1901

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

◆ 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 1990 of file MPolynomial.h.

1991  {
1992  MPolynomial<n, Ring, std::allocator<Ring> > res( p.getAllocator() );
1993  MPolynomialDerivativeComputer<N, n, Ring, std::allocator<Ring> >
1994  ::computeDerivative( p, res );
1995  return res;
1996  }

◆ 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 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 gcd().

◆ euclidDiv() [2/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 2003 of file MPolynomial.h.

2007  {
2008  if (f.degree() < g.degree())
2009  {
2010  // Ignore the trivial case
2011  q = MPolynomial<1, Ring, Alloc>(f.getAllocator());
2012  r = f;
2013  return;
2014  }
2015  q = MPolynomial<1, Ring, Alloc>( true, f.degree() - g.degree() + 1,
2016  f.getAllocator() );
2017  r = f;
2018  for (int i = q.degree(); i >= 0; --i)
2019  {
2020  q[i] = r[i + g.degree()] / g.leading();
2021  for (int j = g.degree(); j >= 0; --j)
2022  r[i + j] -= q[i] * g[j];
2023  }
2024  r.normalize();
2025  // Note that the degree of q is already correct.
2026  }

References DGtal::MPolynomial< n, TRing, TAlloc >::leading(), and DGtal::MPolynomial< n, TRing, TAlloc >::normalize().

◆ euclidDiv() [3/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 2033 of file MPolynomial.h.

2037  {
2038  euclidDiv<Ring, std::allocator<Ring> >(f, g, q, r);
2039  }

◆ 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  }
Trace trace
Definition: Common.h:144
std::ostream & error()

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  }
Trace trace
Definition: Common.h:144
std::ostream & error()

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,
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 longestSegment().

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

◆ 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 
457  oppositeEndMaximalExtension(s, begin);
458  maximalExtension(s, end);
459 }
void maximalExtension(SC &s, const typename SC::ConstIterator &end, IteratorType)
void oppositeEndMaximalExtension(SC &s, const typename SC::ConstIterator &begin, 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::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 }
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::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() [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 
)

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 }

◆ 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 2047 of file MPolynomial.h.

2049  {
2050  if (f.isZero())
2051  {
2052  if (g.isZero()) return f; // both are zero
2053  else return g / g.leading(); // make g monic
2054  }
2055  MPolynomial<1, Ring, Alloc>
2056  d1(f / f.leading()),
2057  d2(g / g.leading()),
2058  q(f.getAllocator()),
2059  r(f.getAllocator());
2060  while (!d2.isZero())
2061  {
2062  euclidDiv(d1, d2, q, r);
2063  d1.swap(d2);
2064  d2 = r;
2065  d2 /= r.leading(); // make r monic
2066  }
2067  return d1;
2068  }
void euclidDiv(const MPolynomial< 1, TRing, TAlloc > &f, const MPolynomial< 1, TRing, TAlloc > &g, MPolynomial< 1, TRing, TAlloc > &q, MPolynomial< 1, TRing, TAlloc > &r)

References euclidDiv().

Referenced by 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 2076 of file MPolynomial.h.

2078  {
2079  return gcd<Ring, std::allocator<Ring> >(f, g);
2080  }

◆ getMiddleIterator() [1/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 }
IC getMiddleIterator(const IC &itb, const IC &ite, RandomAccessCategory)

Referenced by getMiddleIterator(), and mostCenteredMaximalSegment().

◆ 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 
)

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 }
ToDGtalCategory< typename boost::iterator_category< IC >::type >::Category Category
IC getMiddleIterator(const IC &itb, const IC &ite, RandomAccessCategory)

References getMiddleIterator().

◆ 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;

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 mostCenteredMaximalSegment(), and test().

◆ 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,
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 }
MyDigitalSurface::ConstIterator ConstIterator
void longestSegment(SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &end, IteratorType)

References longestSegment().

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

◆ 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);
726  oppositeEndMaximalExtension(s, begin);
727 }
void maximalExtension(SC &s, const typename SC::ConstIterator &end, IteratorType)
void oppositeEndMaximalExtension(SC &s, const typename SC::ConstIterator &begin, IteratorType)

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::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 }
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::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() [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 
)

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 }

◆ longestSegment() [1/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 }
void maximalExtension(SC &s, const typename SC::ConstIterator &end, IteratorType)

References maximalExtension().

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

◆ 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);
380  maximalExtension(s, end, CirculatorType() );
381 }
void maximalExtension(SC &s, const typename SC::ConstIterator &end, IteratorType)

References maximalExtension().

◆ longestSegment() [3/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.

394 {
396  longestSegment( s, i, end, Type() );
397 }
void longestSegment(SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &end, IteratorType)
IteratorCirculatorType< IC >::Type Type

References longestSegment().

◆ makeArrayImageAdapterFromImage() [1/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  }
Aim: Defines the concept describing a read-only image, which is a refinement of CPointFunctor.
Definition: CConstImage.h:94

Referenced by moduleImages_example().

◆ makeArrayImageAdapterFromImage() [2/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:94

◆ makeArrayImageAdapterFromIterator() [1/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().

◆ makeArrayImageAdapterFromIterator() [2/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  }

◆ maximalExtension() [1/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(), maximalExtension(), mostCenteredMaximalSegment(), and nextMaximalSegment().

◆ maximalExtension() [2/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 }
MyDigitalSurface::ConstIterator ConstIterator

◆ maximalExtension() [3/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 }
void maximalExtension(SC &s, const typename SC::ConstIterator &end, IteratorType)
IteratorCirculatorType< IC >::Type Type

References maximalExtension().

◆ 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 }

Referenced by nextMaximalSegment().

◆ maximalSymmetricExtension() [1/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().

◆ 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 
)

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)
IteratorCirculatorType< IC >::Type Type

References maximalSymmetricExtension().

◆ 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 1686 of file MPolynomial.h.

1687  {
1688  MPolynomial<1, Ring, Alloc> p;
1689  p[e] = 1;
1690  return p;
1691  }

◆ mmonomial() [2/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 1704 of file MPolynomial.h.

1705  {
1706  MPolynomial<2, Ring, Alloc> p;
1707  p[e][f] = 1;
1708  return p;
1709  }

◆ mmonomial() [3/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 1722 of file MPolynomial.h.

1723  {
1724  MPolynomial<3, Ring, Alloc> p;
1725  p[e][f][g] = 1;
1726  return p;
1727  }

◆ mmonomial() [4/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 1742 of file MPolynomial.h.

1743  {
1744  MPolynomial<4, Ring, Alloc> p;
1745  p[e][f][g][h] = 1;
1746  return p;
1747  }

◆ mmonomial() [5/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 1758 of file MPolynomial.h.

1759  {
1760  MPolynomial<1, Ring, std::allocator<Ring> > p;
1761  p[e] = 1;
1762  return p;
1763  }

◆ mmonomial() [6/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 1775 of file MPolynomial.h.

1776  {
1777  MPolynomial<2, Ring, std::allocator<Ring> > p;
1778  p[e][f] = 1;
1779  return p;
1780  }

◆ mmonomial() [7/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 1793 of file MPolynomial.h.

1794  {
1795  MPolynomial<3, Ring, std::allocator<Ring> > p;
1796  p[e][f][g] = 1;
1797  return p;
1798  }

◆ 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 1813 of file MPolynomial.h.

1814  {
1815  MPolynomial<4, Ring, std::allocator<Ring> > p;
1816  p[e][f][g][h] = 1;
1817  return p;
1818  }

◆ 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,
DGtal::ForwardSegmentComputer   
)

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 CForwardSegmentComputer

Definition at line 529 of file SegmentComputerUtils.h.

534 {
535 
536  typedef typename SC::ConstIterator ConstIterator;
537  typedef typename SC::Reverse ReverseSegmentComputer;
538  typedef typename ReverseSegmentComputer::ConstIterator ConstReverseIterator;
539 
540  //get the first maximal segment passing through i
541 
542  firstMaximalSegment( s, i, begin, end, DGtal::ForwardSegmentComputer() );
543 
544  //get the next maximal segment while i is not at the middle of
545  //the current maximal segment.
546 
547  ConstIterator k( s.begin() );
548  while ( k != i ) {
549 
550  if ( isNotEmpty<ConstIterator>(s.end(),end) ) {
551 
552  //backward extension
553  ConstIterator it( s.end() ); ++it;
554  ConstReverseIterator rit( it );
555  ConstReverseIterator rend( s.begin() );
556  ReverseSegmentComputer r( s.getReverse() );
557  longestSegment(r, rit, rend);
558  ConstIterator newBegin = r.end().base();
559  ASSERT( newBegin != s.begin() );
560 
561  while ( ( k != getMiddleIterator(newBegin, s.end() ) )
562  &&( k != i ) ) {
563  ++k;
564  }
565  if ( k != i ) {
566 
567  //get the next maximal segment
568  longestSegment(s, newBegin, end);
569 
570  }
571 
572  } else {
573  k = i;
574  }
575  }
576 }
MyDigitalSurface::ConstIterator ConstIterator
void longestSegment(SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &end, IteratorType)
IC getMiddleIterator(const IC &itb, const IC &ite, RandomAccessCategory)
void firstMaximalSegment(SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::ForwardSegmentComputer)

References firstMaximalSegment(), getMiddleIterator(), and longestSegment().

Referenced by 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 }
void maximalExtension(SC &s, const typename SC::ConstIterator &end, IteratorType)
void oppositeEndMaximalExtension(SC &s, const typename SC::ConstIterator &begin, IteratorType)
bool maximalSymmetricExtension(SC &s, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, IteratorType)
bool isNotEmpty(const IC &itb, const IC &ite)

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::DynamicSegmentComputer   
)

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 CDynamicSegmentComputer
Note
calls the function dedicated to ForwardSegmentComputer

Definition at line 623 of file SegmentComputerUtils.h.

628 {
630 }
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,
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() [5/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 }

◆ nextMaximalSegment() [1/5]

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

Computes the next maximal segment of s (s is assumed to be maximal)

Parameters
sany instance of segment computer
endany end ConstIterator
Template Parameters
SCany model of CForwardSegmentComputer
Note
firstMaximalSegment of s.end()

Definition at line 797 of file SegmentComputerUtils.h.

800 {
801  firstMaximalSegment(s, s.end(), s.begin(), end, ForwardSegmentComputer() );
802 }
void firstMaximalSegment(SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::ForwardSegmentComputer)

References firstMaximalSegment().

Referenced by main(), and nextMaximalSegment().

◆ nextMaximalSegment() [2/5]

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

Computes the next maximal segment of s (s is assumed to be maximal)

Parameters
sany instance of segment computer
endend ConstIterator
Template Parameters
SCany model of CBidirectionalSegmentComputer
Note
firstMaximalSegment of s.end()

Definition at line 813 of file SegmentComputerUtils.h.

816 {
817  firstMaximalSegment(s, s.end(), s.begin(), end, DGtal::BidirectionalSegmentComputer() );
818 }
void firstMaximalSegment(SC &s, const typename SC::ConstIterator &i, const typename SC::ConstIterator &begin, const typename SC::ConstIterator &end, DGtal::ForwardSegmentComputer)

References firstMaximalSegment().

◆ nextMaximalSegment() [3/5]

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

Computes the next maximal segment of s (s is assumed to be maximal)

Parameters
sany instance of segment computer
endend ConstIterator
Template Parameters
SCany model of CDynamicSegmentComputer

Definition at line 828 of file SegmentComputerUtils.h.

831 {
832  typedef typename SC::ConstIterator ConstIterator;
833 
834  //rectract
835  maximalRetraction(s, end);
836 
837  //intersection test
838  ConstIterator i( s.begin() ); ++i;
839  //if the intersection between the two
840  // consecutive maximal segments is empty
841  if ( i == s.end() ) {
842  if ( isNotEmpty<ConstIterator>(i, end) ) {
843  ++i;
844  s.init(i);
845  }
846  }
847 
848  //extend
849  maximalExtension(s, end);
850 }
MyDigitalSurface::ConstIterator ConstIterator
void maximalRetraction(SC &s, const typename SC::ConstIterator &end)
void maximalExtension(SC &s, const typename SC::ConstIterator &end, IteratorType)

References maximalExtension(), and maximalRetraction().

◆ nextMaximalSegment() [4/5]

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

Computes the next maximal segment of s (s is assumed to be maximal)

Parameters
sany instance of segment computer
endend ConstIterator
Template Parameters
SCany model of CDynamicBidirectionalSegmentComputer
Note
calls the function dedicated to DynamicSegmentComputer

Definition at line 861 of file SegmentComputerUtils.h.

864 {
866 }
void nextMaximalSegment(SC &s, const typename SC::ConstIterator &end, DGtal::ForwardSegmentComputer)

References nextMaximalSegment().

◆ nextMaximalSegment() [5/5]

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

Computes the next maximal segment of s (s is assumed to be maximal)

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

Definition at line 876 of file SegmentComputerUtils.h.

878 {
879  nextMaximalSegment<SC>(s, end,
881 }

◆ operator &()

template<typename TKSpace , typename TCellContainer >
CubicalComplex< TKSpace, TCellContainer > DGtal::operator & ( const CubicalComplex< TKSpace, TCellContainer > &  S1,
const CubicalComplex< TKSpace, TCellContainer > &  S2 
)
inline

Cubical Complex intersection operation. Returns the cubical complex \( S1 \cap S2 \).

Template Parameters
TKSpacethe digital space in which lives the cubical complex.
TCellContainerthe associative container used to store cells within the cubical complex.
Parameters
[in]S1an input cubical complex.
[in]S2another input cubical complex.
Returns
the cubical complex \( S1 \cap S2 \).

Definition at line 180 of file CubicalComplexFunctions.h.

182  {
183  typedef CubicalComplex< TKSpace, TCellContainer > CC;
184  CC S( S1 );
185  for ( Dimension i = 0; i <= CC::dimension; ++i )
186  functions::setops::operator&=( S.myCells[ i ], S2.myCells[ i ] );
187  return S;
188  }
DGtal::uint32_t Dimension
Definition: Common.h:127
Aim: This class represents an arbitrary cubical complex living in some Khalimsky space....
CubicalComplex< KSpace, Map > CC
static const Dimension dimension
The dimension of the embedding space.

References DGtal::CubicalComplex< TKSpace, TCellContainer >::dimension, and DGtal::CubicalComplex< TKSpace, TCellContainer >::myCells.

◆ operator *() [1/11]

template<typename TKSpace , typename TCellContainer >
CubicalComplex< TKSpace, TCellContainer > DGtal::operator * ( const CubicalComplex< TKSpace, TCellContainer > &  S1)
inline

Cubical Complex open operation.

Template Parameters
TKSpacethe digital space in which lives the cubical complex.
TCellContainerthe associative container used to store cells within the cubical complex.
Parameters
[in]S1an input cubical complex
Returns
a new cubical complex that is the opening of S1.

Definition at line 78 of file CubicalComplexFunctions.h.

79  {
80  CubicalComplex< TKSpace, TCellContainer > S( S1 );
81  S.open();
82  return S;
83  }

References DGtal::CubicalComplex< TKSpace, TCellContainer >::open().

◆ operator *() [2/11]

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> DGtal::operator * ( const typename Calculus::Scalar &  scalar,
const LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > &  linear_operator 
)

Overloads 'operator*' for scalar multiplication of objects of class 'LinearOperator'.

Parameters
scalarleft operant
linear_operatorright operant
Returns
scalar * linear_operator.

◆ operator *() [3/11]

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> DGtal::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 
)

Overloads 'operator*' for internal multiplication of objects of class 'LinearOperator'.

Parameters
operator_leftleft operant
operator_rightright operant
Returns
operator_left * operator_right.

◆ operator *() [4/11]

template<typename Calculus , Order order_in, Duality duality_in, Order order_out, Duality duality_out>
KForm<Calculus, order_out, duality_out> DGtal::operator * ( const LinearOperator< Calculus, order_in, duality_in, order_out, duality_out > &  linear_operator,
const KForm< Calculus, order_in, duality_in > &  input_form 
)

Overloads 'operator*' for application of objects of class 'LinearOperator' on objects of class 'KForm'.

Parameters
linear_operatorleft operant
input_formright operant
Returns
linear_operator * input_form.

◆ operator *() [5/11]

template<typename Calculus , Order order, Duality duality>
KForm<Calculus, order, duality> DGtal::operator * ( const typename Calculus::Scalar &  scalar,
const KForm< Calculus, order, duality > &  form 
)

Overloads 'operator*' for scalar multiplication of objects of class 'KForm'.

Parameters
scalarleft operant
formright operant
Returns
scalar * form.

◆ operator *() [6/11]

template<typename Calculus , Duality duality>
VectorField<Calculus, duality> DGtal::operator * ( const typename Calculus::Scalar &  scalar,
const VectorField< Calculus, duality > &  vector_field 
)

Overloads 'operator*' for scalar multiplication of objects of class 'VectorField'.

Parameters
scalarleft operant
vector_fieldright operant
Returns
scalar * vector_field.

◆ operator *() [7/11]

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

Multiplication operator between two Points/Vectors.

Returns
a point/vector with best component type accordingly to the C++ conversion rules in arithmetic operations context.

◆ operator *() [8/11]

template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightScalar >
auto DGtal::operator * ( PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &  lhs,
RightScalar const &  rhs 
) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
inline

Multiplication operator between a Point/Vector and a scalar.

Returns
a point/vector with best component type accordingly to the C++ conversion rules in arithmetic operations context.

◆ operator *() [9/11]

template<typename TComponent , DGtal::Dimension TM, DGtal::Dimension TN>
SimpleMatrix<TComponent, TM, TN> DGtal::operator * ( const TComponent &  scalar,
const SimpleMatrix< TComponent, TM, TN > &  matrix 
)

External scalar multiplication

◆ operator *() [10/11]

template<Dimension ptDim, typename LeftScalar , typename RightEuclideanRing , typename RightContainer >
auto DGtal::operator * ( LeftScalar const &  lhs,
PointVector< ptDim, RightEuclideanRing, RightContainer > const &  rhs 
) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
inline

Multiplication operator between a scalar and a Point/Vector.

Returns
a point/vector with best component type accordingly to the C++ conversion rules in arithmetic operations context.

◆ operator *() [11/11]

Color DGtal::operator * ( const double  coeff,
const Color aColor 
)

External multiplication operator with a scalar number

Parameters
coeffis the factor Color is multiplied by.
aColoris the vector that is multiplied by the factor coef.
Returns
a new Vector that is the multiplication of aVector by coeff.

◆ operator >>() [1/3]

template<typename TPoint >
bool DGtal::operator >> ( Mesh< TPoint > &  aMesh,
const std::string &  aFilename 
)

'operator>>' for exporting objects of class 'Mesh'. This operator automatically selects the good method according to the filename extension (off, obj).

Parameters
aMeshthe mesh to be exported.
aFilenamethe filename of the file to be exported.
Returns
true, if the export was successful.

◆ operator >>() [2/3]

template<typename TPoint >
bool DGtal::operator >> ( Mesh< TPoint > &  aMesh,
std::ostream &  out 
)

'operator>>' for exporting objects of class 'Mesh' in OFF format.

Parameters
aMeshthe mesh to be exported.
outthe output of the OFF exportation.
Returns
true, if the export was successful.

◆ operator >>() [3/3]

template<typename TImageContainer >
bool DGtal::operator >> ( const TImageContainer &  aContainer,
const std::string &  aFilename 
)

'operator>>' for exporting an ImageContainer. This operator automatically selects the best method according to the filename extension (pgm, pgm3D, raw, vol).

Parameters
aContainerthe container to be exported.
aFilenamethe filename of the file to be exported.
Returns
true, if the export was successful.

◆ operator!=() [1/2]

template<typename TKSpace , typename TCellContainer >
bool DGtal::operator!= ( const CubicalComplex< TKSpace, TCellContainer > &  S1,
const CubicalComplex< TKSpace, TCellContainer > &  S2 
)

Difference test.

Template Parameters
TKSpacethe digital space in which lives the cubical complex.
TCellContainerthe associative container used to store cells within the cubical complex.
Parameters
[in]S1an input cubical complex.
[in]S2another input cubical complex.
Returns
true iff S1 is not equal to S2 (i.e. either S1 is not a subcomplex of S2 or S2 is not a subcomplex of S1).

Definition at line 293 of file CubicalComplexFunctions.h.

295  {
296  typedef CubicalComplex< TKSpace, TCellContainer > CC;
297  ASSERT( &(S1.space()) == &(S2.space()) );
298  for ( Dimension i = 0; i <= CC::dimension; ++i )
299  if ( ! functions::isEqual( S1.myCells[ i ], S2.myCells[ i ] ) )
300  return true;
301  return false;
302  }
DGtal::uint32_t Dimension
Definition: Common.h:127
bool isEqual(Container1 &c1, Container2 &c2)
CubicalComplex< KSpace, Map > CC
static const Dimension dimension
The dimension of the embedding space.

References DGtal::CubicalComplex< TKSpace, TCellContainer >::dimension, DGtal::functions::isEqual(), DGtal::CubicalComplex< TKSpace, TCellContainer >::myCells, and DGtal::CubicalComplex< TKSpace, TCellContainer >::space().

◆ operator!=() [2/2]

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

Difference operator on Points/Vectors.

Returns
true iff the two points differ, false otherwise.

◆ operator&=()

template<typename TKSpace , typename TCellContainer >
CubicalComplex< TKSpace, TCellContainer > & DGtal::operator&= ( CubicalComplex< TKSpace, TCellContainer > &  S1,
const CubicalComplex< TKSpace, TCellContainer > &  S2 
)
inline

Cubical Complex intersection operation. Updates the cubical complex S1 as \( S1 \cap S2 \).

Template Parameters
TKSpacethe digital space in which lives the cubical complex.
TCellContainerthe associative container used to store cells within the cubical complex.
Parameters
[in,out]S1an input cubical complex, \( S1 \cap S2 \) as output.
[in]S2another input cubical complex.
Returns
a reference to the modified cubical complex S1.

Definition at line 201 of file CubicalComplexFunctions.h.

203  {
204  typedef CubicalComplex< TKSpace, TCellContainer > CC;
205  for ( Dimension i = 0; i <= CC::dimension; ++i )
206  functions::setops::operator&=( S1.myCells[ i ], S2.myCells[ i ] );
207  return S1;
208  }
DGtal::uint32_t Dimension
Definition: Common.h:127
CubicalComplex< KSpace, Map > CC
static const Dimension dimension
The dimension of the embedding space.

References DGtal::CubicalComplex< TKSpace, TCellContainer >::dimension, and DGtal::CubicalComplex< TKSpace, TCellContainer >::myCells.

◆ operator+() [1/7]

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> DGtal::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 
)

Overloads 'operator+' for adding objects of class 'LinearOperator'.

Parameters
linear_operator_aleft operant
linear_operator_bright operant
Returns
linear_operator_a + linear_operator_b.

◆ operator+() [2/7]

template<typename Calculus , Order order, Duality duality>
KForm<Calculus, order, duality> DGtal::operator+ ( const KForm< Calculus, order, duality > &  form_a,
const KForm< Calculus, order, duality > &  form_b 
)

Overloads 'operator+' for adding objects of class 'KForm'.

Parameters
form_aleft operant
form_bright operant
Returns
form_a + form_b.

◆ operator+() [3/7]

template<typename Calculus , Duality duality>
VectorField<Calculus, duality> DGtal::operator+ ( const VectorField< Calculus, duality > &  vector_field_a,
const VectorField< Calculus, duality > &  vector_field_b 
)

Overloads 'operator+' for adding objects of class 'VectorField'.

Parameters
vector_field_aleft operant
vector_field_bright operant
Returns
vector_field_a + vector_field_b.

◆ operator+() [4/7]

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

Addition operator between two Points/Vectors.

Returns
a point/vector with best component type accordingly to the C++ conversion rules in arithmetic operations context.

◆ operator+() [5/7]

template<Dimension ptDim, typename LeftEuclideanRing , typename LeftContainer , typename RightScalar >
auto DGtal::operator+ ( PointVector< ptDim, LeftEuclideanRing, LeftContainer > const &  lhs,
RightScalar const &  rhs 
) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
inline

Addition operator between a Point/Vector and a scalar.

Returns
a point/vector with best component type accordingly to the C++ conversion rules in arithmetic operations context.

◆ operator+() [6/7]

template<Dimension ptDim, typename LeftScalar , typename RightEuclideanRing , typename RightContainer >
auto DGtal::operator+ ( LeftScalar const &  lhs,
PointVector< ptDim, RightEuclideanRing, RightContainer > const &  rhs 
) -> decltype(DGtal::constructFromArithmeticConversion(lhs, rhs))
inline

Addition operator between a scalar and a Point/Vector.

Returns
a point/vector with best component type accordingly to the C++ conversion rules in arithmetic operations context.

◆ operator+() [7/7]

template<typename TIterator >
Circulator<TIterator> DGtal::operator+ ( typename IteratorCirculatorTraits< TIterator >::Difference  d,
Circulator< TIterator > &  object 
)

Definition at line 453 of file Circulator.h.

455  {
456  Circulator<TIterator> tmp = object;
457  return tmp += d;
458  }