The DGtal library is composed of several main packages focusing on specific topics in Digital Geometry. Such packages are introduced below and are also documented in the DGtal documentation main pages
 Preliminaries
 This package describes the main DGtal philosophy, its design and several technical comments to download, compile and install DGtal.
 David Coeurjolly, Bertrand Kerautret
 LGPL
 Base Package
 This package gathers many concepts and standalone classes that are used in other packages, likes basic types, functions, functors, iterators, ranges, containers, concept check, trace and exception, timings, and smart pointers.
 David Coeurjolly, JacquesOlivier Lachaud, Tristan Roussillon
 LGPL
 Kernel Package
 This package contains core concepts, objects and methods which are used in other higher level packages. For example, it defines number types considered in DGtal, fundamental structures such as the digital space, the digital domain, as well as basic linear algebra tools.
 JacquesOlivier Lachaud, David Coeurjolly, Guillaume Damiand, Sebastien Fourey
 LGPL
 Arithmetic Package
 This package gathers tools to perform arithmetic computations. Standard arithmetic computations are provided: greatest common divisor, Bézout vectors, continued fractions, convergent, intersection of integer halfspaces. Several representations of irreducible fractions are provided. They are based on the SternBrocot tree structure. With these fractions, amortized constant time operations are provided for computing reduced fractions. A representation of digital standard line in the first quadrant is provided, as well as fast algorithms to recognize digital straight subsegments. Furthermore, it provides classes for representing 2D lattice polytopes (convex integer polygons) as well as methods to perform linear integer programming in the plane.
 JacquesOlivier Lachaud, Xavier Provençal, Mouhammad Said, Emilie Charrier, Lilian Buzer
 LGPL

 This package contains digital topology related concepts, objects and methods which are used in other higher level packages. For example, it contains the classical topology tools (à la Rosenfeld), cartesian cellular topology, and digital surface topology (à la Herman). Generic tools and methods are provided for extracting connected components, identifying simple points, determining the neighborhood over a digital surface, tracking the boundary of a shape, defining cells and incidence operations. Several types of digital surfaces are provided (implicit, explicit, boundary, frontier) and the user can use them in a unified way. This package is notably used by the geometry package, especially to define curves and surfaces.
 JacquesOlivier Lachaud, Bertrand Kerautret
 LGPL
 Geometry Package
 This package contains geometry related concepts, objects and methods which are used in other higher level packages. It provides a generic framework for the segmentation of onedimensional discrete structures, like strings, contours of 2d digital objects or nd digital curves. It has also limited support for digital plane recognition in 3d. It also provides a generic framework for the estimation of geometrical quantities, either global, like length, or local, like normal or curvature. Several estimators are built from some well chosen segmentations. On the other hand, this package contains tools for the analysis of volumes of arbitrary dimension, by the means of separable and incremental distance transforms.
 Tristan Roussillon, David Coeurjolly, JacquesOlivier Lachaud, Bertrand Kerautret
 LGPL
 DEC Package
 Discrete exterior calculus (DEC) provides an easy and efficient way to describe linear operator over various structure. Basic operators, such as Hodge duality operator or exterior derivative, can be combined to create classical vector analysis operator such as gradient, curl and divergence.
 David Coeurjolly, Pierre Gueth
 LGPL
 Boards & Viewers
 This package gathers tools and utilities to import/export images and visualize digital data using interactive (viewers) and noninteractive (boards) mechanisms, in 2D and in 3D.
 Bertrand Kerautret, JacquesOlivier Lachaud, Nicolas Normand, Martial Tola, David Coeurjolly
 LGPL (GPL if QGLViewer is used)
 Image Package
 This package aims to implement Image models and datastructures.
 Tristan Roussillon, David Coeurjolly
 LGPL
 Shapes Package
 This package contains shape related concepts, models and algorithms. It provides a generic framework and tools to construct multigrid shapes in DGtal. More precisely, this package contains analytical objects (parametric, implicit, from point sets,…) with digitization schemes to make concrete such objects in a given grid step grid.
 David Coeurjolly, JacquesOlivier Lachaud
 LGPL
 Graph Package
 This package gathers concepts and classes related to graphs. Simple visitors are provided to traverse the graph. For more elaborate graph algorithm, this package offers wrappers to boost::graph.
 JacquesOlivier Lachaud, David Coeurjolly
 LGPL
 Mathematical Package
 This package gathers various mathematical subpackages and modules. For now, it consists essentially in a module for defining multivariate polynomials.
 JacquesOlivier Lachaud, Felix Fontein
 LGPL