cpp-toolbox  0.0.1
A toolbox library for C++
Loading...
Searching...
No Matches
toolbox::metrics Namespace Reference

Classes

class  AngularMetric
 
class  base_metric_t
 
class  BhattacharyyaMetric
 
class  BoundingBoxMetric
 Bounding box distance between two point clouds. More...
 
class  CentroidMetric
 Centroid distance between two point clouds. More...
 
class  ChamferMetric
 Chamfer distance between two point clouds. More...
 
class  ChiSquaredMetric
 
class  CompositeMetric
 
class  CorrelationMetric
 
class  CosineMetric
 
class  CustomMetric
 
class  EMDMetric
 
class  GeneralizedLpMetric
 
class  HausdorffMetric
 Hausdorff distance between two point clouds. More...
 
class  HellingerMetric
 
class  HistogramIntersectionMetric
 
class  IMetric
 
class  InnerProductMetric
 
struct  is_metric
 
struct  is_metric< base_metric_t< Derived, ElementType > >
 
class  JensenShannonMetric
 
class  KLDivergenceMetric
 
class  L1Metric
 
class  L2Metric
 
class  LambdaMetric
 
class  LinfMetric
 
class  LpMetric
 
struct  metric_traits
 
struct  metric_traits< L1Metric< T > >
 
struct  metric_traits< L2Metric< T > >
 
class  MetricFactory
 
class  MetricRegistry
 
class  MetricWrapper
 
class  ModifiedHausdorffMetric
 Modified Hausdorff distance (average of k-th smallest distances) More...
 
class  NormalizedAngularMetric
 
class  ParameterizedMetric
 
class  PointCloudEMDMetric
 Earth Mover's Distance (EMD) for point clouds. More...
 
class  PointMetricAdapter
 
class  ScaledMetric
 
class  WeightedMetric
 

Typedefs

template<typename T >
using metric_ptr = std::unique_ptr< base_metric_t< void, T > >
 

Functions

template<typename T , typename Lambda >
auto make_lambda_metric (Lambda &&lambda)
 
template<typename BaseMetric >
auto make_weighted_metric (BaseMetric &&metric, const std::vector< typename std::decay_t< BaseMetric >::element_type > &weights)
 
template<typename T >
std::unique_ptr< IMetric< T > > create_metric (const std::string &name)
 
template<typename Container >
auto create_metric_for (const Container &example, const std::string &name)
 

Variables

template<typename Metric >
constexpr bool is_symmetric_metric_v = metric_traits<Metric>::is_symmetric
 
template<typename Metric >
constexpr bool is_normalized_metric_v = metric_traits<Metric>::is_normalized
 
template<typename Metric >
constexpr bool has_squared_form_v = metric_traits<Metric>::has_squared_form
 
template<typename T >
constexpr bool is_metric_v = is_metric<T>::value
 

Typedef Documentation

◆ metric_ptr

template<typename T >
using toolbox::metrics::metric_ptr = typedef std::unique_ptr<base_metric_t<void, T> >

Function Documentation

◆ create_metric()

template<typename T >
std::unique_ptr< IMetric< T > > toolbox::metrics::create_metric ( const std::string &  name)

◆ create_metric_for()

template<typename Container >
auto toolbox::metrics::create_metric_for ( const Container &  example,
const std::string &  name 
)

◆ make_lambda_metric()

template<typename T , typename Lambda >
auto toolbox::metrics::make_lambda_metric ( Lambda &&  lambda)

◆ make_weighted_metric()

template<typename BaseMetric >
auto toolbox::metrics::make_weighted_metric ( BaseMetric &&  metric,
const std::vector< typename std::decay_t< BaseMetric >::element_type > &  weights 
)

Variable Documentation

◆ has_squared_form_v

template<typename Metric >
constexpr bool toolbox::metrics::has_squared_form_v = metric_traits<Metric>::has_squared_form
constexpr

◆ is_metric_v

template<typename T >
constexpr bool toolbox::metrics::is_metric_v = is_metric<T>::value
inlineconstexpr

◆ is_normalized_metric_v

template<typename Metric >
constexpr bool toolbox::metrics::is_normalized_metric_v = metric_traits<Metric>::is_normalized
constexpr

◆ is_symmetric_metric_v

template<typename Metric >
constexpr bool toolbox::metrics::is_symmetric_metric_v = metric_traits<Metric>::is_symmetric
constexpr