#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 Wed Apr 18 11:23:43 2007 for IT++ by Doxygen 1.5.2