PLEASE NOTE: This is the documentation for the avs module executable arith_logical, which contains the following modules: vand vlshift vor vreplace vrshift vxor 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 vand INPUT 1. img1 -- first xvimage structure 2. img2 -- second xvimage structure 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. vand returns 1 upon success and 0 on failure. DESCRIPTION Logically AND two images pixel by pixel. img1 img2 output ------------------ ~0 ~0 img1 ~0 0 0 0 ~0 0 0 0 0 For each corresponding pair of pixels from the input images, the corresponding output pixel is assigned the value of the first input image if both input pixels are not zero. If one of the pixels is zero, the output pixel will be zero. The inputs must be of the same data type and size. 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 output image data type is the same as the input data type. vand returns a value of one upon success and a zero on failure. SEE ALSO vand(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vand will not operate Bit data storage types. AUTHOR Scott Wilson, Mark Young COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vlshift INPUT img1 -- input image xvimage structure img2 -- mask image for gating operation mflg -- indicates that the mask image should be used s -- number of bit positions to shift pixel data left The input images 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. vlshift returns 1 upon success and 0 on failure. DESCRIPTION vlshift shifts the pixel data in an image left s bit posi- tions. Zero's are shifted into the least significant bit position. img1 is the input image and 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 and data type as the input image. A non-zero mask pixel enables the output pixel to contain the shifted value. A zero mask pixel simply transfers the value of the corresponding pixel in the first input image to the output pixel without shifting it. vlshift returns a value of one upon success and a zero on failure. SEE ALSO vlshift(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vlshift will not operate on: Transforms, Float, Complex, and Bit data storage types. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vor INPUT 1. img1 -- first xvimage structure 2. img2 -- second xvimage structure 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. vor returns a zero upon failure. DESCRIPTION vor performs a logical OR between two images. img1 img2 output ------------------ ~0 ~0 img1 ~0 0 img1 0 ~0 img2 0 0 img1 (0) The result is set to img1, except when image one is zero and image two is nonzero. The inputs must be of the same data type and size. The output image 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. vor returns a value of one upon success and a zero on failure. SEE ALSO vor(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vor will not operate on Bit data storage type images. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vreplace INPUT 1. img1 -- first xvimage structure 2. img2 -- second xvimage structure 3. img3 -- mask xvimage structure 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. vreplace returns a zero upon failure. DESCRIPTION vreplace replaces pixels of the first input image with pix- els of the second input image according to a mask. img3 output(img1) ------------- ~0 img2 0 img1 An output pixel receives the value of the first input image if the corresponding mask image pixel is zero. The output pixel gets the value of the corresponding pixel in the second image if the mask image pixel value is non-zero. The inputs must be of the same data type and size. 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 output image data type is the same as the input data type. vreplace returns a value of one upon success and a zero on failure. SEE ALSO vreplace(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vreplace will not operate on or Bit data storage type images. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vrshift INPUT img1 -- input image xvimage structure img2 -- mask image for gating operation mflg -- indicates that the mask image should be used s -- number of bit positions to shift pixel data right The input images 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. librshift returns 1 upon success and 0 upon failure. DESCRIPTION vrshift shifts the pixel data in an image right s bit posi- tions. The shift could be an arithmetic shift (1's into the most significant bit) or a logical shift (0's into the most significant bit) depending on the type machine it is exe- cuted on. img1 is the input image and 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 and data type as the input image. The output image data type is the same as the input data type. A non-zero mask pixel enables the output pixel to contain the shifted value. A zero mask pixel simply transfers the value of the corresponding pixel in the input image to the output pixel without shifting it. vlshift returns a value of one upon success and a zero on failure. SEE ALSO vrshift(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vrshift will not operate on: Transforms, Float, Complex, and Bit data storage types. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. ******************************************************************************* Documentation for avs module vxor INPUT 1. img1 -- first xvimage structure 2. img2 -- second xvimage structure 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. vxor returns one upon success and zero on failure. DESCRIPTION Exclusive OR two images pixel by pixel. img1 img2 output ------------------ ~0 ~0 0 ~0 0 img1 0 ~0 img2 0 0 img1=0 If the input image pixels are either both zero or both nonzero, then the corresponding output pixel is set to zero. Otherwise, the output pixel is assinged the value of nonzero input pixel. The inputs must be of the same data type and size. 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 output image data type is the same as the input data type. vxor returns a value of one upon success and a zero on failure. SEE ALSO vxor(1), intro(3), vipl(3), verror(3), vutils(3) RESTRICTIONS vxor will not operate on Bit data storage type images. AUTHOR Scott Wilson COPYRIGHT Copyright 1991, University of New Mexico. All rights reserved. *******************************************************************************