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.