NAME

copy_signature - Copies a signature.

SYNOPSIS

#include "lsm/lsm_emd.h"

Example compile flags (system dependent):
  -DLINUX_X86_64 -DLINUX_X86_64_OPTERON  -DGNU_COMPILER 
   -I/home/kobus/include
   -L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
  -lKJB                               -lfftw3  -lgsl -lgslcblas -ljpeg  -lSVM -lstdc++                    -lpthread -lSLATEC -lg2c    -lacml -lacml_mv -lblas -lg2c      -lncursesw 


int copy_signature
(
	Signature **output_sig_ptr_ptr,
	const Signature *source_sig_ptr
);

DESCRIPTION

This routine performs a deep copy of the signature into the one pointed to by output_sig_ptr_ptr. If the signature pointed to by output_sig_ptr_ptr is NULL, then a signature of the appropriate size is created through a call to get_target_signature. If the output signature exists, but is the wrong size, then the associated storage is freed and reallocated. Otherwise, the storage associated with the output signature is recycled. This routine returns ERROR when the following conditions occur:
 1) The signature pointed to by source_sig_ptr is NULL.
 2) Either the source feature vector or weight vector is NULL.
 3) Allocation of the output signature fails on the call to
     get_target_signature.
 4) Copying the feature vector fails on the call to copy_vector.

RETURNS Either NO_ERROR, or ERROR, with an appropriate error message being set.

RELATED

get_target_signature, free_signature, set_signature_features, set_signature_weights, get_signature_from_RGB, get_clustered_data, convert_spectrum_to_signature

DISCLAIMER

This software is not adequatedly tested. It is recomended that results are checked independantly where appropriate.

AUTHOR

Lindsay Martin

DOCUMENTER

Lindsay Martin

SEE ALSO

get_earthmover_distance , euclidean_distance , get_target_signature , free_signature , set_signature_features , set_signature_weights , get_target_signature_db