PLEASE NOTE : This is the documentation for the avs module executable arith_binary, which contains the following modules: vabsdiff vadd vblend vdiv vmul vsub 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 vabsdiff INPUT 1. img1 -- first xvimage strcuture 2. img2 -- second xvimage structure 3. img3 -- gating mask image 4. mflg -- a flag set (equal 1) if gating image mask available The inputs must be of the same data type and size. OUTPUT 1. img1 -- holds the result of the absolute difference 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. vabsdiff returns a 1 upon success and a 0 on failure. DESCRIPTION vabsdiff computes the absolute difference between two images pixel by pixel with a operation gating mask. img1 and img2 are input images, img3 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. A non-zero mask pixel in img3 enables the output pixel to contain the difference. A zero mask pixel in img3 just transfers the value of the corresponding pixel in img1 to the output pixel. 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. vabsdiff returns a value of one upon success and a zero on failure. SEE ALSO vabsdiff(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vabsdiff will not operate on: Transform Complex Bit data storage types. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ****************************************************************************** Documentation for avs module vadd INPUT img1 first xvimage structure img2 second xvimage structure img3 gating mask image mflg a flag set (equal 1) if gating image mask available Note that all inputs must be of the same data type and size. OUTPUT img1 holds the result of the add operation. The output data type is the same as the input data type. Return Value: 1 on success, 0 on failure. DESCRIPTION vadd will add two images pixel by pixel. img1 and img2 are the input images; img3 is the gating image, and mflg should be set to 1 if the gating image is to be used. A non-zero mask pixel in img3 enables the output pixel to contain the sum. A zero mask pixel in img3 just transfers the value of the corresponding pixel in img1 to the output pixel. The two input images must be of the same size, data type, and have the same number of data bands, as must the optional mask image. SEE ALSO vadd(1), intro(3), vipl(3), verror(3), vutils(3) lvcast(3) RESTRICTIONS vadd will not operate on VFF_TYP_BIT data storage types. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vblend INPUT img1 - pointer to the first input image structure img2 - pointer to the second input image structure img3 - optional pointer to the blend image structure x - optional blend ratio mflg - if 1 specifies the use of a blending image, if 0 specifies the use of a blend ratio either x or mflg must be specified, and if mflg is true, then img3 must be a valid image pointer. img3 must be VFF_TYP_FLOAT and must have the same number of rows and columns as img1 and img2. If both a blend mask image and a blend ratio are speci- fied, then the blend mask image is dominant, and the ratio is ignored. OUTPUT img1 - blended image attached to img1 pointer DESCRIPTION vblend forms a composite image by adding X*(img1 data) to (1-X)*(img2 data). The result is stored back in the img1 data area. If mflg is nonzero, then the image pointed to by img3 is used to determine the blend ratio on a point by point basis. if used, img3 must be of type FLOAT and must have the same number of rows and columns as the -i1 and -i2 images. The -i1 and -i2 images must be of the same data type and size. If mflg is nonzero, the blend ratio in X is ignored. vblend returns 1 upon success and 0 on failure. SEE ALSO vblend(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vblend does not work on VFF_TYP_DOUBLE and multi band images. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vdiv INPUT 1. img1 -- first xvimage strcuture 2. img2 -- second xvimage structure 3. img3 -- gating mask image 4. mflg -- a flag set (equal 1) if gating image mask is available 5. jflg -- 0 means do scalar arithmetic 1 means do vector arithmetic The inputs must be of the same data type and size. OUTPUT 1. img1 -- holds the result of the divide 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. vdiv returns a one on success and a zero upon failure. vdiv does NOT check for division by zero! DESCRIPTION vdiv divides two images pixel by pixel with a operation gating mask. img1 and img2 are input images, img3 is the gating image, and mflg should be set to one if a 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. A non-zero mask pixel in img3 enables the output pixel to contain the quotient. A zero mask pixel in img3 just transfers the value of the corresponding pixel in img1 to the output pixel. 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. If jflg is zero, then scalar arithmetic is used on COMPLEX images, otherwise vector arithmetic is used on COMPLEX images. Scalar arithmetic is always used on real images. vdiv returns a value of one upon success and a zero on failure. SEE ALSO vdiv(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vdiv will not operate on: Bit data storage types. vdiv DOES NOT check for division by zero. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vmul INPUT 1. img1 -- first xvimage strcuture 2. img2 -- second xvimage structure 3. img3 -- gating mask image 4. mflg -- a flag set (equal 1) if gating image mask is available 5. jflg -- 0 means do scalar complex arithmetic 1 means do vector complex arithmetic The inputs must be of the same data type and size. OUTPUT 1. img1 -- holds the result of the multiply 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. vmul returns a one on success and a zero upon failure. DESCRIPTION vmul multiplies two images pixel by pixel with a operation gating mask. img1 and img2 are input images, img3 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. A non-zero mask pixel in img3 enables the output pixel to contain the result. A zero mask pixel in img3 just transfers the value of the corresponding pixel in img1 to the output pixel. 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. If jflg is zero, then scalar arithmetic is used on COMPLEX images, otherwise vector arithmetic is used. Scalar arith- metic is always used on real images. vmul returns a value of one upon success and a zero on failure. SEE ALSO vmul(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vmul will not operate on: Bit data storage types. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vsub INPUT 1. img1 -- first xvimage strcuture 2. img2 -- second xvimage structure 3. img3 -- gating mask image 4. mflg -- a flag set (equal 1) if gating image mask available The inputs must be of the same data type and size. OUTPUT 1. img1 -- holds the result of the subtract (img1 -img2 = img1) 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. vsub returns a zero upon failure and a one upon suc- cess. DESCRIPTION vsub subtracts two images (img1 = img1-img2) pixel by pixel with a operation gating mask. img1 and img2 are input images, img3 is the gating 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. A non-zero mask pixel in img3 enables the output pixel to contain the difference. A zero mask pixel in img3 just transfers the value of the corresponding pixel in img1 to the output pixel. 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. vsub returns a value of one upon success and a zero on failure. SEE ALSO vsub(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vsub will not operate on: Bit data storage types. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************