#include <SpectralDecomposition.h>
Public Member Functions | |
virtual DataPoints | filter (const DataPoints &input) |
Apply filters to input point cloud. This is the non-destructive version and returns a copy. More... | |
virtual void | inPlaceFilter (DataPoints &cloud) |
Apply these filters to a point cloud without copying. More... | |
SpectralDecompositionDataPointsFilter (const Parameters ¶ms=Parameters()) | |
virtual | ~SpectralDecompositionDataPointsFilter () |
Public Member Functions inherited from PointMatcher< T >::DataPointsFilter | |
DataPointsFilter () | |
Construct without parameter. More... | |
DataPointsFilter (const std::string &className, const ParametersDoc paramsDoc, const Parameters ¶ms) | |
Construct with parameters. More... | |
virtual void | init () |
Init this filter. More... | |
virtual | ~DataPointsFilter () |
virtual destructor More... | |
Public Member Functions inherited from PointMatcherSupport::Parametrizable | |
template<typename S > | |
S | get (const std::string ¶mName) |
Return the value of paramName, lexically-casted to S. More... | |
std::string | getParamValueString (const std::string ¶mName) |
Get the value of a parameter, as a string. More... | |
template<typename T > | |
std::vector< T > | getVector (const std::string ¶mName) |
Return the value of paramName, lexically-casted std::vector<S> More... | |
Parametrizable () | |
Construct a documentation of parameters from a description in the source. More... | |
Parametrizable (const std::string &className, const ParametersDoc paramsDoc, const Parameters ¶ms) | |
Construct with documented parameters. More... | |
virtual | ~Parametrizable () |
Virtual destructor, do nothing. More... | |
Static Public Member Functions | |
static const ParametersDoc | availableParameters () |
static const std::string | description () |
Static Public Member Functions inherited from PointMatcherSupport::Parametrizable | |
template<typename S > | |
static bool | Comp (std::string a, std::string b) |
Return whether a < b, lexically casted to S. More... | |
Public Attributes | |
const std::size_t | itMax |
const std::size_t | k |
const bool | keepLabels |
const bool | keepLambdas |
const bool | keepNormals |
const bool | keepTensors |
const T | radius |
const T | sigma |
Public Attributes inherited from PointMatcherSupport::Parametrizable | |
const std::string | className |
name of the class More... | |
Parameters | parameters |
parameters with their values encoded in string More... | |
const ParametersDoc | parametersDoc |
documentation of parameters More... | |
ParametersUsed | parametersUsed |
parameters whose value has actually been read More... | |
Private Member Functions | |
void | addDescriptor (DataPoints &pts, const TensorVoting< T > &tv, bool keepNormals_, bool keepLabels_, bool keepLambdas_, bool keepTensors_) const |
void | filterCurveness (DataPoints &pts, T xi, std::size_t k) const |
void | filterPointness (DataPoints &pts, T xi, std::size_t k) const |
void | filterSurfaceness (DataPoints &pts, T xi, std::size_t k) const |
void | removeOutlier (DataPoints &pts, const TensorVoting< T > &tv) const |
Static Private Member Functions | |
static T | xi_expectation (const std::size_t D, const T sigma_, const T radius_) |
Spectral Decomposition Filter (SpDF) is a sampling algorithm based on spectral decomposition analysis to derive local density measures for each geometric primitive. First, we identify the geometric primitives along with their saliencies using the tensor voting framework. Then, we derive density measures from saliencies: if the density for each geometric primitive is less than the desired density, we stop; else we sub-sample each over-represented geometric primitive, and re-iterate. As output, we have a uniform sampled point cloud enhanced with geometric information.
Implemented by Mathieu Labussiere <mathieu dot labu at gmail dot com>, Institut Pascal, Université Clermont Auvergne, 2020
Definition at line 49 of file SpectralDecomposition.h.
typedef PM::DataPoints SpectralDecompositionDataPointsFilter< T >::DataPoints |
Definition at line 53 of file SpectralDecomposition.h.
typedef PM::DataPointsFilter SpectralDecompositionDataPointsFilter< T >::DataPointsFilter |
Definition at line 55 of file SpectralDecomposition.h.
typedef PM::DataPoints SpectralDecompositionDataPointsFilter< T >::DP |
Definition at line 54 of file SpectralDecomposition.h.
typedef DataPoints::Index SpectralDecompositionDataPointsFilter< T >::Index |
Definition at line 64 of file SpectralDecomposition.h.
typedef PointMatcher<T>::DataPoints::InvalidField SpectralDecompositionDataPointsFilter< T >::InvalidField |
Definition at line 66 of file SpectralDecomposition.h.
typedef Parametrizable::InvalidParameter SpectralDecompositionDataPointsFilter< T >::InvalidParameter |
Definition at line 62 of file SpectralDecomposition.h.
typedef PM::Matrix SpectralDecompositionDataPointsFilter< T >::Matrix |
Definition at line 68 of file SpectralDecomposition.h.
typedef PointMatcherSupport::Parametrizable SpectralDecompositionDataPointsFilter< T >::P |
Definition at line 58 of file SpectralDecomposition.h.
typedef Parametrizable::ParameterDoc SpectralDecompositionDataPointsFilter< T >::ParameterDoc |
Definition at line 60 of file SpectralDecomposition.h.
typedef Parametrizable::Parameters SpectralDecompositionDataPointsFilter< T >::Parameters |
Definition at line 59 of file SpectralDecomposition.h.
typedef Parametrizable::ParametersDoc SpectralDecompositionDataPointsFilter< T >::ParametersDoc |
Definition at line 61 of file SpectralDecomposition.h.
typedef PointMatcherSupport::Parametrizable SpectralDecompositionDataPointsFilter< T >::Parametrizable |
Definition at line 57 of file SpectralDecomposition.h.
typedef PointMatcher<T> SpectralDecompositionDataPointsFilter< T >::PM |
Definition at line 52 of file SpectralDecomposition.h.
typedef PM::Vector SpectralDecompositionDataPointsFilter< T >::Vector |
Definition at line 69 of file SpectralDecomposition.h.
SpectralDecompositionDataPointsFilter< T >::SpectralDecompositionDataPointsFilter | ( | const Parameters & | params = Parameters() | ) |
Definition at line 41 of file SpectralDecomposition.cpp.
|
inlinevirtual |
Definition at line 105 of file SpectralDecomposition.h.
|
private |
Definition at line 134 of file SpectralDecomposition.cpp.
|
inlinestatic |
Definition at line 76 of file SpectralDecomposition.h.
|
inlinestatic |
Definition at line 71 of file SpectralDecomposition.h.
|
virtual |
Apply filters to input point cloud. This is the non-destructive version and returns a copy.
Implements PointMatcher< T >::DataPointsFilter.
Definition at line 57 of file SpectralDecomposition.cpp.
|
private |
Definition at line 282 of file SpectralDecomposition.cpp.
|
private |
Definition at line 319 of file SpectralDecomposition.cpp.
|
private |
Definition at line 245 of file SpectralDecomposition.cpp.
|
virtual |
Apply these filters to a point cloud without copying.
Implements PointMatcher< T >::DataPointsFilter.
Definition at line 65 of file SpectralDecomposition.cpp.
|
private |
Definition at line 203 of file SpectralDecomposition.cpp.
|
inlinestaticprivate |
Definition at line 111 of file SpectralDecomposition.h.
const std::size_t SpectralDecompositionDataPointsFilter< T >::itMax |
Definition at line 94 of file SpectralDecomposition.h.
const std::size_t SpectralDecompositionDataPointsFilter< T >::k |
Definition at line 91 of file SpectralDecomposition.h.
const bool SpectralDecompositionDataPointsFilter< T >::keepLabels |
Definition at line 96 of file SpectralDecomposition.h.
const bool SpectralDecompositionDataPointsFilter< T >::keepLambdas |
Definition at line 97 of file SpectralDecomposition.h.
const bool SpectralDecompositionDataPointsFilter< T >::keepNormals |
Definition at line 95 of file SpectralDecomposition.h.
const bool SpectralDecompositionDataPointsFilter< T >::keepTensors |
Definition at line 98 of file SpectralDecomposition.h.
const T SpectralDecompositionDataPointsFilter< T >::radius |
Definition at line 93 of file SpectralDecomposition.h.
const T SpectralDecompositionDataPointsFilter< T >::sigma |
Definition at line 92 of file SpectralDecomposition.h.