IT++ Logo
Public Member Functions | Protected Attributes

itpp::Vector_Quantizer Class Reference

Class for vector quantization. More...

#include <itpp/srccode/vq.h>

List of all members.

Public Member Functions

 Vector_Quantizer ()
 Default constructor.
 Vector_Quantizer (const char *Name)
 Create a VQ from a VQ file.
int encode (const vec &x)
 Encode the input vector.
ivec encode (const vec &x, int num)
 Encode the input vector, and return the num best indices.
vec decode (int Index) const
 Decode the index.
Array< vec > decode (const ivec &Index) const
 Decode the indices.
vec Q (const vec &x)
 Quantize the input vector.
vec operator() (const vec &x)
 Quantize the input vector.
void set_codebook (const mat &CB)
 Initialize the codebook by a matrix.
mat get_codebook () const
 Returns the codebook.
void set_codevector (int Index, const vec &indata)
 Set a codevector in the codebook.
vec get_codevector (int Index) const
 Returns the codevector at the given index.
void modify_codevector (int no, double mul, const vec &add)
 Rescale and translate a codevector.
int size () const
 Returns the size (number of codevectors) of the VQ.
int dim () const
 Returns the dimension of the VQ.
int nobits () const
 Returns the number of bits of the VQ [log2(size)/dim].
void load (const char *Name)
 Load the codebook from a file.
void save (const char *Name) const
 Save the codebook to a file.
double latest_distortion ()
 Returns the distortion at the latest time a vector was encoded.

Protected Attributes

vec CodeBook
 The vector containing the code book.
int Size
 The size of the code book.
int Dim
 The dimension of the code book.
double LatestDist
 The distortion at the latest time a vector was encoded.

Detailed Description

Class for vector quantization.

The following code illustrates how the VQ can be initialized from a file and used to quantize a random vector.

  Vector_Quantizer Quantizer;
  vec     x,y;
  int     i;

  Quantizer.load("randomvq.vq");
  x=randn(Quantizer.dim());
  i=Quantizer.encode(x);
  y=Quantizer.decode(i);

Definition at line 63 of file vq.h.


Member Function Documentation

void itpp::Vector_Quantizer::load ( const char *  Name)

Load the codebook from a file.

Parameters:
NameThe name of the VQ file

The file format is a textfile where each row is a vector from the codebook.

Definition at line 177 of file vq.cpp.

References CodeBook, dim(), Dim, it_error_if, size(), and Size.

Referenced by Vector_Quantizer().

void itpp::Vector_Quantizer::save ( const char *  Name) const

Save the codebook to a file.

Parameters:
NameThe name of the VQ file

The file format is a textfile where each row is a vector from the codebook.

Definition at line 205 of file vq.cpp.

References CodeBook, Dim, and Size.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SourceForge Logo

Generated on Wed Mar 2 2011 22:05:53 for IT++ by Doxygen 1.7.3