Ponca  aa50bfdf187919869239c5b44b748842569114c1
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca Namespace Reference

This Source Code Form is subject to the terms of the Mozilla Public License, v. More...

Classes

class  AlgebraicSphere
 Algebraic Sphere primitive. More...
 
class  Basket
 Aggregator class used to declare specialized structures using CRTP. More...
 
class  BasketDiff
 Aggregator class used to declare specialized structures with derivatives computations, using CRTP. More...
 
class  CompactExpWeightKernel
 Compact Exponential WeightKernel defined in \(\left[0 : 1\right]\). More...
 
class  ConstantWeightKernel
 Concept::WeightKernelConcept returning a constant value. More...
 
class  CovarianceFitBase
 Procedure that compute and decompose the covariance matrix of the neighbors positions in \(3d\). More...
 
class  CovarianceFitDer
 Internal generic class computing the derivatives of covariance matrix computed by CovarianceFitBase. More...
 
class  CovarianceLineFitImpl
 Line fitting procedure that minimize the orthogonal distance between the samples and the fitted primitive. More...
 
class  CovariancePlaneDerImpl
 [CovariancePlaneFit Definition] More...
 
class  CovariancePlaneFitImpl
 Plane fitting procedure using only points position. More...
 
class  CurvatureEstimatorBase
 Base class for any 3d curvature estimator: holds \(k_{\min}\), \(k_{\max}\) and associated vectors, such that \( k_{\min} <= k_{\max} \). More...
 
class  DistWeightFunc
 Weighting function based on the euclidean distance between a query and a reference position. More...
 
class  DryFit
 Empty fitting object doing no computation. More...
 
class  GLSDer
 Differentiation of GLSParam. More...
 
class  GLSParam
 Growing Least Squares reparemetrization of the OrientedSphereFit. More...
 
struct  IndexSquaredDistance
 Associates an index with a distance. More...
 
struct  KdTree
 Abstract KdTree type with KdTreeDefaultTraits. More...
 
class  KdTreeBase
 [KdTreeSparse type definition] More...
 
class  KdTreeCustomizableNode
 The node type used by default by the kd-tree. More...
 
struct  KdTreeDefaultInnerNode
 
struct  KdTreeDefaultLeafNode
 
struct  KdTreeDefaultNode
 
struct  KdTreeDefaultTraits
 The default traits type used by the kd-tree. More...
 
struct  KdTreeDense
 [KdTree type definition] More...
 
class  KdTreeDenseBase
 Customizable base class for dense KdTree datastructure. More...
 
class  KdTreeKNearestIterator
 
class  KdTreeKNearestQueryBase
 
class  KdTreeNearestIterator
 
class  KdTreeNearestQueryBase
 
class  KdTreeQuery
 
class  KdTreeRangeIterator
 
class  KdTreeRangeQueryBase
 
struct  KdTreeSparse
 [KdTreeDense type definition] More...
 
class  KdTreeSparseBase
 Customizable base class for KdTreeSparse datastructure. More...
 
struct  KNearestIndexQuery
 Base Query class combining QueryInputIsIndex and QueryOutputIsKNearest. More...
 
struct  KNearestPointQuery
 Base Query class combining QueryInputIsPosition and QueryOutputIsKNearest. More...
 
class  KnnGraphBase
 Customizable base class for KnnGraph datastructure. More...
 
struct  KnnGraphDefaultTraits
 The default traits type used by the kd-tree. More...
 
class  KnnGraphKNearestQuery
 
class  KnnGraphRangeIterator
 
class  KnnGraphRangeQuery
 
class  limited_priority_queue
 The limited_priority_queue class is similar to std::priority_queue but has a limited capacity and handles the comparison differently. More...
 
class  Line
 A parametrized line is defined by an origin point \(\mathbf{o}\) and a unit direction vector \(\overrightarrow{\mathbf{d}}\) such that the line corresponds to the set \(l(t)=\mathbf{o}+t\overrightarrow{\mathbf{d}}, t\in \mathbb{R}\). More...
 
class  MeanNormal
 Compute the barycenter of the input points + their normals. More...
 
class  MeanNormalDer
 
class  MeanPlaneFitImpl
 Plane fitting procedure computing the mean position and orientation from oriented points. More...
 
class  MeanPosition
 Compute the barycenter of the input points. More...
 
class  MeanPositionDer
 
class  MlsSphereFitDer
 Extension performing derivation of the mls surface. More...
 
class  MongePatch
 Extension to compute the best fit quadric on 3d points expressed as \(f(u,v)=h\). More...
 
struct  NearestIndexQuery
 Base Query class combining QueryInputIsIndex and QueryOutputIsNearest. More...
 
struct  NearestPointQuery
 Base Query class combining QueryInputIsPosition and QueryOutputIsNearest. More...
 
class  NormalCovarianceCurvatureEstimator
 Extension to compute curvature values based on a covariance analysis of normal vectors of neighbors. More...
 
class  NormalDerivativesCurvatureEstimator
 Extension to compute curvature values from the Weingarten map \( \frac{d N}{d \mathbf{x}} \). More...
 
class  OrientedSphereDerImpl
 [OrientedSphereFit Definition] More...
 
class  OrientedSphereFitImpl
 Algebraic Sphere fitting procedure on oriented point sets. More...
 
class  Plane
 Implicit hyperplane defined by an homogeneous vector \(\mathbf{p}\). More...
 
class  PrimitiveBase
 Primitive base class. More...
 
class  PrimitiveDer
 Generic class performing the Fit derivation. More...
 
class  ProjectedNormalCovarianceCurvatureEstimator
 Extension to compute curvature values based on a covariance analysis of normal vectors of neighbors projected onto the tangent plane. More...
 
struct  Query
 
struct  QueryInput
 Base class for typed queries input type. More...
 
struct  QueryInputBase
 Base class for queries input type. More...
 
struct  QueryInputIsIndex
 Base class for queries storing points. More...
 
struct  QueryInputIsPosition
 Base class for queries storing points. More...
 
struct  QueryOutputBase
 Base class for queries output type. More...
 
struct  QueryOutputIsKNearest
 Base class for knearest queries. More...
 
struct  QueryOutputIsNearest
 Base class for nearest queries. More...
 
struct  QueryOutputIsRange
 Base class for range queries. More...
 
struct  RangeIndexQuery
 Base Query class combining QueryInputIsIndex and QueryOutputIsRange. More...
 
struct  RangePointQuery
 Base Query class combining QueryInputIsPosition and QueryOutputIsRange. More...
 
class  SingularWeightKernel
 Singular WeightKernel defined in \(\left]0 : 1\right]\). More...
 
class  SmoothWeightKernel
 Smooth WeightKernel defined in \(\left[0 : 1\right]\). More...
 
class  SphereFitImpl
 Algebraic Sphere fitting procedure on point set without normals. More...
 
class  Stack
 Stack with fixed-size storage. More...
 
class  UnorientedSphereDerImpl
 
class  UnorientedSphereFitImpl
 Algebraic Sphere fitting procedure on point sets with non-oriented normals. More...
 
class  WendlandWeightKernel
 Wendland WeightKernel defined in \(\left[0 : 1\right]\). More...
 

Typedefs

template<class DataPoint , class _WFunctor , typename T >
using CovarianceLineFit = CovarianceLineFitImpl< DataPoint, _WFunctor, CovarianceFitBase< DataPoint, _WFunctor, MeanPosition< DataPoint, _WFunctor, Line< DataPoint, _WFunctor, T > > > >
 Helper alias for Line fitting on 3D points using CovarianceLineFitImpl.
 
template<class DataPoint , class _WFunctor , typename T >
using CovariancePlaneFit = CovariancePlaneFitImpl< DataPoint, _WFunctor, CovarianceFitBase< DataPoint, _WFunctor, MeanPosition< DataPoint, _WFunctor, Plane< DataPoint, _WFunctor, T > > > >
 Helper alias for Plane fitting on 3D points using CovariancePlaneFitImpl [CovariancePlaneFit Definition].
 
template<class DataPoint , class _WFunctor , int DiffType, typename T >
using CovariancePlaneDer = CovariancePlaneDerImpl< DataPoint, _WFunctor, DiffType, CovarianceFitDer< DataPoint, _WFunctor, DiffType, MeanPositionDer< DataPoint, _WFunctor, DiffType, T > > >
 Helper alias for Plane fitting on 3D points using CovariancePlaneFitImpl.
 
template<class DataPoint , class _WFunctor , typename T >
using MeanPlaneFit = MeanPlaneFitImpl< DataPoint, _WFunctor, MeanNormal< DataPoint, _WFunctor, MeanPosition< DataPoint, _WFunctor, Plane< DataPoint, _WFunctor, T > > > >
 Helper alias for Plane fitting on points using MeanPlaneFitImpl [MeanPlaneFit Definition].
 
template<class DataPoint , class _WFunctor , typename T >
using OrientedSphereFit = OrientedSphereFitImpl< DataPoint, _WFunctor, MeanPosition< DataPoint, _WFunctor, MeanNormal< DataPoint, _WFunctor, AlgebraicSphere< DataPoint, _WFunctor, T > > > >
 Helper alias for Oriented Sphere fitting on 3D points using OrientedSphereFitImpl [OrientedSphereFit Definition].
 
template<class DataPoint , class _WFunctor , int DiffType, typename T >
using OrientedSphereDer = OrientedSphereDerImpl< DataPoint, _WFunctor, DiffType, MeanPositionDer< DataPoint, _WFunctor, DiffType, T > >
 Helper alias for Oriented Sphere fitting on 3D points using OrientedSphereDerImpl.
 
template<class DataPoint , class _WFunctor , typename T >
using SphereFit = SphereFitImpl< DataPoint, _WFunctor, AlgebraicSphere< DataPoint, _WFunctor, T > >
 Helper alias for Sphere fitting on 3D points using SphereFitImpl.
 
template<class DataPoint , class _WFunctor , typename T >
using UnorientedSphereFit = UnorientedSphereFitImpl< DataPoint, _WFunctor, MeanPosition< DataPoint, _WFunctor, AlgebraicSphere< DataPoint, _WFunctor, T > > >
 Helper alias for Oriented Sphere fitting on 3D points using UnorientedSphereFitImpl.
 
template<class DataPoint , class _WFunctor , int DiffType, typename T >
using UnorientedSphereDer = UnorientedSphereDerImpl< DataPoint, _WFunctor, DiffType, MeanPositionDer< DataPoint, _WFunctor, DiffType, T > >
 
template<typename Traits >
using KdTreeKNearestIndexQuery = KdTreeKNearestQueryBase< Traits, KdTreeKNearestIterator, KNearestIndexQuery< typename Traits::IndexType, typename Traits::DataPoint::Scalar > >
 
template<typename Traits >
using KdTreeKNearestPointQuery = KdTreeKNearestQueryBase< Traits, KdTreeKNearestIterator, KNearestPointQuery< typename Traits::IndexType, typename Traits::DataPoint > >
 
template<typename Traits >
using KdTreeNearestIndexQuery = KdTreeNearestQueryBase< Traits, KdTreeNearestIterator, NearestIndexQuery< typename Traits::IndexType, typename Traits::DataPoint::Scalar > >
 
template<typename Traits >
using KdTreeNearestPointQuery = KdTreeNearestQueryBase< Traits, KdTreeNearestIterator, NearestPointQuery< typename Traits::IndexType, typename Traits::DataPoint > >
 
template<typename Traits >
using KdTreeRangeIndexQuery = KdTreeRangeQueryBase< Traits, KdTreeRangeIterator, RangeIndexQuery< typename Traits::IndexType, typename Traits::DataPoint::Scalar > >
 
template<typename Traits >
using KdTreeRangePointQuery = KdTreeRangeQueryBase< Traits, KdTreeRangeIterator, RangePointQuery< typename Traits::IndexType, typename Traits::DataPoint > >
 
template<typename DataPoint >
using KnnGraph = KnnGraphBase< KnnGraphDefaultTraits< DataPoint > >
 Public interface for KnnGraph datastructure.
 

Enumerations

enum  FIT_RESULT : unsigned char {
  STABLE = 0 , UNSTABLE = 1 , UNDEFINED = 2 , NEED_OTHER_PASS = 3 ,
  CONFLICT_ERROR_FOUND = 4 , NBMAX
}
 Enum corresponding to the state of a fitting method (and what the finalize function returns) More...
 
enum  DiffType : unsigned int { FitScaleDer = 0x01 , FitSpaceDer = 0x02 , FitScaleSpaceDer = FitScaleDer | FitSpaceDer }
 Flags defining which derivatives need to be computed. More...
 

Detailed Description

This Source Code Form is subject to the terms of the Mozilla Public License, v.

2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Author
Thibault Lejemble

2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Author
Thibault Lejemble - Main source code
Nicolas Mellado - Improved error handling and bound check

Typedef Documentation

◆ CovarianceLineFit

template<class DataPoint , class _WFunctor , typename T >
using Ponca::CovarianceLineFit = typedef CovarianceLineFitImpl<DataPoint, _WFunctor, CovarianceFitBase<DataPoint, _WFunctor, MeanPosition<DataPoint, _WFunctor, Line<DataPoint, _WFunctor,T> >> >

Helper alias for Line fitting on 3D points using CovarianceLineFitImpl.

Definition at line 64 of file covarianceLineFit.h.

◆ CovariancePlaneDer

template<class DataPoint , class _WFunctor , int DiffType, typename T >
using Ponca::CovariancePlaneDer = typedef CovariancePlaneDerImpl<DataPoint, _WFunctor, DiffType, CovarianceFitDer<DataPoint, _WFunctor, DiffType, MeanPositionDer<DataPoint, _WFunctor, DiffType, T> >>

Helper alias for Plane fitting on 3D points using CovariancePlaneFitImpl.

Definition at line 143 of file covariancePlaneFit.h.

◆ CovariancePlaneFit

template<class DataPoint , class _WFunctor , typename T >
using Ponca::CovariancePlaneFit = typedef CovariancePlaneFitImpl<DataPoint, _WFunctor, CovarianceFitBase<DataPoint, _WFunctor, MeanPosition<DataPoint, _WFunctor, Plane<DataPoint, _WFunctor,T> >> >

Helper alias for Plane fitting on 3D points using CovariancePlaneFitImpl [CovariancePlaneFit Definition].

Definition at line 87 of file covariancePlaneFit.h.

◆ KdTreeKNearestIndexQuery

template<typename Traits >
using Ponca::KdTreeKNearestIndexQuery = typedef KdTreeKNearestQueryBase< Traits, KdTreeKNearestIterator, KNearestIndexQuery<typename Traits::IndexType, typename Traits::DataPoint::Scalar> >

Definition at line 54 of file kdTreeKNearestQueries.h.

◆ KdTreeKNearestPointQuery

template<typename Traits >
using Ponca::KdTreeKNearestPointQuery = typedef KdTreeKNearestQueryBase< Traits, KdTreeKNearestIterator, KNearestPointQuery<typename Traits::IndexType, typename Traits::DataPoint> >

Definition at line 57 of file kdTreeKNearestQueries.h.

◆ KdTreeNearestIndexQuery

template<typename Traits >
using Ponca::KdTreeNearestIndexQuery = typedef KdTreeNearestQueryBase< Traits, KdTreeNearestIterator, NearestIndexQuery<typename Traits::IndexType, typename Traits::DataPoint::Scalar> >

Definition at line 59 of file kdTreeNearestQueries.h.

◆ KdTreeNearestPointQuery

template<typename Traits >
using Ponca::KdTreeNearestPointQuery = typedef KdTreeNearestQueryBase< Traits, KdTreeNearestIterator, NearestPointQuery<typename Traits::IndexType, typename Traits::DataPoint> >

Definition at line 62 of file kdTreeNearestQueries.h.

◆ KdTreeRangeIndexQuery

template<typename Traits >
using Ponca::KdTreeRangeIndexQuery = typedef KdTreeRangeQueryBase< Traits, KdTreeRangeIterator, RangeIndexQuery<typename Traits::IndexType, typename Traits::DataPoint::Scalar> >

Definition at line 95 of file kdTreeRangeQueries.h.

◆ KdTreeRangePointQuery

template<typename Traits >
using Ponca::KdTreeRangePointQuery = typedef KdTreeRangeQueryBase< Traits, KdTreeRangeIterator, RangePointQuery<typename Traits::IndexType, typename Traits::DataPoint> >

Definition at line 98 of file kdTreeRangeQueries.h.

◆ KnnGraph

template<typename DataPoint >
using Ponca::KnnGraph = typedef KnnGraphBase<KnnGraphDefaultTraits<DataPoint> >

Public interface for KnnGraph datastructure.

Provides default implementation of the KnnGraph

See also
KnnGraphDefaultTraits for the default trait interface documentation.
KnnGraphBase for complete API

Definition at line 31 of file knnGraph.h.

◆ MeanPlaneFit

template<class DataPoint , class _WFunctor , typename T >
using Ponca::MeanPlaneFit = typedef MeanPlaneFitImpl<DataPoint, _WFunctor, MeanNormal<DataPoint, _WFunctor, MeanPosition<DataPoint, _WFunctor, Plane<DataPoint, _WFunctor,T> >> >

Helper alias for Plane fitting on points using MeanPlaneFitImpl [MeanPlaneFit Definition].

Definition at line 56 of file meanPlaneFit.h.

◆ OrientedSphereDer

template<class DataPoint , class _WFunctor , int DiffType, typename T >
using Ponca::OrientedSphereDer = typedef OrientedSphereDerImpl<DataPoint, _WFunctor, DiffType, MeanPositionDer<DataPoint, _WFunctor, DiffType, T> >

Helper alias for Oriented Sphere fitting on 3D points using OrientedSphereDerImpl.

Definition at line 141 of file orientedSphereFit.h.

◆ OrientedSphereFit

template<class DataPoint , class _WFunctor , typename T >
using Ponca::OrientedSphereFit = typedef OrientedSphereFitImpl<DataPoint, _WFunctor, MeanPosition<DataPoint, _WFunctor, MeanNormal<DataPoint, _WFunctor, AlgebraicSphere<DataPoint, _WFunctor,T> >> >

Helper alias for Oriented Sphere fitting on 3D points using OrientedSphereFitImpl [OrientedSphereFit Definition].

Definition at line 52 of file orientedSphereFit.h.

◆ SphereFit

template<class DataPoint , class _WFunctor , typename T >
using Ponca::SphereFit = typedef SphereFitImpl<DataPoint, _WFunctor, AlgebraicSphere<DataPoint, _WFunctor,T> >

Helper alias for Sphere fitting on 3D points using SphereFitImpl.

Definition at line 89 of file sphereFit.h.

◆ UnorientedSphereDer

template<class DataPoint , class _WFunctor , int DiffType, typename T >
using Ponca::UnorientedSphereDer = typedef UnorientedSphereDerImpl<DataPoint, _WFunctor, DiffType, MeanPositionDer<DataPoint, _WFunctor, DiffType, T> >

Definition at line 122 of file unorientedSphereFit.h.

◆ UnorientedSphereFit

template<class DataPoint , class _WFunctor , typename T >
using Ponca::UnorientedSphereFit = typedef UnorientedSphereFitImpl<DataPoint, _WFunctor, MeanPosition<DataPoint, _WFunctor, AlgebraicSphere<DataPoint, _WFunctor,T> >>

Helper alias for Oriented Sphere fitting on 3D points using UnorientedSphereFitImpl.

Definition at line 73 of file unorientedSphereFit.h.

Enumeration Type Documentation

◆ DiffType

enum Ponca::DiffType : unsigned int

Flags defining which derivatives need to be computed.

Warning
Flags have to be combined using |
Enumerator
FitScaleDer 

Flag indicating a scale differentiation.

FitSpaceDer 

Flag indicating a space differentiation.

FitScaleSpaceDer 

Flag indicating a scale-space differentiation.

Definition at line 33 of file enums.h.

◆ FIT_RESULT

enum Ponca::FIT_RESULT : unsigned char

Enum corresponding to the state of a fitting method (and what the finalize function returns)

Enumerator
STABLE 

The fitting is stable and ready to use.

UNSTABLE 

The fitting is ready to use but it is considered as unstable (if the number of neighbors is low for example)

UNDEFINED 

The fitting is undefined, you can't use it for valid results.

NEED_OTHER_PASS 

The fitting procedure needs to analyse the neighborhood another time.

CONFLICT_ERROR_FOUND 

Multiple classes of the fitting procedure initialize the primitive.

Should be treated as error.

NBMAX 

Nb enums.

Definition at line 14 of file enums.h.