Release 1.0
After about 10 years of developments, we are very proud to announce the DGtal 1.0 release.
Many thanks to all developers that have contributed to DGtal and its tools.
Please have a look to the release note for details.
DGtal 1.0
New Features / Critical Changes
-
Base package
-
Documentation
- Module page about functions, functors and lambdas in DGtal.
(Roland Denis, #1332)
- Module page about functions, functors and lambdas in DGtal.
-
Image package
-
Kernel package
- Adding PointFunctorHolder to transform any callable object (e.g. function,
functor, lambda function,...) into a CPointFunctor model.
(Roland Denis, #1332) ⚠️ The conversion between PointVector of different component types now follows
the classical conversion rules (e.g. float to double is OK but double
to int fails if the conversion is not explicitly specified).
Component type after an arithmetic operation also follows the classical
arithmetic conversion rules (e.g int * double returns a double).
Adding some related conversion functors.
(Roland Denis, #1345)- Making binary operators of PointVector (+-*/ but also dot, crossProduct,
inf, isLower,...) available as external functions. The component type of
the result follows the classical arithmetic conversion rules.
(Roland Denis, #1345) - Adding square norm method to Point/Vector class. (David Coeurjolly,
#1365)
- Adding PointFunctorHolder to transform any callable object (e.g. function,
-
Helpers
- Classes Shortcuts and ShortcutsGeometry to simplify coding with
DGtal. Integrate a lot of volume, digital surfaces, mesh,
surface, geometry, estimators functions, with many conversion
and input/output tools. (Jacques-Olivier Lachaud,
#1357)
- Classes Shortcuts and ShortcutsGeometry to simplify coding with
-
Shapes package
- Add two new star shapes: Astroid and Lemniscate
(Adrien Krähenbühl, Chouaib Fellah,
#1325)
- Add two new star shapes: Astroid and Lemniscate
-
Geometry package
- Parametric 3D curve digitization see (UglyNaiveParametricCurveDigitizer3D)
(Kacper Pluta, #1339) - A set of 3D parametric curves: EllipticHelix, Knot_3_1, Knot_3_2, Knot_4_1,
Knot_4_3, Knot_5_1, Knot_5_2, Knot_6_2, Knot_7_4 (Kacper Pluta,
#1339) - DecoratorParametricCurveTransformation - a decorator to apply isometries to
parametric curves (Kacper Pluta, #1339) - LambdaMST3DBy2D - a variation of 3D Lambda Maximal Segment tangent estimator
that uses only 2D tangents along maximal axis. This estimator has only a
research value (Kacper Pluta, #1339) - DSSes filtration during L-MST3D computations (Kacper Pluta,
#1339) - An option for filtering DSSes during LambdaMST3D calculations (Kacper Pluta,
#1339) - New LpMetric class (model of CMetricSpace) for distance computations in R^n.
(David Coeurjolly, #1388)
- Parametric 3D curve digitization see (UglyNaiveParametricCurveDigitizer3D)
-
Documentation
- Replacing html internal links by ref command in Digital Topology module
documentation. Also ignoring doxygen warning when ref begins with a digit.
(Roland Denis, #1340) - Fix examples filenames in Digital Topology module documentation (Isabelle
Sivignon, #1331) - Fix doc bug with Hull2D namespace, (Tristan Roussillon,
#1330) - Checking boost version when including boost/common_factor_rt (David Coeurjolly,
#1344) - Fix computational costs of separable metric predicates in the documentation.
(David Coeurjolly, #1374) - Fixing doxygen warnings (typo and doxygen upgrade to v1.8.14)
(Roland Denis, #1376) - Module page about functions, functors and lambdas in DGtal.
(Roland Denis, #1332)
- Replacing html internal links by ref command in Digital Topology module
Changes
-
Configuration/General
- Simplifying Travis CI scripts (David Coeurjolly,
#1371)
- Simplifying Travis CI scripts (David Coeurjolly,
-
Kernel package
- Fix NumberTraits for
long long int
types and refactor it.
(Roland Denis, #1397)
- Fix NumberTraits for
-
Topology
- Remove the internal object from VoxelComplex, improving performance
(Pablo Hernandez, #1369)
- Remove the internal object from VoxelComplex, improving performance
-
Documentation
- Improving KhalimskySpace related classes documentations by displaying
a short description in the member list.
(Roland Denis, #1398)
- Improving KhalimskySpace related classes documentations by displaying
-
Helpers
- Small fixes in Shortcuts and ShortcutsGeometry, doc, and colormaps.
(Jacques-Olivier Lachaud, #1364)
- Small fixes in Shortcuts and ShortcutsGeometry, doc, and colormaps.
-
Topology
- Specializes the method DigitalSurface::facesAroundVertex in the
3D case, such that faces (ie pointels) are ordered
counterclockwise with respect of the vertex (ie surfel) seen from
the exterior. (Jacques-Olivier Lachaud,
#1377) - This PR fixes two issues related to CubicalComplexFunctions:
issue #1362 and
issue #1381 for
programs testCubicalComplex, testVoxelComplex and
testParDirCollapse. (Jacques-Olivier Lachaud,
#1390) - Move operators outside of functions namespace in VoxelComplexFunctions.
(Pablo Hernandez, #1392)
- Specializes the method DigitalSurface::facesAroundVertex in the
Bug Fixes
-
Configuration/General
- Continuous integration AppVeyor fix
#1326 - Fixing documentation checks and updating Travis scripts
(Roland Denis, #1335) - Fixing warning of Clang when including GraphicsMagick v1.3.31
(Roland Denis, #1366) - Fix compilation warnings with gcc 8.2.1
(Boris Mansencal, #1384) - Fix compilation with Visual Studio (15.9.5) and some io tests
(Boris Mansencal, #1380) - Fixing & updating Travis: documentation deployement and DGtalTools job
(Roland Denis, #1383) - Various warnings fixed on Xcode (David Coeurjolly,
#1389) - Fix compilation and adding debug version for the generated file with Visual Studio
(Raphael Lenain, #1395) - Correct pragma pop in ITK related files
(Boris Mansencal, #1400)
- Continuous integration AppVeyor fix
-
Kernel
-
Fixing issue #1341 about unwanted conversions between PointVector with
different component types (like from double to int) by making explicit
the default conversion constructor and checking type compatiblity when
using operators.
(Roland Denis, #1345) -
Fixing issue #1387 about the wrong result of PointVector::crossProduct
in 2D. Also disabling this method for dimensions other than 2 and 3.
(Roland Denis, #1345) -
Fixing many issues related to invalid conversion between PointVectors
of different component types.
(David Coeurjolly, Roland Denis, Monir Hadji, Bertrand Kerautret,
Tristan Roussillon, #1345) -
Base
-
Shapes
- Fixing openmp flags (David Coeurjolly,
#1324) - Add assignment operator to ImageContainerByITKImage (Pablo Hernandez,
#1336) - Fix compilation warning: const qualifier ignored in cast (Pablo Hernandez,
#1337) - Filter data passed to acos in order to avoid division by zero or an argument
out of range. (Kacper Pluta, #1359)
- Fixing openmp flags (David Coeurjolly,
-
IO
- Improve ITKReader, testITKio and testITKReader (Boris Mansencal,
#1379)
#1394) - Fix wrong typedef for double case in ITKReader (Adrien Krähenbühl,
#1259) - Fix safeguard when using ImageMagick without cmake activation (David Coeurjolly,
#1344) - Fix Color::Green definition (David Coeurjolly,
#1385) - Fix Visual Studio ContourHelper tests.
(Bertrand Kerautret, #1386)
- Improve ITKReader, testITKio and testITKReader (Boris Mansencal,
-
Geometry
-
DEC package
- Adding missing headers in some files of DEC.
(Roland Denis, #1349)
- Adding missing headers in some files of DEC.
-
Image
- Fix bug in ImageLinearCellEmbedder.
(Jacques-Olivier Lachaud, #1356)
- Fix bug in ImageLinearCellEmbedder.
-
Miscellaneous
-
Math packages
- Fix possible division by zero in the MultiStatistics class.
(Kacper Pluta, #1358)
- Fix possible division by zero in the MultiStatistics class.