NAME
Prima::IPA::Point  single pixel transformations and image arithmetic
DESCRIPTION
Singlepixel processing is a simple method of image enhancement. This technique determines a pixel value in the enhanced image dependent only on the value of the corresponding pixel in the input image. The process can be described with the mapping function
s = M(r)
where r
and s
are the pixel values in the input and output images, respectively.
 combine [ images, conversionType = conversionScale, combineType = combineSum, rawOutput = 0]

Combines set of images of same dimension and bit depth into one and returns the resulting image.
Supported types: Byte, Short, Long.
Parameters:
 images ARRAY

Array of image objects.
 conversionType INTEGER

An integer constant, one of the following, that indicates how the resulting image would be adjusted in accord to the minimal and maximal values of the result.
Trunc
constants cut off the output values to the bit maximum, for example, a result vector in 8bit image [5,0,100,300] would be transformed to [0,0,100,255].Scale
constants scale the whole image without the cutoff; the previous example vector would be transformed into [0,4,88,255]. TheAbs
suffix shows whether the range calculation would use the whole domain, including the negative values, or the absolute values only.conversionTruncAbs conversionTrunc conversionScale conversionScaleAbs
Default is
conversionScale
.  combineType INTEGER

An integer constant, indicates the type of action performed between pixels of same [x,y] coordinates.
combineMaxAbs  store the maximal absolute pixel value combineSignedMaxAbs  compute the maximal absolute value, but store its original ( before abs()) value combineSumAbs  store the sum of absolute pixel values combineSum  store the sum of pixel values combineSqrt  store the square root of the sum of the squares of the pixel values
Default is
combineSum
.  rawOutput BOOLEAN

Discards
conversionType
parameter and performs no conversion. If set to true value, the conversion step is omitted.Default is 0.
 threshold IMAGE [ minvalue, maxvalue = 255]

Performs the binary thresholding, governed by
minvalue
andmaxvalue
. The pixels, that are belowminvalue
and abovemaxvalue
, are mapped to value 0; the other values mapped to 255.Supported types: Byte
 gamma IMAGE [ origGamma = 1, destGamma = 1]

Performs gamma correction of IMAGE by a product of
origGamma
anddestGamma
.Supported types: Byte
 remap IMAGE [ lookup ]

Performs image mapping by a passed
lookup
array of 256 integer values. Example:Prima::IPA::Point::remap( $i, lookup => [ (0) x 128, (255) x 127]);
is an equivalent of
Prima::IPA::Point::threshold( $i, minvalue => 128);
Supported types: 8bit
 subtract IMAGE1, IMAGE2, [ conversionType = conversionScale, rawOutput = 0]

Subtracts IMAGE2 from IMAGE1. The images must be of same dimension. For description of
conversionType
andrawOutput
see combine.Supported types: Byte
 mask IMAGE [ test, match, mismatch ]

Test every pixel of IMAGE whether it equals to
test
, and assigns the resulting pixel with eithermatch
ormismatch
value. Alltest
,match
, andmismatch
scalars can be either integers ( in which casemask
operator is similar to threshold ), or image objects. If the image objects passed, they must be of the same dimensions and bit depth as IMAGE.Supported types: Byte, Short, Long.
 average LIST

Combines images of same dimensions and bit depths, passed as an anonymous array in LIST and returns the average image.
Supported types: Byte, Short, Long, 64bit integer.
 equalize IMAGE

Returns a histogramequalized image.
Supported types: Byte
 ab IMAGE, a, b

Returns
IMAGE*a+b
.  exp IMAGE

Retuns
exp(IMAGE)
 log IMAGE

Retuns
log(IMAGE)