itpp::Vector_Quantizer Class Reference
Source Coding Module » Source Coding Routines

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. More...
void | save (const char *Name) const
| Save the codebook to a file. More...
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

## load()

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

Load the codebook from a file.

Parameters

  Name | The name of the VQ file

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

## save()

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

Save the codebook to a file.

Parameters

  Name | The 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:

- itpp/srccode/vq.h

Generated on Sat Sep 30 2017 07:04:09 for IT++ by Doxygen 1.8.13