DGtal
0.9.4beta

DGtal is a generic open source library for Digital Geometry programming whose main objective is to gather and structure different developments from the digital geometry and topology community. The benefits are numerous: to make easier the appropriation of our tools for a neophyte (new PhD students, researchers from other topics, ...), to permit better comparisons of new methods with already existing approaches, to construct a federative project. Furthermore we believe this is a necessary step for a better recognition of the efficiency of discrete geometry techniques by the important image analysis community. As a consequence, DGtal is designed so as to simplify the construction of effective demonstration tools. New results are thus easily shared to a vast audience.
On a more technical level, DGtal is developed in C++. Similarly to other classical libraries such as CGAL, it follows the paradigm of genericity with efficiency. This approach is made possible with the now wellknown notion of concepts, implemented with templated types. The kernel of DGtal offers digital spaces of arbitrary dimension, with userchosen integer types. Several digital topology algorithms are already implemented (Rosenfeld topology, connected components, simple points, homotopic thinning). The kernel manages generic images (standard raster images but also tree images), and arbitrary file formats with ImageMagick installed. Basic geometric primitives (digital lines and segments) are also available, as well as arbitrary dimensional volumetric distance transforms. A stream mechanism has been developed to display digital objects and export results in different vector formats.
DGtal is a collaborative effort of the French —for now— digital geometry community. It is still a work in progress but show already many promises to be the common basis for future developments made by the digital geometry community.
DGtal is associated with the projects DGtalTools and DGtalToolscontrib. Please have a look to the DGtalTools online documentation for additional information.