#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 and dimension of the code book respectively. | |
int | Dim |
double | LatestDist |
The distortion at the latest time a vector was encoded. |
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 65 of file vq.h.
itpp::Vector_Quantizer::Vector_Quantizer | ( | ) |
itpp::Vector_Quantizer::Vector_Quantizer | ( | const char * | Name | ) |
int itpp::Vector_Quantizer::encode | ( | const vec & | x | ) |
ivec itpp::Vector_Quantizer::encode | ( | const vec & | x, | |
int | num | |||
) |
vec itpp::Vector_Quantizer::decode | ( | int | Index | ) | const [inline] |
Decode the index.
Definition at line 130 of file vq.h.
References get_codevector().
Referenced by Q().
Array< vec > itpp::Vector_Quantizer::decode | ( | const ivec & | Index | ) | const |
vec itpp::Vector_Quantizer::Q | ( | const vec & | x | ) | [inline] |
Quantize the input vector.
Definition at line 131 of file vq.h.
References decode(), and encode().
Referenced by operator()().
vec itpp::Vector_Quantizer::operator() | ( | const vec & | x | ) | [inline] |
void itpp::Vector_Quantizer::set_codebook | ( | const mat & | CB | ) |
mat itpp::Vector_Quantizer::get_codebook | ( | ) | const |
void itpp::Vector_Quantizer::set_codevector | ( | int | Index, | |
const vec & | indata | |||
) |
Set a codevector in the codebook.
Definition at line 234 of file vq.cpp.
References CodeBook, Dim, it_error_if, and itpp::length().
vec itpp::Vector_Quantizer::get_codevector | ( | int | Index | ) | const |
void itpp::Vector_Quantizer::modify_codevector | ( | int | no, | |
double | mul, | |||
const vec & | add | |||
) |
int itpp::Vector_Quantizer::size | ( | ) | const [inline] |
int itpp::Vector_Quantizer::dim | ( | ) | const [inline] |
int itpp::Vector_Quantizer::nobits | ( | ) | const [inline] |
Returns the number of bits of the VQ [log2(size)/dim].
Definition at line 127 of file vq.h.
References itpp::levels2bits(), and Size.
void itpp::Vector_Quantizer::load | ( | const char * | Name | ) |
Load the codebook from a file.
Name | The name of the VQ file |
Definition at line 177 of file vq.cpp.
References CodeBook, dim(), Dim, it_error_if, itpp::length(), size(), and Size.
Referenced by Vector_Quantizer().
void itpp::Vector_Quantizer::save | ( | const char * | Name | ) | const |
double itpp::Vector_Quantizer::latest_distortion | ( | ) | [inline] |
Returns the distortion at the latest time a vector was encoded.
Definition at line 129 of file vq.h.
References LatestDist.
vec itpp::Vector_Quantizer::CodeBook [protected] |
The vector containing the code book.
Definition at line 117 of file vq.h.
Referenced by encode(), get_codebook(), get_codevector(), load(), modify_codevector(), save(), set_codebook(), and set_codevector().
int itpp::Vector_Quantizer::Size [protected] |
The size and dimension of the code book respectively.
Definition at line 119 of file vq.h.
Referenced by encode(), get_codebook(), load(), nobits(), save(), set_codebook(), size(), and Vector_Quantizer().
double itpp::Vector_Quantizer::LatestDist [protected] |
The distortion at the latest time a vector was encoded.
Definition at line 121 of file vq.h.
Referenced by encode(), latest_distortion(), and Vector_Quantizer().
Generated on Thu Apr 19 14:15:04 2007 for IT++ by Doxygen 1.5.1