NAME
libvector - CVIPtools toolkit library for performing vector
algebra and manipulation
SYNOPSIS
#include <CVIPvector.h>
FUNCTIONS
The following functions are included in this manpage:
band2pixel_Vector
convolve_Vector
copy_Vector
findHisto_Vector
findMaxVal_Vector
findMinVal_Vector
normalize_Vector
pixel2band_Vector
printHisto_Vector
subSample_Vector
DESCRIPTION
FEATURE EXTRACTION
******************************************************************
double findMinVal_Vector(void *a, unsigned length, CVIP_TYPE data_type)
******************************************************************
<a> - pointer to vector
<length> - no of elements in vector
<data_type> - valid CVIPtools data type (i.e. one of CVIP_BYTE, CVIP_SHORT,
CVIP_INTEGER, CVIP_FLOAT or CVIP_DOUBLE)
Returns: the minimum value in the span of the vector <a>.
Description: Finds the minimum value in the span of a vec-
tor. The value is returned as a floating point value of type
double. Author(s): Gregory Hance.
******************************************************************
double findMaxVal_Vector(void *a, unsigned length, CVIP_TYPE data_type)
******************************************************************
<a> - pointer to vector
<length> - no of elements in vector
<data_type> - valid CVIPtools data type (i.e. one of
CVIP_BYTE, CVIP_SHORT, CVIP_INTEGER, CVIP_FLOAT or CVIP_DOUBLE)
Returns: the maximum value in the span of the vector <a>.
Description: Finds the maximum value in the span of a vec-
tor. The value is returned as a floating point value of type
double. Author(s): Gregory Hance.
DATA REPRESENTATION
******************************************************************
byte **band2pixel_Vector(byte **bandP, unsigned int no_of_bands,
unsigned int imgsize)
******************************************************************
<bandP> - pointer to array of band vectors
<no_of_bands> - number of spectral bands in image
(number of band vectors)
<imgsize> - size of image (length of each band vector)
Returns: pointer to array pixel vectors. Description: con-
verts a band vector array to a pixel vector array.
Author(s): Gregory Hance.
******************************************************************
byte **pixel2band_Vector(byte **pixP, unsigned int no_of_bands,
unsigned int imgsize)
******************************************************************
<bandP> - pointer to array of pixel vectors
<no_of_bands> - number spectral bands in image (length of each pixel vector)
<imgsize> - size of image (number of pixel vectors)
Returns: pointer to array pixel vectors. Description: con-
verts a pixel vector array to a band vector array.
Author(s): Gregory Hance.
******************************************************************
void copy_Vector(void *avecP, void *bvecP, unsigned int vdim, CVIP_TYPE atype,
CVIP_TYPE btype)
******************************************************************
<avecP> - pointer to vector A
<bvecP> - pointer to vector B
<vdim> - dimension of each vector
<atype> - type of data pointed to by vector A
<btype> - type of data pointed to by vector B
Returns: nada. Description: copies the contents of vector A
into vector B. Handles all 25 different type combinations
of A and B. NOTE: this function simply copies one vector
into another; therefore copying a vector of a more precise
type to that of a less precise type will work properly but
may result in garbage if the range of A is not inclusive of
that of B. Author(s): Gregory Hance.
******************************************************************
void *normalize_Vector(void *srcvecP, float *normP, CVIP_TYPE vecdtype,
unsigned int no_of_vecs, unsigned int vdim)
******************************************************************
<srcvecP> - pointer to array of vectors
<normP> - normalization vector
<vecdtype> - valid CVIPtools data type of vector
<no_of_vecs> - number of vectors
Returns: pointer to a normalized array of vectors. Descrip-
tion: This function will normalize an array of vectors with
respect to the normalization vector <normP>. (i.e.
srcvecP[0]([0],[1],...,[vdim-1])/normP[0],
srcvecP[1]([0],[1],...,[vdim-1])/normP[1]. If the data type
of the vectors is less precise than "float" or equal to
"float" then the result will be type "float". If the arrays
are of type "double" then the result will be an array of
normalized vectors of type "double". Author(s): Gregory
Hance.
******************************************************************
int convolve_Vector(double *xvecP, double *hvecP, int xlen,
int hlen)
******************************************************************
<xvecP> - input sequence vector
<hvecP> - impulse sequence vector
<xlen> - length of input vector
<hlen> - length of impulse vector
Returns: None.
Description: This function performs convolution on two vec-
tors.
Author(s): Gregory Hance.
******************************************************************
int findHisto_Vector(byte *vecP, int vsize, void *hP, int l,
int h, CVIP_TYPE dtype)
******************************************************************
<vecP> - input vector
<vsize> - size of input vector
<hP> - histogram vector
<l> - expected low value in input
<h> - expected high value in input
<dtype> - valid CVIPtools data type of vector
Returns: None.
Description: This function will find the histogram of an
input vector of type CVIP_INTEGER or CVIP_DOUBLE.
Author(s): Gregory Hance.
******************************************************************
int printHisto_Vector(const char *fname, void *hP, CVIP_TYPE
dtype, int l, int h, int skipval)
******************************************************************
<fname> - filename
<hP> - histogram vector
<dtype> - valid CVIPtools data type of vector
<l> - expected low value in input
<h> - expected high value in input
<skipval> - value to set to zero when computing histogram
Returns: None.
Description: This function will write the histogram of an
input vector of type CVIP_INTEGER or CVIP_DOUBLE to a file.
Author(s): Gregory Hance.
******************************************************************
void *subSample_Vector(void *vecP, unsigned dim, CVIP_TYPE
data_type, unsigned skip, unsigned *new_dim)
******************************************************************
<vecP> -pointer to input vector
<dim> - dimension of input vector
<data_type> - valid CVIPtools data type of vector
<skip> - number of elements to skip for sampling
<new_dim> - new vector length
Returns: New sampled vector.
Description: This function will produce a vector by sampling
every <skip> element of an input vector. This function will
accept CVIPtools datatypes of CVIP_BYTE, CVIP_SHORT,
CVIP_INTEGER, CVIP_FLOAT, and CVIP_DOUBLE
Author(s): Gregory Hance.
BUGS
none as of yet
SEE ALSO
CVIPvector.h, CVIPtools library quick reference guide
AUTHOR
Copyright (C) 1992, 1995 SIUE - by Gregory Hance and Scott
Umbaugh.