IT++ Logo
Public Member Functions | Protected Attributes | List of all members
itpp::Vector_Quantizer Class Reference

Class for vector quantization. More...

#include <itpp/srccode/vq.h>

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 62 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.

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.


The documentation for this class was generated from the following file:
SourceForge Logo

Generated on Sat May 25 2013 16:32:34 for IT++ by Doxygen 1.8.2