This module creates a training set of vectors extracted from one or several 
images, and generates a codebook (or a set of codebooks)\index{quantization!vector}
for this training set using the LBG algorithm (see~\cite{gersho.gray:vector}, 
\cite{linde.buzo.ea:algorithm}). The input images are read 
in the files {\em TrainImage}, {\em TrainImage2}, ..., {\em TrainImage8}. 
The generated codebook is stored in the {\em CodeBook} file. 
It can be used for example for the vector quantization of images 
with the {\em fvq} module. 

The creation of the training set is made with the help of {\em mk\_trainset} 
module. See its documentation for the definition of the -w, -h, -l, -d and -e 
options. 

The codebook is generated using the {\em flbg\_train} module. See the 
documentation of this module for a brief description of the LBG algorithm 
and the definition of the -s, -W, -M, -a, -b, -f and -g options. 

The -i option has a different effect here compared to {\em flbg\_train}. 
When selected, a random codebook of size {\em InitRandCB} is generated 
and used as initial codebook for the {\em flbg\_train} module. 
These means that all the components of all the vectors in this initial 
codebooks are randomly drawn according to independent gaussian variables. 
All these variables have the same mean and variance, which are the 
empirical mean and variance of the components of the vectors 
in {\em Trainset}. {\em InitRandCB} must be a strictly positive integer. 

The -r option, when selected, has the same effect as if the {\em flbg} 
module was run {\em RepeatRand} times, except that the resulting 
codebooks (or sets of codebooks) are not stored on the disc, 
except for the last one. 
It is useful iff the -i option is selected with {\em InitRandCB} $>$ 2 
(otherwise the same computation is repeated {\em RepeatRand} times!). 
The purpose of this option is to compare the rates and signal to noise ratios 
when different initial codebooks are chosen.
