Cpd Versions Save

C++ implementation of the Coherent Point Drift point set registration algorithm.

v0.5.5

4 weeks ago

What's Changed

Full Changelog: https://github.com/gadomski/cpd/compare/v0.5.4...v0.5.5

v0.5.4

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/gadomski/cpd/compare/v0.5.3...v0.5.4

v0.5.2

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/gadomski/cpd/compare/v0.5.1...v0.5.2

v0.5.3

3 years ago

Switch from Travis CI to Github actions.

v0.5.1

7 years ago
  • [FIXED] Documentation builds on Travis.
  • [FIXED] Setting the GaussTransform on a Transformation.
  • [FIXED] Bug in the normalization test (#107).
  • [ADDED] Test for scaling in rigid transformations.
  • [ADDED] Better error message when allocation fails when creating an affinity matrix (#104).
  • [ADDED] A new example, random, that can be used to test large allocations.
  • [ADDED] An example to demonstrate setting the transform to fgt.
  • [ADDED] "Unlinked" normalization, where the two datasets can be scaled differently (#112).
  • [ADDED] A matrix method for both rigid and affine results. This matrix contains the entire transformation. Also added an example that calculates and applies a transformation matrix (#108).
  • [ENHANCED] The rigid example.
  • [ENHANCED] CMake configuration for jsoncpp builds (#105).
  • [ENHANCED] Documentation.

v0.5.0

7 years ago

There were enough wires to rip up that I'm mashing all of these changes into one big changeset for the v0.5 update.

The big changes include:

  • Remove the Runner, move all the common iterative logic to a templated Transform virtual base class, from which Rigid and friends derive.
  • Remove vendored upstream dependencies (other than gtest). Managing vendored dependencies was a big pain. Instead, I'm trying out "components", e.g. the jsoncpp functionality is included as a component that requires an external jsoncpp to be present. We'll see how that goes.
  • Remove all logging, for now. I might add it back (via the component mechanism mentioned above) but I'm not sure. While it's useful for keeping tabs, it mucks up the business part of the code a lot. I have a vauge idea about adding callbacks into the main cpd loop and using those for logging, but nothing's there yet.
  • Refactored tests and fixtures, to hopefully make it easier to modify/etc in the future. This rewrite mostly happened becuase I couldn't bring myself to rip apart the v0.4 test suite without just redoing it all.

Note that a lot of the business code in this rewrite was not touched — this is more of an interface change than anything that affects the actual math.

v0.4.3

7 years ago
  • [FIXED] Bug in rigid result's points.
  • [FIXED] Whitespace in .travis.yml.
  • [ADDED] The affine transformation.
  • [ADDED] Documentation.
  • [ADDED] Seperate script to build/install doxygen on Travis.
  • [CHANGED] Rename affinity_matrix files to affinity.
  • [CHANGED] Refactor test fixtures.
  • [CHANGED] Use googletests's targets, but don't install googletest files.
  • [CHANGED] Fgt is now an optional dependency, that defaults to ON if fgt is present.
  • [CHANGED] If a doxygen executable is present, default to WITH_DOCS=ON.
  • [CHANGED] Move Doxygen.in to a docs/ directory.

v0.4.2

7 years ago
  • [FIXED] Denormalization bug for rigid transformations
  • [ADDED] Runtime (in microseconds) to results
  • [ADDED] More information to logging
  • [ADDED] Example of using PDAL and artificial translation

v0.4.1

7 years ago
  • [FIXED] Normalization for non-unit-cube point sets.
  • [FIXED] Documentation builds on Travis.
  • [FIXED] Include syntax in normalize.hpp.
  • [FIXED] MSVC warnings.
  • [FIXED] Datatype of Runner.m_max_iterations.
  • [FIXED] Bad AppVeyor link in README.
  • [ADDED] Allow various Fgt strategies.
  • [ADDED] CMake policy CMP0054.
  • [ADDED] sigma2 test for identical points.
  • [ADDED] Better sigma2 logging.
  • [ADDED] Helheim Glacier test data file.
  • [CHANGED] Refactored top-level registration functions to use a more general uplevel upstream function.
  • [CHANGED] ProbabilityComputer to Comparer.
  • [CHANGED] Explicitly build static libs in AppVeyor.
  • [CHANGED] Default to static libs in MSVC.
  • [CHANGED] Precision on sigma2 reporting.

v0.4.0

7 years ago

Another complete rewrite. This new version includes logging and much better tests, as well as a hopefully better API.