Feature Vectors Domain

Module Contents

template<std::size_t dim>
class FeatureVector : public tracktable::PointCartesian<dim>

Point type for feature vectors

A feature vector is a list of numbers that collectively describe properties of some entity, generally a trajectory. We typically treat feature vectors as a kind of fingerprint: we don’t want to modify them or do arithmetic with them, but instead look at the structure of a larger collection of feature vectors.

In Tracktable we use the FeatureVector template for such things. You can specify any dimension you want from 1 on up. Algorithms such as DBSCAN and the R-tree are templated on point type so that you can use them with any kind of feature vector you want.

Public Types

typedef PointCartesian<dim> Superclass

Public Functions

inline FeatureVector()

Create an uninitialized vector.

inline virtual ~FeatureVector()

Empty destructor - nothing to do here.

inline FeatureVector(FeatureVector const &other)

Instantiate coordinates from the given feature vector

Parameters:

other[in] Feature vector to use for initialization

inline FeatureVector(const double *coords)

Instantiate coordinates from the given coordinate list

Parameters:

other[in] Coordinates to use for initialization

inline FeatureVector &operator=(FeatureVector const &other)
template<class Archive>
inline void serialize(Archive &ar, const unsigned int)

Serialize the points to an archive

Parameters:
  • ar[in] Archive to serialize to

  • version[in] Version of the archive

inline string_type to_string() const

Convert point coordinates to a string

Returns:

Coordinates string