Skip to content

Releases: poncateam/ponca

v.1.3

11 Jul 13:44
576dd57
Compare
Choose a tag to compare

This release introduces several improvements around the KdTre API, as well as bug fixes, new features and doc for the fitting module.

  • Silent Breaking Changes

    • [fitting] Fix bad design where public barycenter() function was expressed in local coordinate (#141)
  • API

    • [SpatialPartitioning] Change part of the kdtree API (#123)
    • [spatialPartitioning] Refactor KdTree into KdTreeDense + KdTreeSparse (#129)
    • [fitting] Add UnorientedSphereDer (#134)
  • Bug-fixes and code improvements

    • [all] Limit explicit use of exceptions and adapt to compilation mode (#135)
    • [fitting] Fix MeanNormal and MeanNormalDer classes for mean normal vector derivatives computation (#136)
  • Tests

    • [fitting] Compare single-pass covariance analysis with standard two-passes algorithm (#143)
  • Docs

    • [spatialPartitioning] Update KdTree docs to reflect the kdtree API refactor (#129)
    • [fitting] Add equations explaining how single-pass covariance analysis works (#143)

v1.2

15 Dec 14:19
32bffeb
Compare
Choose a tag to compare

This release introduces several bug fixes and minor improvements.

  • API

    • [spatialPartitioning] Optimize memory use in knngraph queries (#104)
    • [spatialPartitioning] Clean KdTree API (#122)
    • [spatialPartitioning] Simplify node customization (#128)
    • [fitting] Mark Base type as protected instead of private in CRTP classes (#119)
    • [fitting] Improve KdTreeNodes API by hiding internal memory layout, improve methods naming (#120)
  • Examples

    • Fix example cuda/ponca_ssgls (#109)
  • Bug-fixes and code improvements

    • [fitting] Use variadic template for basket extensions (#85)
    • [fitting] Fix current status issue (#108)
    • [fitting] Fix sphere fit eigen solver (#112)
    • [fitting] Fix a bug in AlgebraicSphere::primtiveGradient (#127)
    • [spatialPartitioning] Optimize memory use in knngraph queries (#104)
    • [spatialPartitioning] Fix potential compilation issues in KnnGraph (#111)
    • [spatialPartitioning] Fix debug macros in KnnGraphRangeQuery (#121)
    • [spatialPartitioning] Improve kdtree to_string to output data in YAML format (#125)

-Docs
- [fitting] Clarify documentation on FIT_RESULT (#108)

V1.1

31 Jul 16:16
0a48bd0
Compare
Choose a tag to compare

This release improves the Spatial Partitioning Package with new features and improved doc, as well as several bug fixes and API improvements.

  • API

    • [spatialPartitioning] Add kd-tree traits type (#80)
    • [spatialPartitioning] Add knn-graphs (#101)
    • [fitting] Add Primitive::getNumNeighbors (#86)
    • [fitting] Add Primitive::getWeightFunc (#99)
    • [fitting] Change naming convention and rational for principal curvatures in CurvatureEstimatorBase (#94)
    • [fitting] Add class MeanNormalDer to compute derivatives of the mean normal vector (#78)
  • Bug-fixes and code improvements

    • [spatialPartitioning] Fix unwanted function hiding with DryFit::setWeightFunc (#86)
    • [spatialPartitioning] Fix missing include directive in kdTreeTraits.h (#92)
    • [spatialPartitioning] Fix duplicated code in KdTree queries (see issue #47) (#88)
    • [fitting] Fix a potential bug when using multi-pass fitting (#89)
    • [fitting] Fix a bug in CovarianceFit (#93)
    • [fitting] Remove deadcode in Basket (#86)
    • [fitting] Fix a bug in dtau computation for scale-only derivation (#98)
    • [fitting] Fix a bug in MlsSphereFitDer weight derivatives (#97)
    • [ci] Fix Compiler is out of heap space error on Github (MSVC), by splitting tests (#87)
  • Tests

    • Fix WeightKernel test (failing on windows due to finite differences) (#91)
  • Docs

    • [spatialPartitioning] Update module page with a minimal doc and examples (#86, #92)
    • [spatialPartitioning] Add NanoFlann example (#86)
    • [fitting] Update documentation of AlgebraicSphere::changeBasis (#99)

V1.0

31 May 17:27
9feca1d
Compare
Choose a tag to compare

This release introduces several changes in the API in order to

  • improve the computation timings (we reported x1.2 to x1.4 gain depending on the situation)

  • reduce code duplication

  • ease the design of new estimators

  • API

    • [fitting] Factorize neighbors weight computation (#56)
    • [fitting] Factorize neighbors weight derivative computation (add class
      PrimitiveDer and BasketDiff) (#56)
    • [fitting] Add new classes for intermediate computation, which reduces code duplication across estimators: MeanPosition, MeanNormal, MeanPositionDer, CovarianceFit, CovarianceFitDer (#56)
    • [fitting] Improve genericity by allowing to build objets computing multiple fits at once (#56)
    • [fitting] Add a mechanism to detect conflicting computations (#56)
    • [fitting] Move iScaleDer out of internal namespace + name enum (#56)
    • [fitting] Rename normal() as primitiveGradient in MlsSphereFit (#72)
    • [fitting] Add new weight kernels (#71,#74)
    • [fitting] Add mechanism to check weight derivatives validity (#74)
  • Bug-fixes and code improvements

    • [fitting] Reduce objets sizes by removing unnecessary attributes (#56)
    • [fitting] Set default fields values (#56)
    • [fitting] Remove explicit implementation of default constructors (#56)
    • [fitting] Add macros to simplify headers writing (#56)
    • [fitting] Fix several warnings when compiling with MSVC (#56)
    • [fitting] Fix compilation error in GLSDer (#68)
    • [fitting] Fix a bug in barycenterDer computation (#72)
    • [fitting] Improve weight kernel testing (#71,#74)
  • Tests

    • [fitting] Update according to API changes (#56)
    • [fitting] Rewrite test on dNormal (#72)
  • Docs

    • Switch to doxygen-awesome-css (#56)
    • Fix several warnings (#56)
    • [common] Add main page (#56)
    • [common] Add concept page (#56)
    • [common] Reformat page User Manual (#56)
    • [fitting] Rewrite User Manual (#56)
    • [fitting] Rewrite Concept page (#56)
    • [fitting] Add mathematical details about barycenter and barycenterDer (#72)

v0.3

29 Jul 14:27
214eb7f
Compare
Choose a tag to compare

Release introducing the following changes:

  • API

    • [spatialpartitioning] Remove duplicated code and clean API (#32,#51)
    • [spatialpartitioning] Fix a bug in range queries (#46)
    • [spatialpartitioning] Add a counter of leaf in the KdTree (#55)
    • [spatialpartitioning] Add editInput on Queries to allow query re-usability between different request (#57)
    • [fitting] Add Line primitive and LeastSquaresLineFitting (#39)
    • [fitting] Rename several classes for better name consistency (#42)
    • [fitting] Add DryFit: a dummy fit object useful for debugging or monitoring (#52, #53)
    • [fitting] Improve convenience functions for basket: add compute(Range) and
      computeWithIds, which can be directly interfaced with kdtree queries (#53)
    • [fitting] Fix too sensitive AlgebraicSphere comparison (#53)
    • [common] Add missing include directive in stack.h (#59)
  • Buildchain

    • [cmake] Add option to hide IDE targets (#54)
  • Tests

    • [spatialpartitioning] Fix wrong test macro in kdtree tests (#46)
    • [fitting] Fix bug in basket test (#51)
    • [fitting] Disable test on windows when using long doubles (#53)
  • Dependencies

    • [eigen] Update default version to 3.4 (#53)
  • Doc

    • Rewrite documentation of the fitting package user manual and its classes. (#42)
    • Fix typo in user manual (#34)
    • Fix broken speed/quality comparisons for curvature estiators (#53)
    • Fix Mathjax configuration (#41)
    • Update author list (#42)

0.2 Alpha - Patch 1

04 May 15:21
7faa5c7
Compare
Choose a tag to compare
0.2 Alpha - Patch 1 Pre-release
Pre-release

Replaces https://github.com/poncateam/ponca/releases/tag/v0.2-alpha

API

- [spatialpartitioning] Add new package Space Partitioning (#20)
- [core][fitting] Rename Core module as Fitting (#9)
- [common] Add package common (#9)
- [api] New public entry points are the header files <Ponca/Ponca> and <Ponca/Fitting> (#9)

Buildchain

- [cmake] Fix several bugs with Eigen submodule (#17,#19,#26)
- [cmake] Allow use as submodule (#15)
- [cmake] Cmake package is now relocable (#9)

Tests

- Fix test on Algebraic Sphere projection (#27)
- Fix compilation error on Windows (github actions) for Basket test ( (#27)

Doc

- Fix online documentation (#29): broken reference list (issue #24)

CI/Actions

- Add automatic doc deployment (#29)

0.2 Alpha

30 Apr 10:11
29067ca
Compare
Choose a tag to compare
0.2 Alpha Pre-release
Pre-release

API

- [spatialpartitioning] Add new package Space Partitioning (#20)
- [core][fitting] Rename Core module as Fitting (#9)
- [common] Add package common (#9)
- [api] New public entry points are the header files <Ponca/Ponca> and <Ponca/Fitting> (#9)

Buildchain

- [cmake] Fix several bugs with Eigen submodule (#17,#19)
- [cmake] Allow use as submodule (#15)
- [cmake] Cmake package is now relocable (#9)