arith_binary

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.
******************************************************************************