[pdal-commits] [PDAL/PDAL] 2f3f19: Add OptimalNeighborhoodFilter and refactor Covaria...

Andrew Bell noreply at github.com
Tue Aug 4 12:40:39 PDT 2020


  Branch: refs/heads/issue-1468
  Home:   https://github.com/PDAL/PDAL
  Commit: 2f3f198c5a814edf4b81c414be5b9416e869e602
      https://github.com/PDAL/PDAL/commit/2f3f198c5a814edf4b81c414be5b9416e869e602
  Author: chambbj <brad.chambers at gmail.com>
  Date:   2020-07-28 (Tue, 28 Jul 2020)

  Changed paths:
    M doc/stages/filters.covariancefeatures.rst
    A doc/stages/filters.optimalneighborhood.rst
    M doc/stages/filters.rst
    M filters/CovarianceFeaturesFilter.cpp
    M filters/CovarianceFeaturesFilter.hpp
    A filters/OptimalNeighborhoodFilter.cpp
    A filters/OptimalNeighborhoodFilter.hpp
    M pdal/Dimension.json
    M test/unit/filters/CovarianceFeaturesTest.cpp

  Log Message:
  -----------
  Add OptimalNeighborhoodFilter and refactor CovarianceFeaturesFilter (#3180)

* Add OptimalNeighborhoodFilter and refactor CovarianceFeaturesFilter

OptimalNeighborhoodFilter reports the pointwise optimal number of
neighbors (OptimalKNN) and corresponding radius (OptimalRadius), based
on Weinmann, et al. The optimal neighborhood size is found by minimizing
the Shannon entropy of normalized eigenvalues (the eigenentropy) while
sweeping a range a candidate k-nearest neighbors.

    Weinmann, Martin, et al. "Semantic point cloud interpretation based
    on optimal neighborhoods, relevant features and efficient
    classifiers." ISPRS Journal of Photogrammetry and Remote Sensing 105
    (2015): 286-304.

Augment the original CovarianceFeaturesFilter to add optional
specifiation of additional features derived from covariance matrix.

- Omnivariance
- Sum
- Eigenentropy
- Anisotropy
- Surface variation
- DemantkeVerticality
- Density (requires precomputed OptimalKNN and OptimalRadius)

Any feature_set other than "Dimensionality" will output ALL covariance
features. Alternately, covariance features can be passed as a
comma-separated list to the features argument, allowing explicity
definition of the desired features.

Add flexibility to normalize eigenvalues or to compute the standard
deviation along each dimension by taking the square root of the
eigenvalues. The default behavior (a CHANGE!) is to compute features
using the raw eigenvalues.

Update tests to compute all features, setting mode to "SQRT" in keeping
with original defaults.

* Change CovarianceFeaturesFilter mode from string to enum

* Enums/classes for feature types and feature_sets, error checking

* lint

* Remove cerr

* Doc clarifications

* Fix windows errors

* Response to PR comments

* Missed rename location Sum -> EigenvalueSum

* Update docs and tests

* Clean up behavior of features and feature_set and update docs

* Just hardcode pi

* Update tests to actually compute the features being tested


  Commit: d821550663c2ab702d7aef96140c4f7f114a53b1
      https://github.com/PDAL/PDAL/commit/d821550663c2ab702d7aef96140c4f7f114a53b1
  Author: Andrew Bell <andrew.bell.ia at gmail.com>
  Date:   2020-07-29 (Wed, 29 Jul 2020)

  Changed paths:
    M doc/stages/expression.rst

  Log Message:
  -----------
  Balance parens.


  Commit: 8532000bbc85bbce144d42a76111963da9c634bd
      https://github.com/PDAL/PDAL/commit/8532000bbc85bbce144d42a76111963da9c634bd
  Author: Andrew Bell <andrew.bell.ia at gmail.com>
  Date:   2020-08-04 (Tue, 04 Aug 2020)

  Changed paths:
    M io/private/ept/TileContents.cpp
    M pdal/PDALUtils.cpp
    M pdal/PDALUtils.hpp
    M pdal/PluginDirectory.cpp
    M pdal/PluginDirectory.hpp
    M pdal/util/FileUtils.cpp
    M pdal/util/FileUtils.hpp
    M test/unit/PluginManagerTest.cpp

  Log Message:
  -----------
  Use library-relative path for plugins. (#3195)

* Add DLL-relative path to search path for plugins.

* Fix plugin dir finding for windows.

* Remove dead tests.

* Fix realpath invocation.

* Debug.

* Remove search path test.


  Commit: c0bc29b6c223578e2a096ee6df2d1cc1f1a1c070
      https://github.com/PDAL/PDAL/commit/c0bc29b6c223578e2a096ee6df2d1cc1f1a1c070
  Author: Andrew Bell <andrew.bell.ia at gmail.com>
  Date:   2020-08-04 (Tue, 04 Aug 2020)

  Changed paths:
    M doc/stages/expression.rst
    M doc/stages/filters.covariancefeatures.rst
    A doc/stages/filters.optimalneighborhood.rst
    M doc/stages/filters.rst
    M filters/CovarianceFeaturesFilter.cpp
    M filters/CovarianceFeaturesFilter.hpp
    A filters/OptimalNeighborhoodFilter.cpp
    A filters/OptimalNeighborhoodFilter.hpp
    M io/private/ept/TileContents.cpp
    M pdal/Dimension.json
    M pdal/PDALUtils.cpp
    M pdal/PDALUtils.hpp
    M pdal/PluginDirectory.cpp
    M pdal/PluginDirectory.hpp
    M pdal/util/FileUtils.cpp
    M pdal/util/FileUtils.hpp
    M test/unit/PluginManagerTest.cpp
    M test/unit/filters/CovarianceFeaturesTest.cpp

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/master' into issue-1468


  Commit: 48c404f2e8ed72b14ac312dea67260aa5a41fdce
      https://github.com/PDAL/PDAL/commit/48c404f2e8ed72b14ac312dea67260aa5a41fdce
  Author: Andrew Bell <andrew.bell.ia at gmail.com>
  Date:   2020-08-04 (Tue, 04 Aug 2020)

  Changed paths:
    M filters/AssignFilter.cpp
    R filters/private/expr/AssignExpression.cpp
    R filters/private/expr/AssignExpression.hpp
    M filters/private/expr/AssignParser.cpp
    M filters/private/expr/AssignParser.hpp
    A filters/private/expr/AssignStatement.cpp
    A filters/private/expr/AssignStatement.hpp

  Log Message:
  -----------
  Change AssignExpression to AssignStatement.


Compare: https://github.com/PDAL/PDAL/compare/731565c9a3c8...48c404f2e8ed


More information about the pdal-commits mailing list