Release 1.3
DGtal 1.3
New features / critical changes
-
General
- A Dockerfile is added to create a Docker image to have a base to start development using the DGtal library.(J. Miguel Salazar #1580)
- Continuous integration does not use Travis anymore but Github Actions. (David Coeurjolly, #1591)
- Examples are not built anymore by default (BUILD_EXAMPLES now set to OFF by default). (David Coeurjolly, #1630)
-
Geometry package
- Improve lattice polytope count operations and provide many new services related to full convexity, like computing the (relative
or not) fully convex envelope, and building digital polyhedra. (Jacques-Olivier Lachaud, #1656) - Add curvature measures computation on 3D surface mesh: implements Normal Cycle, face-constant Corrected Normal Current
and vertex-interpolated Corrected Normal Current. (Jacques-Olivier Lachaud,#1617) - Completes the digital convexity module with new functions related to full convexity: check of full convexity for arbitrary
digital sets in nD, and helper classes for using full convexity in practice (local geometric analysis, tangency and shortest paths)
(Jacques-Olivier Lachaud,#1594) - New VoronoiMapComplete class to store the full Voronoi map (with all co-cycling sites (Robin Lamy, David Coeurjolly, Isabelle
Sivignon #1605)
- Improve lattice polytope count operations and provide many new services related to full convexity, like computing the (relative
-
DEC
- New discrete differential operators on polygonal meshes have been added. They can be used to process generic polygonal meshes (with non-planar, non-convex faces) or digital surfaces. (David Coeurjolly, #1603
- New class to compute geodesics on polygonal surfaces using the Geodesics in Heat approach and the new differential operators on
polygonal surfaces (digital surfaces, or any PolygonalMesh instance) (David Coeurjolly, #1603- Updates to PolygonalCalculus: changing sign convention, fix some Eigen problems, add Dirichlet boundary conditions, update discrete differential calculus examples (Jacques-Olivier Lachaud, #1643)
- Updates to PolygonalCalculus: adding vector field operators (mainly covariant gradient and covariant projection as well as Connection-Laplacian). Also adding two more examples: harmonic parametrization and vectors in heat method. (Baptiste Genest, David
Coeurjolly, #1646)
-
Mathematical Package
- Add Lagrange polynomials and Lagrange interpolation (Jacques-Olivier Lachaud, #1594)
-
Topology
- New helper methods to retrieve the interior/exterior voxel of a given surfel (signed cell of a Khalimksy space). (David Coeurjolly,
#1631)
- New helper methods to retrieve the interior/exterior voxel of a given surfel (signed cell of a Khalimksy space). (David Coeurjolly,
-
I/O
- Imagemagick dependency and related classes. Image file format (png, jpg, tga, bmp, gif) are now included in the DGtal core using
stb_image.h
andstb_image_write.h
. (David Coeurjolly, #1648)
- Imagemagick dependency and related classes. Image file format (png, jpg, tga, bmp, gif) are now included in the DGtal core using
Changes
-
Image
- Bugfix in the SpaceND and HyperRectDomain classes to allow very large extent (e.g. >$1024^3$) (David Coeurjolly, #1636)
- Improved ITK image selection in ImageSelector and add ITK xx.gz an other format support. New option to keep set domain or to compute current bounding box of elements of the set in ImageFromSet. (Bertrand Kerautret, #1633)
- Improved MeshReader for .off format in order to take into account more comments and other header code used in CGAL.
(Bertrand Kerautret, #1653 and #1654)
-
IO
- Add Obj format in MeshReader including colors and fixing obj format read with relative face position. (Bertrand Kerautret, #1584)
- Move static private HSVtoRGB and RGBtoHSV functions in Color class (public) and new setters/getters from/to HSV (Python binding updated) (Bertrand Kerautret, Phuc Ngo and David Coeurjolly #1593)
-
Geometry
- Small fix for shortest paths computation, which could sometimes output several times the same node. Add tests and examples.
(Jacques-Olivier Lachaud, #1644) - First and second curvature directions were inverted in the
IIPrincipalCurvaturesAndDirectionsFunctor
, fixed now. (David Coeurjolly, #1657) - Renaming
getVoronoiVector
togetVoronoiSite
in the DistanceTransformation class. (David Coeurjolly, #1660)
- Small fix for shortest paths computation, which could sometimes output several times the same node. Add tests and examples.
-
Kernel
- New constructor in Point2DEmbedderIn3D to explicitly orient the image plane and new shift method to avoid recomputing orientation plane. (Bertrand Kerautret #1619)
-
Build
- New cmake targets to collect cmake, doxygen and markdown files (David Coeurjolly, #1609)
- Continuous integration does not use Travis anymore but Github Actions. (David Coeurjolly, #1591)
- New cmake option (DGTAL_RANDOMIZED_TESTING_THRESHOLD) to set the (approximated) % of unit-tests to build and run for randomized testing (David Coeurjolly #1588)
- Fix missing whitelist for the unit-tests in relation to PR #1591)
(Bertrand Kerautret #1595) - Fix cmake related ITK usage in other projects (issue #1612).
(Bertrand Kerautret and Pablo Hernandez-Cerdan #1613) - Adding ITK in Github Actions CI on linux distribution. (Bertrand Kerautret #1615)
- New variable in the Github Action script to disable some tests (not working in the bots) (David Coeurjolly, #1635)
- Google benchmark is now fetched when building the unit tests (using Fetch_Content) (David Coeurjolly, [#1651] #1651))
- Add new cmake option to avoid linking errors related to STB image library (like LNK2005 in MSVC). (Bertrand Kerautret, #1666)
Bug fixes
-
General
- Fixing OpenMP dependency on macOS when using the DGtalConfig.cmake(David Coeurjolly, #1578)
- Various warnings / deprecated functions (David Coeurjolly, #1583
- Removing old snapshot of catch.hpp. Now DGtal compiles on Apple M1 (David Coeurjolly, #1590
- Fix cmake IN_LIST use policy. (Bertrand Kerautret, #1592)
- Adding a explicit list of tests to exclude from Github Actions (David Coeurjolly, #1596)
- Fixing bugs in the exclude list for CI (David Coeurjolly, #1602)
- Reactivating Github Actions bots (David Coeurjolly, #1628)
- OpenMP fix in DGtalConfig on macOS M1 (David Coeurjolly, #1641)
- New doxygen settings to reduce diagram generation (David Coeurjolly, #1663)
-
Examples
-
IO
- Faster export of OBJ files. (David Coeurjolly, #1608
- Fixing bugs in writing Longvol from GenericWriter and tests. (Bertrand Kerautret, #1610
- Fix compilation issue in MeshReader compilation. (Bertrand Kerautret, #1611
- Minor fixes in VolReader and LongVolReader to be able to load large vol files. (David Coeurjolly, #1637)
- Fix LongVolReader that fails to read large values. It was why testLongvol and testCompressedVolWriter were failing on some configurations. (Roland Denis, #1638)
- Fix missing
#include<map>
in MeshReaeder (Jeremy Fix, #1649) - Fix purple color. (Bertrand Kerautret and Phuc Ngo #1579)
-
Geometry package
- The following changes have been made to fix a bug in
examplePlaneProbingSurfaceLocalEstimator
:- in
PlaneProbingDigitalSurfaceLocalEstimator
, the methodprobingFrameWithPreEstimation
now returns a pair bool-frame instead of just a frame, in order to tell whether the frame will lead to a valid initialization or not. The methodeval
now uses this boolean value and returns the trivial normal vector if it has been set to 'False'. - in
PlaneProbingParallelepipedEstimator
:isValid
does not call theisValid
method of the delegate, but only checks the relevant parts (which have been pushed in to separate methods). (Tristan Roussillon, #1607)
- in
- Fixing issue with the automatic deploy of the "nightly" documentation. (David Coeurjolly, #1620)
- Fix issue on computeHullThickness by adding angle tolerance to detect co-linearity vectors. (Bertrand Kerautret, #1647)
- The following changes have been made to fix a bug in
-
DEC
-
graph
- Fix warning related to copy assignment in class DistanceBreadthFirstVisitor (Jacques-Olivier Lachaud, #1662)