#include <vq.h>
Public Member Functions | |
| Scalar_Quantizer () | |
| Default constructor.  | |
| Scalar_Quantizer (const char *Name) | |
| Create a VQ from a VQ file.  | |
| int | encode (double x) const | 
| Encode.  | |
| ivec | encode (const vec &x) const | 
| Encode the input vector.  | |
| double | decode (int Index) const | 
| Decode the index.  | |
| vec | decode (const ivec &Index) const | 
| Decode the indices.  | |
| double | Q (double x) const | 
| Quantize.  | |
| vec | Q (const vec &x) const | 
| Quantize the input vector.  | |
| double | operator() (double x) const | 
| Quantize.  | |
| vec | operator() (const vec &x) const | 
| Quantize the input vector.  | |
| void | set_levels (const vec &L) | 
| Initialize the codebook by a matrix.  | |
| vec | get_levels () const | 
| Returns the codebook.  | |
| int | size () const | 
| Returns the size (number of codevectors) of the VQ.  | |
Protected Attributes | |
| vec | Levels | 
| The vector containing the code book.  | |
| double | LatestDist | 
| The distortion at the latest time a vector was encoded.  | |
The following code illustrates how the quantizer can be initialized from a file and used to quantize a random vector.
Scalar_Quantizer Quantizer; double x,y; int i; Quantizer.load("random.sq"); x=randn(); i=Quantizer.encode(x); y=Quantizer.decode(i);
 1.5.8