This document contains the most recent listing of all functions available to CVIPtools developers. The functions are grouped by class and library. There are two classes of libraries within CVIPtools -- Toolkit and Toolbox.
The Toolkit libraries contain low-level functions, such as data handling and memory management. The Toolbox libraries contain the functions that are typically used by CVIPlab programmers, such as transforms or segmentation routines. This organization is a hierarchical grouping of libraries in which each class successively builds upon the previous class by using the lower-level functions to create higher-level functions. For more detailed information on a particular function see the associated UNIX manual page.
LIBBAND - data handling of multi-spectral images
assemble_bands - assembles multiband image from single band images
bandcast - cast image data to greater precision
band_minmax - find the min and max values of each band
extract_band - extracts one band from a multiband image
matalloc - allocate an array of matrices
matfree - free memory allocated by matalloc
vecalloc - allocate an array of vectors
vecfree - free memory allocated by vecalloc
LIBIMAGE - basic image class methods for type conversion, memory management, etc. (Note: see $CVIPHOME/include/CVIPimage.h for the get and set macros, such as getData_Image)
delete_Image - Image class destructor
dump_Image - print image information
duplicate_Image - create a new instance of an existing image
getBand_Image - reference a band of matrix data
getBandVector_Image - unload image bands into a vector
getColorSpace_Image - get color space of image (e.g. RGB, GRAY,etc.)
getDataFormat_Image - get data format (i.e. REAL or COMPLEX)
getDataType_Image - get data type of image (e.g. BYTE, FLOAT,etc.)
getData_Image - returns pointer to data (macro in CVIPimage.h)
getFileFormat_Image - get file format of image (e.g. PPM, PGM,etc.)
getImagPixel_Image - read an imaginary pixel sample from the image
getImagRow_Image - reference an imaginary row of the image
getNoOfBands_Image - get number of data bands of image
getNoOfCols_Image - get width of image
getNoOfRows_Image - get height of image
getPixel_Image - same as "getRealPixel_Image"
getRealPixel_Image - read a real pixel sample from the image
getRealRow_Image - reference a real row of the image
getRow_Image - same as "getRealRow_Image"
makeComplex_Image - make real image complex
makeReal_Image - make complex image real
new_Image - Image class constructor
setBand_Image - add a new reference to a band of matrix data
setImagPixel_Image - write an imaginary pixel sample to the image
setPixel_Image - same as "setRealPixel_Image"
setRealPixel_Image - write a real pixel sample to the image data
history_add - add info to image history structure
history_check - check if an operation has been done on an image
history_copy - copies information from old_story
history_get - get info about an operation done on an image
history_show - setup routine for history print
history_print - performs output of history structure to h_story
LIBIO - general purpose I/O, memory management routines
allocMatrix3D_CVIP - allocate memory for volume matrix
allocMatrix_CVIP - allocate memory for regular matrix
close_CVIP - close a file for reading or writing
error_CVIP - print error message to terminal
freeMatrix3D_CVIP - free memory associated with volume matrix
freeMatrix_CVIP - free memory associated with regular matrix
getFloat_CVIP - get floating point value from the user
getInt_CVIP - get integer value from user
getString_CVIP - get character string
getUInt_CVIP - get unsigned integer value from user
init_CVIP - parse standard info. from command line
msg_CVIP - print regular message to terminal
openRead_CVIP - open a file for reading (handles "stdin")
openWrite_CVIP - open a file for writing (handles "stdout")
perror_CVIP - print system error message to terminal
print_CVIP - same as "msg_CVIP" minus extra argument
quiet_CVIP - turn off messaging
usage_CVIP - print usage message
verbose_CVIP - turn on messaging
LIBMANAGER - object managers/handlers
addhead_DLL - add link to head of list
addnext_DLL - add link following the current link
addtail_DLL - add link to tail of list
delete_DLL - double Linked List class destructor
find_DLL - find a particular object in the list
head_DLL - set current link to head of list
isempty_DLL - is the list empty?
ishead_DLL - is current link pointing to head?
istail_DLL - is current link pointing to tail?
new_DLL - double Linked List class constructor
previous_DLL - point to previous link
print_reverse_DLL - print list in reverse order
promote_DLL - promote current link to head of list
removecurr_DLL - remove current link
removehead_DLL - remove link from head of list
removetail_DLL - remove link from tail of list
replace_DLL - replace object pointed to be current link
retrieve_DLL - retrieve object pointed to by current link
size_DLL - get size of list (number of links)
tail_DLL - set current link to tail of list
addhead_LL - add link to head of list
addnext_LL - add link following the current link
delete_LL - linked list class destructor
find_LL - find a particular object in the list
head_LL - set current link to head of list
isempty_LL - is the list empty?
ishead_LL - is current link pointing to head?
istail_LL - is current link pointing to tail?
new_LL - linked list class constructor
previous_LL - point to previous link
promote_LL - promote current link to head of list
removehead_LL - remove head link
removenext_LL - remove next link
replace_LL - replace object pointed to be current link
retrieve_LL - retrieve object pointed to by current link
tail_LL - set current link to tail of list
addobject_HT - add object using separate chaining technique
delete_HT - hash table class destructor
new_HT - hash table class constructor
setkey_HT - set the hash table key
isempty_Stack - determine whether a stack is empty
new_Stack - create a new instance of an object stack
pop_Stack - pop on object off of the stack
push_Stack - push an object onto the stack
LIBMAP - image data mapping functions
condRemap_Image - if the range is 0-255 no remap is done, if it exceeds this range it is linearly remapped to 0-255
linearTrans_Image - perform linear mapping of an image through a transformation matrix
logMap_Image - map image data logarithmically for better display of FFT-transformed images
remap_Image - map image data into a specified range
trun_Image - remap image data, maintain relative size of each data band
LIBMATRIX - matrix algebra, manipulation and numerical analysis routines (Note: see $CVIPHOME/include/CVIPmatrix.h for the get and set macros, such as getData_Matrix)
and_Matrix - perform a bitwise AND on two matrices
cbrt_Matrix - finds cube root of a matrix (real/complex)
clone_Matrix - returns a new matrix
conj_Matrix - find complex conjugate of matrix
copy_Matrix - copy matrix a to matrix b
covariance_Matrix - find the covariance estimate of N data bands
crop_Matrix - create a new matrix from region of original
delete_Matrix - Matrix class destructor
det_Matrix - find the determinant of a matrix
duplicate_Matrix - create new instance of an existing matrix
eigenSystem_Matrix - find the eigenvectors of a matrix
fastCopy_Matrix - faster copy if data types are the same
getDataFormat_Matrix - get data format (i.e. REAL or COMPLEX)
getData_Matrix - same as "getRealData_Matrix"
getDataType_Matrix - get data type of matrix (e.g. BYTE, FLOAT,etc.)
getImagData_Matrix - reference imaginary data (mapped into rows)
getImagRow_Matrix - get row of imaginary row
getImagVal_Matrix - get an "imaginary" matrix element
getNoOfCols_Matrix - get number of columns in matrix
getNoOfRows_Matrix - get number of rows in matrix
getRealData_Matrix - reference real data (mapped into rows)
getRealRow_Matrix - get row of real data
getRealVal_Matrix - get a "real" matrix element
getRow_Matrix - same as "getRealRow_Matrix"
getVal_Matrix - same as "getRealVal_Matrix"
invert_Matrix - invert a matrix
mag_Matrix - find magnitude of a matrix (real/complex)
makeComplex_Matrix - make real matrix complex
makeReal_Matrix - make complex matrix real
mult_Matrix - perform vector multiplication of two matrices
multPWise_Matrix - perform piece-wise multiplication
new_Matrix - Matrix class constructor
print_Matrix - print contents of matrix in row major form
read_Matrix - read a matrix structure from disk
rect2pol_Matrix - convert from rectangular to polar coordinates
scale_Matrix - scale a matrix by some factor
setImagVal_Matrix - set an "imaginary" matrix element
setRealVal_Matrix - set a "real" matrix element
setVal_Matrix - same as "setRealVal_Matrix"
sqrt_Matrix - find square root of matrix (real/complex)
square_mag_Matrix - find maganitude squared of a matrix (real/complex)
sub_Matrix - subtract two matrices
transpose_Matrix - find the transpose of a matrix
write_Matrix - write a matrix structure to disk
LIBOBJECT - object analysis and identification routines
build_ChainCode - find the chain-code "contour" of an object
delete_ChainCode - delete an instance of a chain code object
delete_Object - object class destructor
drawBB_Objects - draw a bounding box around all objects
draw_ChainCode - draw the contour of an object onto an image using the object's chain code
fill_Object - perform seed fill operation on an object
getProp_Object - find object moment properties
getProp_Objects - find moment properties of multiple objects
getXY_ChainCode - turn a chain code into a list of X-Y coordinates
label_Objects - sequentially label objects
listToVector_Objects - create an object vector from an object list
match_Object - match an object
new_ChainCode - create a new instance of a chain code object
new_Object - object class constructor
print_ChainCode - print the chain code results to a file
printLabel_Objects - print an object list to a file
print_Object - print object statistics to file
printProp_Objects - print a list of object properties to a file
read_ChainCode - read a chain code from a file
readLabel_Objects - read an object list from a file
read_Object - read object statistics from disk
readProp_Objects - read a list of object properties from a file
report_ChainCode - print out the chain code values
trimList_Objects - trim an object list based on properties
LIBROI - region/area of interest designation, manipulation of an image
asgnFullImage_ROI - assign ROI as full image dimension
asgnImage_ROI - assign a ROI to an image
delete_ROI - ROI class destructor
getDataFormat_ROI - get data format of ROI
getDataType_ROI - get data type of ROI
getHorOffset_ROI - get horizontal offset from pixel (0,0)
getHorSize_ROI - get height/horizontal size of region
getImagPixel_ROI - get/read imaginary pixel sample from ROI
getImagRow_ROI - reference imaginary row from the ROI
getNoOfBands_ROI - get number of data bands in ROI
getNoOfCols_ROI - same as "getHorSize_ROI"
getNoOfRows_ROI - same as "getVerSize_ROI"
getPixel_ROI - same as "getRealPixel_ROI"
getRealPixel_RO - get/read real pixel sample from ROI
getRealRow_ROI - reference real row from the ROI
getRow_ROI - same as "getRealRow_ROI"
getVerOffset_ROI - get vertical offset from pixel (0,0)
getVerSize_ROI - get width/vertical size of region
loadRow_ROI - load data from a buffer into ROI
new_ROI - ROI class constructor
setImagPixel_RO - set/write imaginary pixel sample to ROI
setPixel_ROI - same as "setRealPixel_ROI"
setRealPixel_ROI - set/write real pixel sample to ROI
unloadRow_ROI - unload row of data from ROI into buffer
LIBVECTOR - vector algebra and manipulation routines
band2pixel_Vector - convert a band vector to a pixel vector
convolve_Vector - convolve two vectors
copy_Vector - copy vector a to vector b
findHisto_Vector - find the histogram of a vector
findMaxVal_Vector - return maximum value in vector
findMinVal_Vector - return minimum value in vector
normalize_Vector - normalize a vector between 0 and 1
pixel2band_Vector - convert a pixel vector to a band vector
printHisto_Vector - print histogram values out to a file
subSample_Vector - sub-sample a list of vector points
LIBARITHLOGIC - arithmetic and logical operations on images
and_Image - perform a logical AND on two images
divide_Image - divide one image by another
multiply_Image - multiply two images
not_Image - perform a logical NOT on an image
or_Image - perform a logical OR on two images
subtract_Image - subtract one image from another
xor_Image - perform a logical XOR on two images
LIBCOLOR - color map utilities and color transforms
colorxform - performs seven color transforms, and inverse transforms
ipct - peforms the inverse principal components transform
luminance_Image - performs color to luminance transform
lum_average - performs color to monchrome using average of all bands
pct - peforms the principal components transform in RGB-space
pct_color - handles both forward and inverse PCT
pseudocol_freq - pseudocolor transform using FFT spectrum and filters
LIBCOMPRESS - image compression/data reduction routines
bit_compress - decomposes grey level image into eight bit planes. Each bitplane is then run-length encoded and stored in a binary file
bit_decompress - decompresses each binary file (corresponding to a particular bit plane) into corresponding binary images
bit_planeadd - decompresses bitplane files and add any combinations of bitplanes to produce the resultant graylevel image.
btc_compress - compress the image in 4*4 blocks, store it in a binary file
btc_decompress - decompress the image from the encoded binary file
btc2_decompress - decompress multilevel BTC encoded image
btc3_decompress - decompress predictive BTC encoded image
btc2_compress - multilevel block truncation coding (BTC) image compression
btc3_compress - predictive BTC compression
dpc_compress - differential predictive coding compression
dpc_decompress - differential predictive coding decompression
glr_compress - performs graylevel runlength coding for any window length specified by the user (window range 1-125)
glr_decompress - perform graylevel runlength decoding from the encoded binary file
huf_compress - perform huffman coding and store the probability table and encoded data into a binary file
huf_decompress - perform huffman decoding from the encoded binary file
jpg_compress - perform JPEG compression
jpg_decompress - perform JPEG decompression
rms_error - find the root-mean-squared error between two images
snr - find the peak signal-to-noise ratio between two images
zvl_compress - Ziv-Lempel compression
zvl_decompress - Ziv-lempel decompression
zon_compress - zonal coding based compression, DC quantize
zon_decompress - zonal coding based decompression, DC quantize
zon2_compress - zonal coding based compression, no DC quantize
zon2_decompress - zonal coding based decompression, no DC quantize
LIBCONVERTER - image conversion, I/O utilities
bintocvip - convert binary (raw) file format to CVIPtools data structure
ccctocvip - convert CCC file format to CVIPtools data structure
cvipandiris - convert IRIS file format to/from CVIPtools data structure
CVIPhalftone - quantizes gray image to binary, dithering options
cviptobin - convert CVIPtools data structure to binary (raw) file format
cviptoccc - convert CVIPtools data structure to CCC file format
cviptoeps - convert CVIPtools data structure to EPS file format
cviptogif - convert CVIPtools data structure to GIF file format
cviptoitex - convert CVIPtools data structure to ITEX file format
cviptoras - convert CVIPtools data structure to Sun RAS file format
cviptopnm - convert CVIPtools data structure to PNM file format
cviptotiff - convert CVIPtools data structure to TIFF file format
cviptovip - convert CVIPtools data structure to VIP file format
epstocvip - convert EPS file format to CVIPtools data structure
giftocvip - convert GIF file format to CVIPtools data structure
gray_binary - converts natural binary code to gray code and gray to binary
itextocvip - convert ITEX file format to CVIPtools data structure
pnmtocvip - convert PNM file format to CVIPtools data structure
rastocvip - convert Sun RAS file format to CVIPtools data structure
read_Image - read image from disk
tifftocvip - convert TIFF file format to CVIPtools data structure
viptocvip - convert VIP file format to CVIPtools data structure
write_Image - write image to disk
LIBDISPLAY - display and view functions
display_Image - display an image using external software
display_RAMImage - to display an image in X-windows from the CVIPtools image queue directly
getDisplay_Image - get the program (viewer) used to display images
setDisplay_Image - set the program (viewer) used to display images
view_Image - general purpose image view function
LIBFEATURE - feature extraction functions
area - find area of binary object (number of pixels)
aspect - find aspect ratio (based on bounding box) of binary object
centroid - find row and column coordinates of a binary object
euler - find Euler number of a binary object
hist_feature - find histogram features: mean, standard deviation, skew, energy, entropy
irregular - find irregularity (1/thinness ratio) of binary object
label - labels connected objects in an image
orientation - finds orientation of a binary object via axis of least second moment
perimeter - find the perimeter length of a binary object
projection - find row and column projections of size normalized object
rst_invariant - finds 7 rotation/scale/translation-invariant moment based on features of binary object
spectral_feature - finds spectral features based on FFT power in rings and sectors
texture - finds 14 texture features for four orientations
thinness - finds thinness ratio of binary object
LIBGEOMETRY - geometry manipulation routines
bilinear_interp - shrinks or enlarges an image using bilinear interpolation to calculate the gray-level value of new pixels
copy_paste - copies a subimage from one image and pastes it to another image
create_black - create an all-black image
create_cosine - create a cosine wave image of any size and desired frequency
create_checkboard - create a checkerboard image
create_circle - create a circular image
create_line - create a line image
create_rectangle - create a rectangular image
create_sine - create a sine wave image of any size and desired frequency
create_squarewave - create a square wave image of any size and desired frequency
crop - crop a subimage from an image
display_mesh - displays a mesh file as an image, used in warp
enlarge - enlarges image to a user-specified size
mesh_warping - geometrically distort an image
mesh_to_file - saves a mesh structure to a file, used in warp
rotate - rotate the given image by an angle specified by the user (Range 1 ~ 360 degrees)
shrink - shrinks the given image by a factor specified by the user (Range 0.1 ~ 1)
solve_c - solves bilinear equation, used with warp
spatial_quant - quantize an image by one of the following methods: average, median, or decimation
translate - move the entire image horizontally and/or vertically; also used for cut-and-paste of subimage
zoom - zoom the given image by a factor specified by the user (Range 1 ~ 10)
LIBHISTO - image histogram modification/contrast manipulation routines
define_histogram - allows user to specify an equation for histogram modification
get_histogram - generates a histogram array from an image
get_histogram_Image - generates a histogram Image from an image
gray_linear - graylevel linear modification
gray_multiply - remap (if necessary) to byte and multiply, clip at 255
gray_multiply2 - cast image to float, multiplies by constant, outputs float image
histeq - histogram equalization
histogram_show - prints ASCII representation of a histogram
hist_spec - perform histogram manipulation using formula specified in by character string(s) for the equation(s)
histogram_spec - perform histogram manipulation using formula specified by define_histogram
local_histeq - local histogram equalization
hist_stretch - histogram stretch, specify range and percent clip both ends
showMax_histogram - creates an image of a histogram of an image
LIBMORPH - morphological image processing routines
MorphClose_Image - perform grayscale morphological closing
MorphClose - perform grayscale morphological closing
MorphDilate_Image - perform grayscale morphological dilation
MorphDilate - perform grayscale morphological dilation
MorphErode_Image - perform grayscale morphological erosion
MorphErode - perform grayscale morphological erosion
morphIterMod_Image - perform iterative morphological modification of an image
morpho - performs iterative modification of an image
MorphOpen_Image - perform grayscale morphological opening
MorphOpen - perform grayscale morphological opening
LIBNOISE - noise generating routines
gamma_noise - add gamma noise to an image
gaussian_noise - add gaussian noise
neg_exp_noise - add negative-exponential noise
rayleigh_noise - add rayleigh noise
speckle_noise - add speckle (salt-and-pepper) noise
uniform_noise - add uniform noise
LIBSEGMENT - image segmentation routines
fuzzyc_segment - perform Fuzzy c-Means color segmentation
gray_quant_segment - perform gray level quantization
hist_thresh_segment - perform adaptive thresholding segmentation
igs_segment - perform improved gray scale (IGS) quantization
median_cut_segment - perform median cut segmentation
multi_resolution_segment - perforom multiresolution segmentation
pct_median_segment - perform PCT/median cut segmentation
sct_split_segment - perform SCT/Center Split segmentation
split_merge_segment - perform split and merge, and multiresolution segmentation
threshold_segment - perform binary threshold on an image
LIBSPATIALFILTER - spatial filtering routines and noise creation
acuity_night_vision_filter - visual acuity and night vision application (various blur levels)
adaptive_contrast_filter - adaptive contrast filter, adapts to local gray level statistics
alpha_filter - perform an alpha-trimmed mean filter
contra_filter - perform a contra-harmonic mean filter
convolve_filter - convolve an image with a matrix
edge_detect_filter - perform edge detection on an image (Frei-Chen, Kirsch, Laplacian, Prewitt, Pyramid, Roberts, Robinson, or Sobel)
edge_link_filter - links edge points into lines
geometric_filter - performs a geometric mean filter
get_default_filter - gets Matrix for predefined spatial masks, used with convolve_filter
harmonic_filter - performs a harmonic mean filter
hough_filter - performs an hough transform, links specified lines
maximum_filter - performs a maximum filter
mean_filter - perform a mean filter
median_filter - performs a fast histogram-method median filter
midpoint_filter - performs a midpoint filter
minimum_filter - performs a minimum filter on an image
mmse_filter - minimum mean squared error restoration filter
raster_deblur_filter - raster deblurring filter
smooth_filter - smooths the given image (kernel size in the range 2 ~ 10)
Ypmean_filter - performs a Yp mean filter
unsharp_filter - performs unsharp maksing algorithm
LIBTRANSFORM - two-dimensional unitary transforms
fft_transform - perform block-wise Fast Fourie Transform
dct_transform - perform block-wise Discrete Cosine Transform
haar_transform - perform forward or inverse Haar transform
idct_transform - perform inverse Discrete Cosine Transform
ifft_transform - perform inverse Fast Fourier Transform
wavtdaub4_transform - perform wavelet xform based on Daubechies wavelet
wavthaar_transform - perform wavelet transform based on Haar wavelet
walhad_transform - perform Walsh/Hadamard transform (forward or inverse)
LIBXFORMFILTER - transform filtering routines
Butterworth_Band_Pass - apply Butterworth bandpass filter in transform domain
Butterworth_Band_Reject - apply Butterworth bandreject filter in transform domain
Butterworth_High - apply Butterworth highpass filter in transform domain
Butterworth_Low - apply Butterworth lowpass filter in transform domain
geometric_mean - geometric mean restoration filter
High_Freq_Emphasis - perform a high frequency emphasis (HP Butterworth + offset)
h_image - creates an image for the degradation fuinction, h(r,c)
homomorphic - perform homomorphic filtering
Ideal_Band_Pass - apply ideal bandpass filter in transform domain
Ideal_Band_Reject - apply an ideal bandreject filter in transform domain
Ideal_High - apply ideal highpass filter in transform domain
Ideal_Low - apply ideal lowpass filter in transform domain
inverse_xformfilter - perform inverse restoration filter
least_squares - perform least squares restoration filter
nonfft_xformfilter - perform standard filters (lowpass, higppass, etc.) on nonfft- symmetry transforms
notch - perform a notch filter
parametric_wiener - parametric wiener restoration filter, variable gamma
power_spect_eq - power spectrum equalization restoration filter
simple_wiener - simple wiener restoartion filter (K parameter)
wiener - wiener restoration filter