geomanip

Outputs

 which are mapped to avs parameters, inputs, and outputs, are for the
khoros library routine.
*********************************************************************************
Documentation for avs module vexpand
	

Input

     image          pointer to image structure to be expanded
     scale          scale factor by which  to  expand  the  image
                    (integer), must be postitive and non-zero
OUTPUT
     image          points to the image structure that  has  been
                    processed.  The  output data type is the same
                    as the input data type.
     Return Value:  1 on success, 0 on failure

Description

     vexpand expands the size of the image pointer to  by  image
     by an integer factor by replicating pixels in blocks.
     The scale factor must be a positive, non-zero integer.
     Note that image is used for both the input xvimage structure
     and the resulting output xvimage structure.  This is done to
     save space, but you must be careful not to overwrite  impor-
     tant data.

See also

     vexpand(1),   intro(3),   vipl(3),   verror(3),    vutils(3)
     vshrink(1), vresize(1)
RESTRICTIONS
     vexpand does not work on BIT or COMPLEX data types.   vex-
     pand does not work on explicit location data.

Author

     Scott Wilson
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************
Documentation for avs module vflip
INPUT
     image          pointer to the xvimage structure to  be  pro-
                    cessed
     r              if nonzero, then do right-for-left flip (int)
     t              if nonzero, then do top-for-bottom flip (int)
OUTPUT
     image          holds the result of the operation.  The  out-
                    put  data  type is the same as the input data

Type

     Return Value:  1 on success, 0 on failure.
DESCRIPTION
     vflip performs reflection or "flip" operations on an image.
     The  flip  can  be  specified to be top-for-bottom or right-
     for-left or both (which does a 180 degree rotation.
     Note that image is used for both the input xvimage structure
     and the resulting output xvimage structure.  This is done to
     save space, but you must be careful not to overwrite  impor-
     tant data.
SEE ALSO
     vflip(1),  intro(3),  vipl(3),  verror(3),  vutils(3)  vro-
     tate(1), vwarp(1)
RESTRICTIONS
     vflip does not work on BIT, COMPLEX,  or  transformed  data
     types.   vflip  will  work with explicit location data, but
     only the image part will be flipped.  The location data will
     not be flipped.
AUTHOR
     Scott Wilson
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************
Documentation for avs module vresize
INPUT
     image          pointer to xvimage structure to be processed
     hmag           magnification factor in  the  horizontal  (X)
                    direction (float)
     vmag           magnification  factor  in  the  vertical  (Y)
                    direction (float)
     xc             X coordinate of center of action (float)
     yc             Y coordinate of center of action (float)
OUTPUT
     image          holds the result  of  the  resize  operation.
                    The output data type is the same as the input
                    data type.
     Return Value:  1 on success, 0 on failure.
DESCRIPTION
     vresize is used to magnify or reduce an image by using bil-
     inear  interpolation.   The resultant image is the same size
     and type as the original, but the pixels in the input  image
     are magnified or reduced in the output image.
     If the input image is reduced (magnification factor  <  1.0)
     then unknown pixels are set to zero.
     If the input image is magnified (magnification factor > 1.0)
     then input pixels that would be mapped outside of the output
     image are lost.
     The magnification factor cannot be zero.
     The magnification or reduction is done about a center  point
     that  can be specified to be anywhere in the X-Y plane (even
     outside the image).  The correct way to think about this  is
     by  analogy to a magnifying glass where you place the magni-
     fying glass over the point of interest and then  choose  the
     lens to get the magnification you want.
     Note that image is used for both the input xvimage structure
     and the resulting output xvimage structure.  This is done to
     save space, but you must be careful not to overwrite  impor-
     tant data.
SEE ALSO
     vresize(1),   intro(3),   vipl(3),   verror(3),    vutils(3)
     vwarp(1), vshrink(1), vexpand(1), vrotate(1)
RESTRICTIONS
     vresize does not work on COMPLEX data types.  vresize does
     not work on explicit location data.
AUTHOR
     Scott Wilson
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************
Documentation for avs module vrotate
INPUT
     image          pointer to xvimage structure to be processed
     ang            angle in degrees to rotate  by,  positive  is
                    clockwise (float)
     xc             X coordinate of center of rotation (float)
     yc             Y coordinate of center of rotation (float)
OUTPUT
     image          holds the result of the operation.  The  out-
                    put  data  type is the same as the input data
                    type.
     Return Value:  1 on success, 0 on failure.
DESCRIPTION
     vrotate rotates an image  by  a  specfied  angle,  about  a
     specified  point.  The  rotation is performed using bilinear
     interpolation. Portions of the output image that do not have
     a corresponding pixel in the input image are set to zero.
     Note that image is used for both the input xvimage structure
     and the resulting output xvimage structure.  This is done to
     save space, but you must be careful not to overwrite  impor-
     tant data.
SEE ALSO
     vrotate(1),   intro(3),   vipl(3),   verror(3),    vutils(3)
     vresize(1), vwarp(1), vshrink(1), vexpand(1)
RESTRICTIONS
     vrotate does not work on BIT or COMPLEX data types.   vro-
     tate does not work on explicit location data.
AUTHOR
     Scott Wilson
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************
Documentation for avs module vshrink
INPUT
     image          pointer to xvimage structure to be processed
     scale          size reduction factor (integer), must be pos-
                    titive, non-zero
OUTPUT
     image          holds the result of the operation.  The  out-
                    put  data  type is the same as the input data
                    type.
     Return Value:  1 on success, 0 on failure.
DESCRIPTION
     vshrink decreases the size of  an  image  by  skipping   to
     every  s'th  pixel where s is the scale argument. The resul-
     tant image will be 1/s the size of the original image.
     The scale factor must be a positive, non-zero number.
     The output data type is the same asn the input data type.
     Note that image is used for both the input xvimage structure
     and the resulting output xvimage structure.  This is done to
     save space, but you must be careful not to overwrite  impor-
     tant data.
SEE ALSO
     vshrink(1), intro(3), vipl(3),  verror(3),  vutils(3)  vex-
     pand(1), vresize(1)
RESTRICTIONS
     vshrink does not work on COMPLEX data types.  vshrink does
     not work on explicit location data.
AUTHOR
     Scott Wilson
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************
Documentation fora avs module vtranslat
INPUT
          img  - an xvimage structure (input image).
          vi   - integer: Translation along i axis
          vj   - integer: Translation along j axis
          wflg - integer: flag set to one if wrapping selected or
          zero if padding with padding value
          pad  - float: padding value used to set the  pixels  of
          the  result image that have not received any value dur-
          ing the translation process.
OUTPUT
     img  - Holds the result of the translation.
DESCRIPTION
     vtranslat Computes the translation of an xvimage  structure
     by a vector (i,j).
     Includes a Wrap option or a padding value.
     The tranlation is processed in the following manner:
     For each pixel (x,y) of the input image, the algorithm  cal-
     culates the transformed coordinates (x+i,y+j) and determines
     if the translated pixel is outside of the output image.
          If the new pixel is inside of  the  image  border,  its
          initial value is stored in its new location.
          If the new location does not fit inside of the image, a
          modulo  (size  of  rows and columns) is taken into con-
          sideration to write either the  padding  value  in  the
          output image (if wrap flag not selected) or the initial
          value of the pixel (x,y) (if wrap selected).
SEE ALSO
     vtranslat(1),  intro(3),   vipl(3),   verror(3),   vutils(3)
     vtranslat(1)
RESTRICTIONS
     vtranslat will not  operate  on  Bit  data  storage  types.
     vtranslat does not work on explicit location data.
AUTHOR
     Pascal ADAM
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************
Documentation for avs module vtranspos
INPUT
          img - a pointer on an xvimage structure.
OUTPUT
          img - holds the result of the transposition.
DESCRIPTION
     ltranspos Computes the transpose of the rows and columns  in
     an image.
     The transpose is computed by scanning the  input  image  and
     applying the function:
          Transpose(x,y) = pixel(y,x)
SEE ALSO
     vtranspos(1), intro(3), vipl(3), verror(3), vutils(3) vtran-
     spos(1)
RESTRICTIONS
     vtranspos will not operate on Bit, DOUBLE, or DCOMPLEX data
     storage  types.   vtranspos  will  not  operate on explicit
     location data.
AUTHOR
     Pascal ADAM
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************