PLEASE NOTE : This is the documentation for the avs module executable arith_unary, which contains the following module: vabs vclip vconj vexp vfloor vinvert vlog vnormal vnot voffset vscale vsqrt vsubstit Any mention of an xvimage is actually a "field 2D". Also, the INPUTs and OUTPUTs, which are mapped to avs parameters, inputs, and outputs, are for the khoros library routine. ******************************************************************************* Documentation for avs module vabs INPUT 1. img -- xvimage structure OUTPUT 1. img -- xvimage structure img is used for both the input xvimage structure and the output result xvimage structure. This is done to save space, but you must be careful not to overwrite important data. vabs returns a zero upon failure. DESCRIPTION Computes the Absolute Value of an image by multipling the negative pixels by -1. SEE ALSO vabs(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vabs will not operate on BIT and COMPLEX data storage type images. AUTHOR Pascal ADAM COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vclip INPUT image Input image to be clipped upper Upper clipping level lower Lower clipping level OUTPUT image holds the result of the clipping operation. The output data type is the same as the input data type. Return value: 1 on success, 0 on failure. DESCRIPTION vclip is used to limit the range of values that grey levels may occupy. Values above the upper limit are set equal to the upper limit. Values below the lower limit are set equal to the lower value. SEE ALSO vclip(1), intro(3), vipl(3), verror(3), vutils(3) vfloor(1) RESTRICTIONS vclip does not work on BIT images. It works on the magni- tude of COMPLEX images. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vconj INPUT f1 -- xvimage strcuture OUTPUT f1 -- holds the result of the multiply operation. The output data type is the same as the input data type. f1 is used for both the input xvimage structure and the output result xvimage structure. This is done to save space, but you must be careful not to overwrite impor- tant data. DESCRIPTION vconj computes the complex conjugate of the input image. The input file must be COMPLEX or DOUBLE COMPLEX. The output file is obtained by negating the imaginary part of the com- plex pair. To perform auto and cross correlations, apply vfft, vconj, and vmul. The output file is an COMPLEX image. ARGUMENTS -i input image -o output image SEE ALSO vconj(1), intro(3), vipl(3), verror(3), vutils(3) lvconj(3), conj(1), lvmul(3), vmul(1) RESTRICTIONS NOTE: This routine supports only the COMPLEX type! AUTHOR Shirley Lee COPYRIGHT Copyright 1991, University of New Mexico. All rights ******************************************************************************* Documentation for avs module vexp INPUT 1. img1 -- first xvimage structure 2. img2 -- mask xvimage structure 3. tflg -- if set to non zero, compute exp10(x) - 1, if set to zero compute exp10(x) 4. mflg -- if set, then the mask image is available and will be used. The inputs must be of the same data type and size. OUTPUT 1. img1 -- output xvimage structure img1 is used for both the input xvimage structure and the output result xvimage structure. This is done to save space, but you must be careful not to overwrite important data. vexp returns a zero upon failure. DESCRIPTION vexp computes the base 10 antilogarithm of an image pixel by pixel with an operation gating image. The base 10 anti- logarithm is the same as computing 10 raised to the power of the pixel, exp10(x). img1 is the input image, img2 is the gating image, and mflg should be set to one if gating image is to be used. img1 is used for both the input xvimage structure and the output result xvimage structure. This is done to save space, but you must be careful not to overwrite important data. The mask image must be the same size as the input image. The output image data type is the same as the input data type. vexp returns a value of one upon success and a zero on failure. SEE ALSO vexp(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vexp will not operate on: Complex, and Bit data storage types. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vfloor INPUT 1. - image - pointer to image to be clipped (floored) OUTPUT 1. - the input image is modifed (overwritten) and returned. vfloor returns 1 upon success and 0 otherwise. DESCRIPTION vfloor clips the lower levels of the input image to the specified value. Pixels with value lower than value will be set equal to value. The input image data is overwritten with the output data, so be sure to save the input elsewhere if you'll need it again. SEE ALSO vfloor(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vfloor does not operate on BIT images. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vinvert INPUT 1. image -- xvimage structure OUTPUT 1. image -- holds the inverted image image is used for both the input xvimage structure and the output result xvimage structure. This is done to save space, but you must be careful not to overwrite important data. vinvert always returns 1. DESCRIPTION vinvert inverts the gray-levels of a byte type image. This is done by subtracting each pixel in the image from 255. SEE ALSO vinvert(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vinvert will complain if asked to operate non-byte data storage type input images. AUTHOR Marcelo Teran, Ramiro Jordan COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vlog INPUT 1. img1 -- first xvimage strcuture 2. img2 -- gating mask image 3. mflg -- a flag set (equal 1) if gating image mask available 4. tflg -- a flag set to nonzero will perform logarithm of (x+1), else perform logarithm (x) 5. nflg -- a flag set to nonzero will perform logarithm base 10 (log10), else perform natural logarithm (ln). The inputs must be of the same data type and size. OUTPUT 1. img1 -- holds the result of the logorithm operation. The output data type is the same as the input data type. img1 is used for both the input xvimage structure and the output result xvimage structure. This is done to save space, but you must be careful not to overwrite important data. DESCRIPTION Img1 is an input image, img2 is an optional mask image to gate the logarithm operation, mflg is set to one if gating image is available, tflg is set to nonzero to perform loga- rithm of (x+1), else perform logarithm (x), and nflg is set to nonzero to perform logarithm base 10 (log10), else per- form natural logarithm (ln). Img1 is used for both the input xvimage structure and the output result xvimage structure. This is done to save space, but you must be careful not to overwrite important data. A non-zero mask pixel causes the output pixel to contain the logarithm of (x). A zero mask pixel just transfers the value of the corresponding pixel in the input image to the output image. The output image data type is the same as the input data type. vlog returns a value of one upon success and a zero on failure. SEE ALSO vlog(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vlog will not operate on: Complex, and Bit data types. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vnormal INPUT OUTPUT DESCRIPTION Computes that scale factor required to force the most positive pixel value in an image to be equal to the specified normalization target value, and then performs the required scaling. This routine is really just a front-end for lvconvert(3). For example, vnormal -i input.image -o output.image -n 10, scales all of the pixels in input.image so that the most positive pixel is equal to 10. All pixels are multiplied by the same factor to accomplish this. The result in stored in output.image. Arguments: infile input image filename outfile output image filename float specifies normalization factor SEE ALSO intro(1), verror(3), vgparms(3), vutils(3) vconvert(1), lvconvert(3) RESTRICTIONS will not operate on transform input files COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vnot INPUT 1. img -- xvimage structure 2. level -- subtraction constant (float) OUTPUT 1. img -- xvimage structure img is used for both the input xvimage structure and the output result xvimage structure. This is done to save space, but you must be careful not to overwrite important data. vnot returns a zero upon failure. DESCRIPTION Compliments an image by subtracting pixel values from a con- stant level (complement = level - pixel). A level value of 255.0 will invert an unsigned character image. SEE ALSO vnot(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vnot will not operate on COMPLEX or transform data storage type images. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module voffset INPUT 1. img1 -- input xvimage structure 2. img2 -- mask image, xvimage structure 3. mflg -- if set, use img2 as a mask image 4. offset -- the amount to add to each pixel in img1 The inputs must be of the same data type and size. OUTPUT 1. img1 -- output xvimage structure img1 is used for both the input xvimage structure and the output result xvimage structure. This is done to save space, but you must be careful not to overwrite important data. voffset returns a zero upon failure. DESCRIPTION voffset adds a specified offset to each pixel in the input image, with an operation gating image. The offset is a floating point variable. img1 is the input image, img2 is the mask image and mflg should be set if the gating image is to be used. img1 is used for both the input xvimage structure and the output result xvimage structure. This is done to save space, but you must be careful not to overwrite important data. The mask image must be the same size as the input image. A non-zero mask pixel enables the output pixel to contain the sum. A zero mask pixel just transfers the value of the corresponding pixel in the first input image to the output pixel. The output image data type is the same as the input data type. voffset returns a value of one upon success and a zero on failure. SEE ALSO voffset(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS voffset will not operate on: Complex, and Bit data storage types. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vscale INPUT OUTPUT DESCRIPTION Performs a simple scaling of the input image to obtain the output image. An input pixel is just multiplied by a constant and the assigned to the output, with max/min clipping if required. This routine is really just a front-end for libvconvert(3). Arguments: infile input image outfile resulting output image float multiply image by scalar factor SEE ALSO intro(1), verror(3), vgparms(3), vutils(3) vconvert(1), lvconvert(3) RESTRICTIONS Will not operate on transform input files COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vsqrt INPUT 1. img1 -- input xvimage structure 2. img2 -- operation gating xvimage structure 3. mflg -- if set to one, use img2 to gate the sqrt operation The inputs must be of the same data type and size. OUTPUT 1. img1 -- output xvimage structure img1 is used for both the input xvimage structure and the output result xvimage structure. This is done to save space, but you must be careful not to overwrite important data. The square root of a negative number is zero. vsqrt returns a zero upon failure. DESCRIPTION vsqrt computes the square root of an image pixel by pixel, with an operation gating image. The square root of a nega- tive number is set to zero. img1 is the input image, img2 is the mask image and mflg should be set to one if the gating image is to be used. img1 is used for both the input xvimage structure and the output result xvimage structure. This is done to save space, but you must be careful not to overwrite important data. The mask image must be the same size as the input image. A non-zero mask pixel enables the output pixel to contain the square root. A zero mask pixel just transfers the value of the corresponding pixel in the first input image to the output pixel. The output image data type is the same as the input data type. vsqrt returns a value of one upon success and a zero on failure. SEE ALSO vsqrt(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vsqrt will not operate on: Transform, Complex, and Bit data storage types. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vsubstit INPUT img VIFF image structure, must be a byte image. old old pixel value, to be replaced new new pixel value OUTPUT img2 VIFF image structure, image with designated pixel values replaced DESCRIPTION vsubstit computes the EROSION of an binary image by a struc- turing element. Substitute each pixel with value 'old value' with a new pixel of 'new value'. Useful as an inter- mediate step in morphological analysis. This routine simply reassigns pixels of the given value a new value. This is useful as an intermediate step in mor- phological analysis of binary images. SEE ALSO vsubstit(1), intro(3), vipl(3), verror(3), vutils(3) vsub- stit(1), vmcustom(1), lvmcustom(3) RESTRICTIONS vsubstit accepts only BYTE images. AUTHOR Greg Donohoe COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. *******************************************************************************