Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Static Private Member Functions | List of all members
SpectralDecompositionDataPointsFilter< T > Struct Template Reference

#include <SpectralDecomposition.h>

Inheritance diagram for SpectralDecompositionDataPointsFilter< T >:
Inheritance graph
[legend]

Public Types

typedef PM::DataPoints DataPoints
 
typedef PM::DataPointsFilter DataPointsFilter
 
typedef PM::DataPoints DP
 
typedef DataPoints::Index Index
 
typedef PointMatcher< T >::DataPoints::InvalidField InvalidField
 
typedef Parametrizable::InvalidParameter InvalidParameter
 
typedef PM::Matrix Matrix
 
typedef PointMatcherSupport::Parametrizable P
 
typedef Parametrizable::ParameterDoc ParameterDoc
 
typedef Parametrizable::Parameters Parameters
 
typedef Parametrizable::ParametersDoc ParametersDoc
 
typedef PointMatcherSupport::Parametrizable Parametrizable
 
typedef PointMatcher< T > PM
 
typedef PM::Vector Vector
 
- Public Types inherited from PointMatcherSupport::Parametrizable
typedef bool(* LexicalComparison) (std::string a, std::string b)
 A function that returns whether a is smaller than b. More...
 
typedef std::string Parameter
 alias More...
 
typedef std::map< std::string, ParameterParameters
 Parameters stored as a map of string->string. More...
 
typedef std::vector< ParameterDocParametersDoc
 The documentation of all parameters. More...
 
typedef std::set< std::string > ParametersUsed
 Parameters whose value has been read. More...
 

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 &params=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 &params)
 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 >
get (const std::string &paramName)
 Return the value of paramName, lexically-casted to S. More...
 
std::string getParamValueString (const std::string &paramName)
 Get the value of a parameter, as a string. More...
 
 Parametrizable ()
 Construct a documentation of parameters from a description in the source. More...
 
 Parametrizable (const std::string &className, const ParametersDoc paramsDoc, const Parameters &params)
 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_)
 

Detailed Description

template<typename T>
struct SpectralDecompositionDataPointsFilter< T >

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.

Member Typedef Documentation

◆ DataPoints

Definition at line 53 of file SpectralDecomposition.h.

◆ DataPointsFilter

Definition at line 55 of file SpectralDecomposition.h.

◆ DP

template<typename T >
typedef PM::DataPoints SpectralDecompositionDataPointsFilter< T >::DP

Definition at line 54 of file SpectralDecomposition.h.

◆ Index

template<typename T >
typedef DataPoints::Index SpectralDecompositionDataPointsFilter< T >::Index

Definition at line 64 of file SpectralDecomposition.h.

◆ InvalidField

Definition at line 66 of file SpectralDecomposition.h.

◆ InvalidParameter

Definition at line 62 of file SpectralDecomposition.h.

◆ Matrix

template<typename T >
typedef PM::Matrix SpectralDecompositionDataPointsFilter< T >::Matrix

Definition at line 68 of file SpectralDecomposition.h.

◆ P

Definition at line 58 of file SpectralDecomposition.h.

◆ ParameterDoc

Definition at line 60 of file SpectralDecomposition.h.

◆ Parameters

Definition at line 59 of file SpectralDecomposition.h.

◆ ParametersDoc

Definition at line 61 of file SpectralDecomposition.h.

◆ Parametrizable

Definition at line 57 of file SpectralDecomposition.h.

◆ PM

template<typename T >
typedef PointMatcher<T> SpectralDecompositionDataPointsFilter< T >::PM

Definition at line 52 of file SpectralDecomposition.h.

◆ Vector

template<typename T >
typedef PM::Vector SpectralDecompositionDataPointsFilter< T >::Vector

Definition at line 69 of file SpectralDecomposition.h.

Constructor & Destructor Documentation

◆ SpectralDecompositionDataPointsFilter()

Definition at line 41 of file SpectralDecomposition.cpp.

◆ ~SpectralDecompositionDataPointsFilter()

template<typename T >
virtual SpectralDecompositionDataPointsFilter< T >::~SpectralDecompositionDataPointsFilter ( )
inlinevirtual

Definition at line 105 of file SpectralDecomposition.h.

Member Function Documentation

◆ addDescriptor()

template<typename T >
void SpectralDecompositionDataPointsFilter< T >::addDescriptor ( DataPoints pts,
const TensorVoting< T > &  tv,
bool  keepNormals_,
bool  keepLabels_,
bool  keepLambdas_,
bool  keepTensors_ 
) const
private

Definition at line 134 of file SpectralDecomposition.cpp.

◆ availableParameters()

template<typename T >
static const ParametersDoc SpectralDecompositionDataPointsFilter< T >::availableParameters ( )
inlinestatic

Definition at line 76 of file SpectralDecomposition.h.

◆ description()

template<typename T >
static const std::string SpectralDecompositionDataPointsFilter< T >::description ( )
inlinestatic

Definition at line 71 of file SpectralDecomposition.h.

◆ filter()

template<typename T >
PointMatcher< T >::DataPoints SpectralDecompositionDataPointsFilter< T >::filter ( const DataPoints input)
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.

◆ filterCurveness()

template<typename T >
void SpectralDecompositionDataPointsFilter< T >::filterCurveness ( DataPoints pts,
xi,
std::size_t  k 
) const
private

Definition at line 282 of file SpectralDecomposition.cpp.

◆ filterPointness()

template<typename T >
void SpectralDecompositionDataPointsFilter< T >::filterPointness ( DataPoints pts,
xi,
std::size_t  k 
) const
private

Definition at line 319 of file SpectralDecomposition.cpp.

◆ filterSurfaceness()

template<typename T >
void SpectralDecompositionDataPointsFilter< T >::filterSurfaceness ( DataPoints pts,
xi,
std::size_t  k 
) const
private

Definition at line 245 of file SpectralDecomposition.cpp.

◆ inPlaceFilter()

template<typename T >
void SpectralDecompositionDataPointsFilter< T >::inPlaceFilter ( DataPoints cloud)
virtual

Apply these filters to a point cloud without copying.

Implements PointMatcher< T >::DataPointsFilter.

Definition at line 65 of file SpectralDecomposition.cpp.

◆ removeOutlier()

template<typename T >
void SpectralDecompositionDataPointsFilter< T >::removeOutlier ( DataPoints pts,
const TensorVoting< T > &  tv 
) const
private

Definition at line 203 of file SpectralDecomposition.cpp.

◆ xi_expectation()

template<typename T >
static T SpectralDecompositionDataPointsFilter< T >::xi_expectation ( const std::size_t  D,
const T  sigma_,
const T  radius_ 
)
inlinestaticprivate

Definition at line 111 of file SpectralDecomposition.h.

Member Data Documentation

◆ itMax

template<typename T >
const std::size_t SpectralDecompositionDataPointsFilter< T >::itMax

Definition at line 94 of file SpectralDecomposition.h.

◆ k

template<typename T >
const std::size_t SpectralDecompositionDataPointsFilter< T >::k

Definition at line 91 of file SpectralDecomposition.h.

◆ keepLabels

template<typename T >
const bool SpectralDecompositionDataPointsFilter< T >::keepLabels

Definition at line 96 of file SpectralDecomposition.h.

◆ keepLambdas

template<typename T >
const bool SpectralDecompositionDataPointsFilter< T >::keepLambdas

Definition at line 97 of file SpectralDecomposition.h.

◆ keepNormals

template<typename T >
const bool SpectralDecompositionDataPointsFilter< T >::keepNormals

Definition at line 95 of file SpectralDecomposition.h.

◆ keepTensors

template<typename T >
const bool SpectralDecompositionDataPointsFilter< T >::keepTensors

Definition at line 98 of file SpectralDecomposition.h.

◆ radius

template<typename T >
const T SpectralDecompositionDataPointsFilter< T >::radius

Definition at line 93 of file SpectralDecomposition.h.

◆ sigma

template<typename T >
const T SpectralDecompositionDataPointsFilter< T >::sigma

Definition at line 92 of file SpectralDecomposition.h.


The documentation for this struct was generated from the following files:


libpointmatcher
Author(s):
autogenerated on Sat May 27 2023 02:38:04