DATAMANIP (kdatamanip) library


LIBRARY NAME

kdatamanip - library of function calls for the polymorphic operators

DESCRIPTION

The kdatamanip library (libkdmanip.a) contains general data manipulation operators including pointwise arithmetic, statistics calculations, data conversion, histogram, data organization, and size operators. All kdatamanip functions are written to support the relationships defined by the polymorphic data model. This data model provides for general 5-dimensional data (width, height, depth, time, elements), with any combination of value, map, mask, location, and time data segments. The kdatamanip operators are implemented using the polymorphic data services, which is a part of the Khoros 2.0 kappserv library.

The function calls in kdatamanip should have no side effects on the source objects passed into them, and should only affect those segments and attributes of the destination object that the operation needs to modify. For example, if a destination object is passed in that already has value, mask, and geometry data, and a multiplication operation is performed on the source value data, the destination mask and geometry data will not be modified, and will remain intact.

Each function call frees all memory that has been allocated within the call, and closes all temporary objects that were opened within the call. The function call will not free memory or close objects that were passed into it.

ALL programs that utilize these function calls MUST include the statement:

#include <datamanip.h>

DISCLAIMER \(em WARNING The kdatamanip library is in its first prototype stage, and is in the process of being updated to fully support the polymorphic data model. Therefore, the behavior and API of these functions may change in the future.

LIST OF LIBRARY FUNCTIONS

lkarith1
perform single operand arithmetic on data object
lkarith2
perform pointwise dual operand arithmetic on data object(s)
lkbessel
compute bessel function of data object
lkbitwise
perform dual operand bitwise operations on data object(s)
lkblend
blend two data objects using the specified ratio
lkclip
clip or threshold values in the data object
lkcmplx
perform a unary complex function on data object
lkcompare
perform comparison operation on data object(s)
lkelevation
use plane of value data to construct elevation
lkextract
extract rectangular region from data object
lkfft
perform multidimensional FFT on data object
lkflip
reflect data in object along specified axes
lkgate
based on gate data, destination value will be from source 1 or source 2
lkgconst
set value segment of a data object to a constant
lkgenloc
generate location data
lkgnoise
generate noise in value segment of data object
lkgsin
generate sinusoidal value data
lkhisto
compute histograms for data objects
lkhistops
perform histogram equalization and stretching
lkimpulse
generate impulse value data
lkinverse
perform inverse filtering (restoration) in Fourier frequency domain
lkkmeans
Perform K-means clustering
lklinearop
perform linear operations (convolution/correlation) on a data object
lklocxform
transform location data
lklogexp
perform log or antilog function on data object
lkmsquish
compress map to one column by means of Average, RMS or MAX
lknoise
introduce noise in source object
lknormal
normalize regions using minimum & maximum of each region
lkorient
reorient object to new dimensions
lkpad
perform the padding of a data object
lkprdata
print object data in ASCII format to file
lkreal2cmplx
create a complex object from real source object(s)
lkreplace
replace all occurrences of X with Y in data object
lkresample
resample the value data of an object
lksampline
Sample a data object along an arbitrary line
lkshot
corrupt data uniformly with spikes
lkstats
calculate statistics of data object
lktranspose
transpose data dimensions
lkwiener
perform Wiener filtering (restoration) in Fourier frequency domain
kcombine_to_complex
combines 2 double arrays into a double complex array
kdata_insert
insert a value in memory

ADDITIONAL INFORMATION

LOCATION OF SOURCE FILES

$DATAMANIP/objects/library/kdatamanip/src

LOCATION OF PUBLIC INCLUDE FILE

$DATAMANIP/include/kdatamanip/kdatamanip.h

YOU MUST INCLUDE

#include <datamanip.h>

SEE ALSO

SEE MANUAL

COPYRIGHT

Copyright (C) 1993 - 1997, Khoral Research, Inc. ("KRI") All rights reserved.