get_target_signature - Gets target signature.
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
const int num_features
This routine implements the creation/over-writing semantics used in
the KJB library in the case of signatures. If *target_sig_ptr_ptr
is NULL, then this routine creates the signature. If the target signature
is not NULL and is the correct size, then this routine does nothing
(recycles the memory). If the target signature is the wrong size, then it
is freed abd reallocated.
Distributions are stored in signatures which consist of an array of
features and a corresponding array of feature weights.
A "signature" is defined as follows:
| typedef struct Signature
int num_features; Number of features in the signature
Vector** feature_vec; Pointer to array of features
double* weights_vec; Pointer to array of feature weights
In the emd_lib.c module, a "feature" is simply a KJB Vector. All features
should have the same length.
Each feature in a signature has a corresponding weight indicating its relative
abundance in the distribution. All weights should sum to 1.
Either NO_ERROR, or ERROR, with an appropriate error message being set.
free_signature, copy_signature, set_signature_features,
set_signature_weights, get_signature_from_RGB, get_clustered_data,
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.