New Features / Critical Changes
- *Project*
- For this release, we have cleaned up the git history (using [bfg](https://rtyley.github.io/bfg-repo-cleaner/)),
removing old deprecated files or commit errors. For a complete description,
please follow the discussion of Issue [1477](https://github.com/DGtal-team/DGtal/issues/1477).
If you are doing a clean `git clone` of the project, or use the release archive,
everything should be fine. If you have branches on the release 1.1beta, you
would need to reset your current working copy. For instance, if
you have cloned the `DGtal-team/DGtal` repository, just reset your
master branch using:
git fetch origin
git reset --hard origin/master
If you have cloned a fork of `DGtal-team/DGtal` (*i.e.* the `origin`
remote correspond to your fork and not the DGtal-team one), Fetch
the DGtal-team remote (nammed `DGtal` here):
git fetch DGtal
git reset --hard DGtal/master
_For advanced developers_
If there are some branches out there you want to "update" to the new history:
First go to unmerged branch and copy the SHA of the commits you want to get. Or, if they are consecutive, copy the oldest and newest SHA.
git checkout master Updated to new history
git checkout -b myOpenPR_after_new_history
git cherry-pick oldestSha^..newestSha
(David Coeurjolly, [1510](https://github.com/DGtal-team/DGtal/pull/1510))
- *Kernel package*
- Making `HyperRectDomain_(sub)Iterator` random-access iterators
(allowing parallel scans of the domain, Roland Denis,
[1416](https://github.com/DGtal-team/DGtal/pull/1416))
- Fix bug in BasicDomainSubSampler for negative coordinates of the
domain lower bound. (Bertrand Kerautret
[1504](https://github.com/DGtal-team/DGtal/pull/1504))
- *DEC*
- Add discrete calculus model of Ambrosio-Tortorelli functional in
order to make piecewise-smooth approximations of scalar or vector
fields onto 2D domains like 2D images or digital surfaces
(Jacques-Olivier Lachaud,[1421](https://github.com/DGtal-team/DGtal/pull/1421))
- *Geometry Package*
- New piecewise smooth digital surface regularization class (David Coeurjolly,
[1440](https://github.com/DGtal-team/DGtal/pull/1440))
- Provides support for digital full convexity and subconvexity (Jacques-Olivier Lachaud,
[1459](https://github.com/DGtal-team/DGtal/pull/1459))
- Implementation of Shrouds algorithm for smoothing digital surfaces:
Nielson et al., Shrouds: optimal separating surfaces for enumerated volumes.
In Proc. VisSym 2003, vol. 3, pp. 75-84
(Jacques-Olivier Lachaud, [1500](https://github.com/DGtal-team/DGtal/pull/1500))
- Updates cell geometry and digital convexity to use specialized
unordered set data structure UnorderedSetByBlock for storing
digital points (Jacques-Olivier Lachaud,
[1499](https://github.com/DGtal-team/DGtal/pull/1499))
- *Shapes package*
- Add a new surface mesh representation for manifold or non-manifold polygonal
surfaces in R^3 (Jacques-Olivier Lachaud,
[1503](https://github.com/DGtal-team/DGtal/pull/1503))
Changes
- *General*
- DGtal can be compiled and used as a project (git) submodule (David
Coeurjolly [1444](https://github.com/DGtal-team/DGtal/pull/1444))
- Add .gitattributes file for github to recognize ih files as c++
(Pablo Hernandez-Cerdan [1457](https://github.com/DGtal-team/DGtal/pull/1457))
- Add CMake option `DGTAL_ENABLE_FLOATING_POINT_EXCEPTIONS` to control enabling
`feenableexcept` (only applies in Linux when in Debug mode).
(Pablo Hernandez-Cerdan, [1489](https://github.com/DGtal-team/DGtal/pull/1489))
- Travis: Fix broken Eigen url. Update Eigen in travis to 3.3.7.
(Pablo Hernandez, [1508](https://github.com/DGtal-team/DGtal/pull/1508))
- *Geometry*
- New Integral Invariant functor to retrieve the curvature tensor (principal curvature
directions and values). (David Coeurjolly, [1460](https://github.com/DGtal-team/DGtal/pull/1460))
- Add principal directions of curvature functions for implicit polynomial 3D shapes.
(Jacques-Olivier Lachaud,[1470](https://github.com/DGtal-team/DGtal/pull/1470))
- *io*
- The GenericWriter can now export in 3D ITK format (nii, mha, mhd, tiff).
(Bertrand Kerautret [1485](https://github.com/DGtal-team/DGtal/pull/1485))
- New Viridis ColorGradientPreset and clean of useless template specializations in
the GenericWriter for color image. (Bertrand Kerautret
[1487](https://github.com/DGtal-team/DGtal/pull/1487))
- Add the possibility to import images with a shifted domain in ITKReader.
(Bertrand Kerautret and Pablo Hernandez-Cerdan
[1492](https://github.com/DGtal-team/DGtal/pull/1492))
- *Kernel package*
- Add .data() function to PointVector to expose internal array data.
(Pablo Hernandez-Cerdan, [1452](https://github.com/DGtal-team/DGtal/pull/1452))
- Add a specialized unordered set data structure
UnorderedSetByBlock for storing digital points, which is more
compact and as efficient as unordered set
(Jacques-Olivier Lachaud,[1499](https://github.com/DGtal-team/DGtal/pull/1499))
- *Helpers*
- Add vector field output as OBJ to module Shortcuts (Jacques-Olivier Lachaud,
[1412](https://github.com/DGtal-team/DGtal/pull/1412))
- Add shortcuts to Ambrosio-Tortorelli piecewise-smooth approximation
(Jacques-Olivier Lachaud,[1421](https://github.com/DGtal-team/DGtal/pull/1421))
- Add output as OFF to module Shortcuts (Bertrand Kerautret,
[1476](https://github.com/DGtal-team/DGtal/pull/1476))
- Add shortcuts to principal curvatures and directions of curvature for implicit polynomial
3D shapes. (Jacques-Olivier Lachaud,[1470](https://github.com/DGtal-team/DGtal/pull/1470))
- *Tests*
- Upgrade of the unit-test framework (Catch) to the latest release [Catch2](https://github.com/catchorg/Catch2).
(David Coeurjolly [1418](https://github.com/DGtal-team/DGtal/pull/1418))
(Roland Denis [1419](https://github.com/DGtal-team/DGtal/pull/1419))
- *Topology*
- Provides partial flip, split and merge operations for half-edge data structures
and triangulated surfaces (Jacques-Olivier Lachaud,
[1428](https://github.com/DGtal-team/DGtal/pull/1428))
- Makes testVoxelComplex faster, reducing the size of the test fixture
(Pablo Hernandez-Cerdan, [1451](https://github.com/DGtal-team/DGtal/pull/1451))
- Fix bug in VoxelComplex masks when cell was at the boundary of kspace
(Pablo Hernandez-Cerdan, [1488](https://github.com/DGtal-team/DGtal/pull/1488))
- Fix loadTable not able to read compressed tables in Windows
(Pablo Hernandez-Cerdan, [1505](https://github.com/DGtal-team/DGtal/pull/1505))
- Fix fillData in CubicalComplex
(Pablo Hernandez-Cerdan, [1519](https://github.com/DGtal-team/DGtal/pull/1519))
- *Shapes package*
- Add a moveTo(const RealPoint& point) method to implicit and star shapes
(Adrien Krähenbühl,
[1414](https://github.com/DGtal-team/DGtal/pull/1414))
- Fix Lemniscate definition following Bernoulli's definition
(Adrien Krähenbühl,
[1427](https://github.com/DGtal-team/DGtal/pull/1427))
- Homogenizes typedefs of all parametric shapes and fixes some bounding box
computations (Adrien Krähenbühl,
[1462](https://github.com/DGtal-team/DGtal/pull/1462))
- Add const directives to some curve estimators on shapes.
(Adrien Krähenbühl [1429](https://github.com/DGtal-team/DGtal/pull/1429))
- *IO*
- When the 3D built-in viewer is enabled (libqglviewer), the default
required Qt version is now Qt5 instead of Qt4. You can revert to
Qt4 by unsetting the WITH_QT5 cmake flag (David Coeurjolly,
[1511](https://github.com/DGtal-team/DGtal/pull/1511))
Bug Fixes
- *Configuration/General*
- Fix compilation error/warnings with gcc 9.1.1 and clang 9.0
(Boris Mansencal, [1431](https://github.com/DGtal-team/DGtal/pull/1431))
- Disable some gcc/clang warnings in Qt5 raised by Apple clang compiler (David
Coeurjolly, [1436](https://github.com/DGtal-team/DGtal/pull/1436))
- Fixing Travis configuration due to syntax changes in v2
(Roland Denis, [1465](https://github.com/DGtal-team/DGtal/pull/1465))
- Compression of png files used in for the documentation
(preparing 1.1 release), (David Coeurjolly, [1494](https://github.com/DGtal-team/DGtal/pull/1494))
- Fix `CMAKE_C_FLAGS` when `WITH_OPENMP=ON`
(Pablo Hernandez-Cerdan, [1495](https://github.com/DGtal-team/DGtal/pull/1495))
- *Mathematics*
- Put SimpleMatrix * scalar operation in DGtal namespace (Jacques-Olivier Lachaud,
[1412](https://github.com/DGtal-team/DGtal/pull/1412))
- *Geometry*
- Bugfix in the `testVoronoiCovarianceMeasureOnSurface` (David
Coeurjolly, [1439](https://github.com/DGtal-team/DGtal/pull/1439))
- Defining StandardDSS4Computer & NaiveDSS8Computer as templated aliases of
ArithmeticalDSSComputer (fix 1483). Also fixing NaiveDSS8 adjacency.
(Roland Denis, [1491](https://github.com/DGtal-team/DGtal/pull/1491))
- Fix initialisation in BoundedLatticePolytope when creating non full
dimensional simplices in 3D (segments, triangles). (Jacques-Olivier Lachaud,
[1502](https://github.com/DGtal-team/DGtal/pull/1502))
- *Kernel*
- Point2DEmbedderIn3D edit to recover behavior of version 0.9.4 in
the origin point placement. (Florian Delconte and Bertrand Kerautret
[1520](https://github.com/DGtal-team/DGtal/pull/1520))
- *Helpers*
- Fix Metric problem due to implicit RealPoint toward Point conversion when computing
convolved trivial normals in ShortcutsGeometry (Jacques-Olivier Lachaud,
[1412](https://github.com/DGtal-team/DGtal/pull/1412))
- Fixing double conversion bug in class Parameters, related to
English/French decimal point inconsistency between `atof` and
`boost::program_options` (Jacques-Olivier Lachaud,
[1411](https://github.com/DGtal-team/DGtal/pull/1411))
- Fix bug in Shortcuts::saveVectorFieldOBJ
(Jacques-Olivier Lachaud,[1421](https://github.com/DGtal-team/DGtal/pull/1421))
- Fixing OBJ export: .mtl file written with relative path (Johanna
Delanoy [1420](https://github.com/DGtal-team/DGtal/pull/1420))
- Unify pointel ordering in Shortcuts and MeshHelper so that
Shortcuts::getPointelRange, Shortcuts::saveOBJ and
Shortcuts::makePrimalPolygonalSurface, as well as
MeshHelpers::digitalSurface2PrimalPolygonalSurface, all use the
CCW ordering by default (in 3D).
(Jacques-Olivier Lachaud,[1445](https://github.com/DGtal-team/DGtal/pull/1445))
- *images*
- Fix the image origin that was not taken into account in class
ImageContainerByITKImage. (Bertrand Kerautret
[1484](https://github.com/DGtal-team/DGtal/pull/1484))
- Add domainShift to ImageContainerByITKImage.
(Pablo Hernandez-Cerdan,
[1490](https://github.com/DGtal-team/DGtal/pull/1490))
- *IO*
- Removing a `using namespace std;` in the Viewer3D hearder file. (David
Coeurjolly [1413](https://github.com/DGtal-team/DGtal/pull/1413))
- Fixing cast from const to mutable iterator in GradientColorMap.
(Roland Denis [1486](https://github.com/DGtal-team/DGtal/pull/1486))
- *Topology*
- Add missing constraint to flips in HalfEdgeDataStructure
(Jacques-Olivier Lachaud,[1498](https://github.com/DGtal-team/DGtal/pull/1498))
- *Shapes*
- Fix bug in Astroid parameter() method : orientation correction
(Adrien Krähenbühl,
[1325](https://github.com/DGtal-team/DGtal/pull/1426))
- Add missing constraint to flips in TriangulatedSurface
(Jacques-Olivier Lachaud,[1498](https://github.com/DGtal-team/DGtal/pull/1498))
- *DEC*
- Fix issue (https://github.com/DGtal-team/DGtal/issues/1441)
related to bad link in DEC/moduleAT documentation and missing
associated example exampleSurfaceATnormals.cpp (Jacques-Olivier
Lachaud,[1442](https://github.com/DGtal-team/DGtal/pull/1442)
- Adding missing LGPL headers in the DEC examples (David Coeurjolly
[1472]((https://github.com/DGtal-team/DGtal/pull/1472))
- *Documentation*
- Promoting the `Shortcuts` documentation page on the main page. (David
Coeurjolly [1417](https://github.com/DGtal-team/DGtal/pull/1417))
- Fixing the `doxyfiles` to have the table of contents of module pages (David
Coeurjolly [1424](https://github.com/DGtal-team/DGtal/pull/1424))
- New illustration in the volumetric analysis documentation page (David
Coeurjolly [1432](https://github.com/DGtal-team/DGtal/pull/1432))
- Using SourceForge to download doxygen sources during Travis CI jobs.
(Roland Denis [1424](https://github.com/DGtal-team/DGtal/pull/1434))
- CSS edit to enhance the readability of code snippets (David
Coeurjolly [1438](https://github.com/DGtal-team/DGtal/pull/1438))
- Fixing various links in moduleCellularTopology. Fixing 1454.
Removing dead links to ImaGene project.
(Roland Denis [1455](https://github.com/DGtal-team/DGtal/pull/1455))
- *Build*
- Fix issue (https://github.com/DGtal-team/DGtal/issues/1478),
that is a Visual Studio 2019 build error related to befriend
template specializations
(Jacques-Olivier Lachaud [1481](https://github.com/DGtal-team/DGtal/pull/1481))
- Removing the homemade CPP11 checks, using cmake macro instead
(David Coeurjolly, [1446](https://github.com/DGtal-team/DGtal/pull/1446))
- Removes the check for CPP11 when building WITH_ITK
(Pablo Hernandez-Cerdan, [1453](https://github.com/DGtal-team/DGtal/pull/1453))
- Fix apple clang compilation issue with a workaround to the
ConstIteratorAdapter class that does not satisfy the _is_forward concept of the STL:
using boost::first_max_element instead std::max_element.
(Bertrand Kerautret, [1437](https://github.com/DGtal-team/DGtal/pull/1437))
- Abort compilation at configure time when the compiler is gcc 10.1 due to compiler bug.
Fix issue 1501.
(Pablo Hernandez-Cerdan, [1506](https://github.com/DGtal-team/DGtal/pull/1506))