Gaia
gaia2::LinearCombinationDistance Class Reference

This class computes a distance that is the linear combination of any number of other DistanceFunctions. More...

#include <linearcombinationdistance.h>

Inheritance diagram for gaia2::LinearCombinationDistance:
gaia2::DistanceFunction

Public Member Functions

 LinearCombinationDistance (const PointLayout &layout, const ParameterMap &params)
 
void addDistance (DistanceFunction *f, Real coeff)
 
Real operator() (const Point &p1, const Point &p2, int seg1, int seg2) const
 This function computes the distance between the two given points. More...
 
- Public Member Functions inherited from gaia2::DistanceFunction
 DistanceFunction (const PointLayout &layout, const ParameterMap &params)
 
const PointLayoutlayout () const
 
const RegioncheckFixedLength (const Region &region) const
 Checks that the given Region only contains fixed-length descriptors and throws an exception if not. More...
 

Protected Attributes

QVector< QPair< DistanceFunction *, Real > > _weights
 
- Protected Attributes inherited from gaia2::DistanceFunction
PointLayout _layout
 
ParameterMap _params
 
Region _region
 

Additional Inherited Members

- Public Attributes inherited from gaia2::DistanceFunction
QString name
 Name for the metric, usually the key that was used to instantiate it from the factory.
 
QStringList validParams
 List of valid parameters this analyzer accepts. More...
 

Detailed Description

This class computes a distance that is the linear combination of any number of other DistanceFunctions.

For instance, in a recommender system, a set of weights could be seen as a user profile, each user having its own preferences regarding which distance is more useful to him.

Parameters
parameterMapthe parameterMap passed as argument should contain mapping from a name to a map containing the following fields: "distance", "params" and "weight".
distancethe name of the metric to create.
paramsthe ParameterMap to be used when creating the specified metric.
weightthe weight to be assigned to this metric in the linear combination.

Member Function Documentation

Real LinearCombinationDistance::operator() ( const Point p1,
const Point p2,
int  seg1,
int  seg2 
) const
virtual

This function computes the distance between the two given points.

It needs to be implemented in each subclass. It takes as optional arguments the number of the segments on which to operate.

Implements gaia2::DistanceFunction.


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