modify_seq1D

Outputs

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

Input

     image          pointer to image to be padded.
     length         desired length of the data set.
     offset         desired offset of existing data  into  padded
                    data.
     rc             real part of padding constant.
     ic             imaginary part of padding constant
     procdir        direction of processing: 0  indicates  vector
                    processing,  1  indicates  band oriented pro-
                    cessing.
OUTPUT
     image          pointer to image after padding.
     Return value:  0 on normal return, 1 if an error occured.

Description

     performs a constant value padding of a 1D data sequence. The
     length  of  the new signal ensemble must be greater or equal
     to the length of the original signals plus the offset.   The
     constant  value  can be any real or complex number.  Complex
     data is assumed to be in rectangular form.  If the data type
     is real, then the imaginary constant value is ignored.
     Data can be processed with either band  or  vector  orienta-
     tion.   The default data processing direction is in the vec-
     tor direction.  This means that  data  stored  in  multiband
     format  will  be processed as a set of data sequences, where
     each sequence corresponds  to  a  pixel  location,  and  the
     points of each sequence are defined by the bands correspond-
     ing to that pixel location.  The direction of processing can
     be  changed  so  that  each  band  is  processed as a signal
     (instead of each vector being a signal) by  setting  the  -d
     option to 1.

See also

     dcpad(1), intro(3), vipl(3), verror(3), vutils(3)
RESTRICTIONS
     dcpad supports signal ensembles of  type  float  or  complex
     only.

Author

     Jeremy Worley, Donna Koechner, Ramiro Jordan
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************
Documentation for avs module dextract
INPUT
     image          (struct  xvimage)  Input/output  image   file
                    structure.
     start          (int)  Specifies the offset into the data set
                    where  the first point of the output sequence
                    is.
     end_flg        (int) Flag set to one if extracting to end of
                    file.
     length         (int) If end_flg =  0,  specifies  length  of
                    output sequence.
     process_dir    (int)  Direction  of  processing  0=vect,  1=
                    band.
OUTPUT
     image          (struct  xvimage)  Input/output  image   file
                    structure.
DESCRIPTION
     dextract extracts 1-dimensional subsignals from  the  input
     data file.
     Ldextract will extract N subsignal  vectors  from  an  input
     file  of  N  signal  vectors.  All vectors will be extracted
     starting from the same initial  position  (start),  and  all
     will  be  of the same length depending on end_flg and length
     pararmeters.   Ldextract  works  only  on  VFF_TYP_FLOAT  or
     VFF_TYP_COMPLEX data files.
     start          The start parameter specifies the offset into
                    the  data  set  where  the first point of the
                    output sequence is.  The default value  is  0
                    (the first point of the input series).
     end_flg & length
                    Two mutually exclusive options are  available
                    for  specifying  the  length  of  the  output
                    sequence.  The length  is  specified  by  the
                    values of end_flg and length.
                    If end_flg is TRUE, dextract calculates  the
                    number  of  points  to the right of the first
                    point specified (start), and the output  file
                    is assigned this calculated length.
                    If end_flg is FALSE, the length of the output
                    sequence  is  specified by the length parame-
                    ter.   If  the  specified  length  value   is
                    greater  than  the  input  file  length minus
                    start, dextract returns an error and exits.
     process_dir    Data can be processed  with  either  band  or
                    vector  orientation  (process_dir parameter).
                    Vector processing means that data  stored  in
                    multiband  format  will be processed as a set
                    of  data  sequences,  where   each   sequence
                    corresponds  to  a  pixel  location,  and the
                    points of each sequence are  defined  by  the
                    bands  corresponding  to that pixel location.
                    The direction of processing  can  be  set  so
                    that  each  band  is  processed  as  a signal
                    (instead of each vector being  a  signal)  by
                    setting process_dir to 1.
SEE ALSO
     dextract(1), intro(3), vipl(3), verror(3), vutils(3)
RESTRICTIONS
     Ldextract works only on VFF_TYP_COMPLEX and VFF_TYP_FLOAT.
AUTHOR
     Donna Koechner
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************
Documentation for avs module dinsert 
INPUT
     *img1          (struct   xvimage)   -   pointer    to    the
                    input/output xvimage structure
     *img2          (struct xvimage) - pointer to the input xvim-
                    age structure to be inserted
     *s_img         (struct xvimage) - pointer  to  the  starting
                    insert value input image (int)
     s_img_flg      (int) - flag set  to  1  if  starting  insert
                    value image was specified.
     start          (int) - constant starting insert value
     append_flg     (int) - flag set to 1 if img2 vectors are  to
                    be appended to end of img1 vectors.
     process_dir    (int) - data processing direction. 0  =  vec-
                    tor, 1 = band.
OUTPUT
     *img1          (struct   xvimage)   -   pointer    to    the
                    input/output xvimage structure
DESCRIPTION
     dinsert inserts 1-dimensional vector(s) from the input data
     file   (img2)   into   the  vector(s)  in  file  img1.   The
     position(s) where the vector(s) are inserted are  determined
     by the start, s_img, or append_flg parameters.
     img1 & img2    Input and output files - (struct xvimage)
                    The two input files must be of the same  data

Type

and have the same number of vectors. The
                    input files must be of dimension  =  0,  have
                    implicit  location  types,  and  be  of  data
                    storage      type      VFF_TYP_FLOAT       or
                    VFF_TYP_COMPLEX.   The  map  types  of  the 2
                    input files are not  checked,  and,  if  dif-
                    ferent,  the output file assumes the map type
                    of file i1.  The output file will contain the
                    same  number  of  vectors as are in the input

Files

and the data storage type will be  the
                    same  as that of the input files.  The vector
                    dimension of the output file will be the  sum
                    of the dimensions of the two input files.
     Specification of Insertion Points:
     start  (int),  s_img  (struct  xvimage),  s_img_flg   (int),
     append_flg (int)
     Three mutually exclusive options are available for  specify-
     ing  the  position  where the vectors in file img2 are to be
     inserted into the img1 vectors: start (int),  s_img  (file),
     and append_flg (logical).
     start          The starting point (start)  parameter  speci-
                    fies  a  constant  offset  into the img1 data
                    set(s) where the first point of the img2 data
                    set(s)  is  to be inserted. The default value
                    is 0 (the first point of the img1 data).  The
                    start value is overridden if either s_img_flg
                    or append_flg is TRUE.
     s_img & s_img_flg
                    The s_img parameter specifies  a  file  which
                    contains  the  starting  point of each vector
                    independently.  This file must be of type int
                    and  have  the same number of points as there
                    are vectors in the input  files.   The  s_img
                    file  will  be used ONLY if s_img_flg = TRUE.
                    Use of s_img is overridden if  append_flg  is
                    TRUE.
     append_flg     The third method of specifying the  insertion
                    point  is  the  append_flg  parameter.   This
                    option is checked first, and therefore  over-
                    rides  the  start  and  s_img  options.  When
                    append_flg  =  TRUE,  dinsert  appends   the
                    signal(s)  contained  in file img2 to the end
                    of the signal(s) in img1.  The  insert  file,
                    s_img, must be of type VFF_TYP_4_BYTE.
     process_dir    Data can be processed  with  either  band  or
                    vector   orientation.    If   process_dir   =
                    DSP_VECTOR = 0, the data stored in  multiband
                    format  will  be  processed  as a set of data
                    sequences, where each sequence corresponds to
                    a  pixel  location,  and  the  points of each
                    sequence are defined by the bands correspond-
                    ing to that pixel location.  The direction of
                    processing can be changed so that  each  band
                    is  processed  as  a  signal (instead of each
                    vector being a signal) by setting process_dir
                    = DSP_BAND = 1.
SEE ALSO
     dinsert(1), intro(3), vipl(3), verror(3), vutils(3)
RESTRICTIONS
     dinsert works only on implicit data of type VFF_TYP_COMPLEX
     and VFF_TYP_FLOAT.
AUTHOR
     Donna Koechner
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************
Documentation for avs module dmirror
INPUT
     image          (struct xvimage) - the  input/output  xvimage
                    structure
     arith_type     (int) - flag indicating  whether  to  perform
                    complex conjugate or scalar mirror on complex
                    data
     process_dir    (int)  -  direction   of   data   processing:
                    DSP_VECTOR or DSP_BAND.
OUTPUT
     image          (struct xvimage) - the  input/output  xvimage
                    structure.   Since image is used for both the
                    input and  the  output,  be  careful  not  to
                    overwrite important data.
DESCRIPTION
     dmirror generates a mirror data file by extending the  data
     points to the left of the first data point.  The first point
     of the input file (center point of output file) is the  only
     point that is not duplicated.
     The number of points in the output file will  be  two  times
     the  number  of  points in the input file minus 1.  dmirror
     can operate  on  VFF_TYP_FLOAT  (real)  and  VFF_TYP_COMPLEX
     data.   If  the data is complex, vector arithmetic or scalar
     arithmetic can be chosen.  If vector  arithmetic  is  chosen
     (arith_type  =  1), the mirrored complex data is the complex
     conjugate  of  the  original  data.   If  scalar  is  chosen
     (arith_type  = 0), the mirrored data is a direct copy of the
     original data.
     If process_dir = DSP_VECTOR, the mirror is done in the  vec-
     tor  direction  (ie,  number of bands in output file will be
     greater than the number of bands in the input  image).  When
     the  process  direction is down vectors, data is mirrored in
     the following way:  if one pixel  of  a  3  band  image  has
     values  1, 2, and 3, the values of that pixel in the result-
     ing 5 band image will be 3, 2, 1, 2, 3.  Exception:  If  the
     input  file is single band, the resulting mirrored data will
     be single band with (rows*col)-1 points.
     If process_dir = DSP_BAND, the mirror is done for each band,
     therefore,  the  resulting  output  file  will have the same
     number bands as the input image, but the row and col size of
     the  output  file  will vary.  When the process direction is
     across bands, the size of the resulting  output  image  will
     NOT  be  orig_num_rows * orig_num_cols.  Therefore, the data
     must be rearranged.  Rearrangement is done according to  the
     following tests:
          If orig_num_rows = 1, output image will  be  1  row  by
          num_points columns.
          Else if orig_num_cols =  1,  output  image  will  be  1
          column by num_points rows.
          Else if num_points is divisible by orig_num_rows,  out-
          put      image     will     be     orig_num_rows     by
          (num_points/orig_num_rows) columns.
          Else if num_points is divisible by orig_num_cols,  out-
          put      image     will     be     orig_num_cols     by
          (num_points/orig_num_cols) rows.
          Else, num_rows = 1, num_cols = num_pts.
     dmirror returns a zero upon failure and a one upon success.
SEE ALSO
     dmirror(1), intro(3), vipl(3), verror(3), vutils(3)
RESTRICTIONS
     dmirror   output   type    can    be    VFF_TYP_FLOAT    or
     VFF_TYPE_COMPLEX only.
AUTHOR
     Donna Koechner, Ramiro Jordan
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************
Documentation for avs module dnormal
INPUT
     image          pointer to VIFF  structure  containing  image
                    data to be processed.
     minimum        minimum value of normalizeed data.
     maximum        maximum value of normalizeed data.
     norm_type      type of normalization  to  be  performed.   0
                    indicates  standard normalization by dividing
                    the magnitude of each data point by the  mag-
                    nitude  of  the  largest  value.  1 indicates
                    adjusting the magnitude by scaling and shift-
                    ing  it  so  that  it  fits  into a specified
                    range.
     procdir        process  direction:    0   indicated   vector
                    oriented   processing,   1   indicates   band
                    oriented processing.
OUTPUT
     image          pointer to VIFF  structure  containing  image
                    data after processing.
     Return Value:  1 on success, 0 on failure.
DESCRIPTION
     Normalizes the magnitude  of  the  input  data.  This  often
     minimizes  roundoff  errors in future processing.  When con-
     ventional normalization is selected (i.e. -t 0, which is the
     default),  dnormal  scales the magnitude of the data by the
     magnitude of the largest value in  the  data  set.   In  the
     alternate  mode  of  operation (-t 1), dnormal computes the
     scale factor to force the most positive value  in  the  data
     record to be equal to the user selected value, and shifts it
     according to minimum value specified.  The result is a  sig-
     nal that ranges from the minimum value specified to the max-
     imum.   The  resulting  image  has  only  its   "appearance"
     preserved.
     In the second mode of  operation  described  above,  if  the
     minimum  value  specified  is less than zero and dnormal is
     operating on a complex sequence,  then  it  will  reset  the
     minimum  value  to  0.  Furthermore, if the maximum value is
     negative, and it is operating on  a  complex  sequence,  the
     maximum will be reset to its absolute value.
     In the default mode of operation, phase  is  not  disturbed.
     This  is  not  guaranteed  if  the  scale  and shift mode is
     enabled.
SEE ALSO
     dnormal(1), intro(3), vipl(3), verror(3), vutils(3)  ldscale
     (3), dspl (3)
RESTRICTIONS
     Operates on real and complex data only.
AUTHOR
     Jeremy Worley, Ramiro Jordan
COPYRIGHT
     Copyright  1992,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************
Documentation for avs module dscale
INPUT
     image          pointer to VIFF  structure  containing  image
                    data to be processed.
     scale          scale factor by which to  multiply  all  ele-
                    ments in the data set.
     procdir        process  direction:    0   indicated   vector
                    oriented   processing,   1   indicates   band
                    oriented processing.
OUTPUT
     image          pointer to VIFF  structure  containing  image
                    data after processing.
     Return Value:  1 on success, 0 on failure.
DESCRIPTION
     1D Rescale Data.  Rescales data for processing, thus, minim-
     izes  roundoff errors in further processing routines, dscale
     multiplies the scale factor with the data points.
SEE ALSO
     dscale(1), intro(3), vipl(3), verror(3), vutils(3)
RESTRICTIONS
     Operates on real and complex data only.
AUTHOR
     Ramiro Jordan, Jeremy Worley
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************
Documentation for avs module dshift
INPUT
     *image         (struct   xvimage)   -   pointer    to    the
                    input/output xvimage structure
     *s_img         (struct xvimage) - pointer to the shift value
                    input image
     s_img_flg      (int) - flag set to 1 if  shift  value  image
                    was specified.
     s_const        (int) - constant shift value
     wrap           (int) - flag set to 1 if wrap (rotate)
     r_pad          (float) - real padding value if wrap != TRUE
     i_pad          (float) - imaginary pad value if wrap != TRUE
     process_dir    (int) - data processing direction.  0 =  vec-
                    tor, 1 = band.
OUTPUT
     *image         (struct   xvimage)   -   pointer    to    the
                    input/output xvimage structure
DESCRIPTION
     dshift shifts or rotates the 1-dimensional signals  in  the
     input  data  file (image) by the specified value(s).  If the
     wrap flag passed in is TRUE, the signal(s) will be  rotated.
     If wrap is FALSE, the signal(s) will be truncated and padded
     on each end, depending on the direction of shifting.  Shift-
     ing  values  can  be  positive  or negative.  Positive shift
     values will cause rotation or shifting to occur from left to
     right.   Negative shift values will cause rotation or shift-
     ing to occur from right to left.
     Ldshift will shift the 1-dimensional signals  in  the  input
     data  file  by the value specified by the s_const parameter,
     or by the shifting values given in  the  shift  value  input
     file  (s_img).  The shift value file, s_img, is used only if
     the s_img_flg is TRUE.  If a shift value file is  specified,
     it must contains the same number of points as there are vec-
     tors in the input file. There is a one to one correspondence
     between  shift  values  and vectors, and each vector will be
     offset by it's correspoinding shift value.
     Ldshift works only on VFF_TYP_FLOAT or VFF_TYP_COMPLEX  data
     files, and on VFF_TYP_4_BYTE shift value files.
     Input/Output File
                    The input file must be of type  VFF_TYP_FLOAT
                    or  VFF_TYP_COMPLEX. The output file returned
                    will be the same size and type as  the  input
                    file.
     Specification of Shifting Value(s)
                    s_img (struct xvimage), s_img_flg (int),  and
                    s_const (int)
                    Ldshift will shift the 1-dimensional  signals
                    in the input data file by the value specified
                    by the s_const parameter, or by the  shifting
                    values  given  in  the shift value input file
                    (s_img).  The shift  value  file,  s_img,  is
                    used ony if the s_img_flg is TRUE.
                    Shifting values can be positive or  negative.
                    Positive  shift values will cause rotation or
                    shifting to occur from left to right.   Nega-
                    tive  shift  values  will  cause  rotation or
                    shifting to occur from right to left.
                    If the  constant  shift  value  (s_const)  is
                    used,  all  vectors  in  the  data  file  are
                    shifted or rotated by the same value.
                    If a shift value file (s_img)  is  specified,
                    each vector in the input file will be shifted
                    independently by the values  defined  in  the
                    s_img  file.   The shift value file must con-
                    tains the same number of points as there  are
                    vectors  in the input file. There is a one to
                    one correspondence between shift  values  and
                    vectors,  and  each  vector will be offset by
                    it's correspoinding shift  value.  The  shift
                    value file must be of type VFF_TYP_4_BYTE.
     wrap flag      If the wrap flag is TRUE, the signal(s)  will
                    be  wrapped,  or  rotated.  If wrap is FALSE,
                    the signal(s) will be truncated and padded on
                    each  end,  depending  on  the  direction  of
                    shifting.
     Real & Imaginary Padding Values
                    The real (r_pad) and imaginary  (i_pad)  pad-
                    ding  value  parameters  specify  a  constant
                    float value for padding  the  positions  from
                    which the signal has been shifted away.
                    Note: If the wrap  flag  is  TRUE,   rotation
                    occurs, so the r_pad and i_pad parameters are
                    ignored.
     process_dir    Data can be processed  with  either  band  or
                    vector    orientation.   If   process_dir   =
                    DSP_VECTOR = 0, the data stored in  multiband
                    format  will  be  processed  as a set of data
                    sequences, where each sequence corresponds to
                    a  pixel  location,  and  the  points of each
                    sequence are defined by the bands correspond-
                    ing to that pixel location.  The direction of
                    processing can be changed so that  each  band
                    is  processed  as  a  signal (instead of each
                    vector being a signal) by setting process_dir
                    = DSP_BAND = 1.
SEE ALSO
     dshift(1), intro(3), vipl(3), verror(3), vutils(3)
RESTRICTIONS
     dshift works only on VFF_TYP_COMPLEX and VFF_TYP_FLOAT.
     The shift value file must be of type VFF_TYP_4_BYTE.
AUTHOR
     Donna Koechner
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************
Documentation for avs module dsubsamp
INPUT
     *image         (struct   xvimage)   -   pointer    to    the
                    input/output xvimage structure
     skip           (int) - subsampling skip value
     start          (int) - first sample point
     process_dir    (int) - data processing direction.  0 =  vec-
                    tor, 1 = band.
OUTPUT
     *image         (struct   xvimage)   -   pointer    to    the
                    input/output xvimage structure
DESCRIPTION
     dsubsamp subsamples 1-dimensional vector(s) from the  input
     data  file  (image).  The position where the first sample is
     taken can be specified by the start parameter.  Start = 0  =
     will  start subsampling with the first point in each vector.
     The number of points skipped between each sample  is  speci-
     fied by the skip parameter.  A skip value of 0 will cause no
     skipping to occur.
     image          The input/output file (image) must be of data
                    storage       type      VFF_TYP_FLOAT      or
                    VFF_TYP_COMPLEX, be of  dimension  =  0,  and
                    have  implicit  location  types.   The output
                    file (image) will contain the same number  of
                    vectors  and be of the same data storage type
                    as is in the input file. The vector dimension
                    of  the output file will be the determined by
                    the skip value.
     skip           The  skip  parameter  is  an  integer   which
                    describes  how  many points should be skipped
                    between samples.  For example, a  skip  value
                    of  2  would  result  in the following points
                    being sampled from the input sequence: 0,  3,
                    6, 9 ... .
     start          The first subsample point (start) specifies a
                    constant offset into the input data vector(s)
                    where the first sample point is taken.
     process_dir    Data can be processed  with  either  band  or
                    vector   orientation.    If   process_dir   =
                    DSP_VECTOR = 0, the data stored in  multiband
                    format  will  be  processed  as a set of data
                    sequences, where each sequence corresponds to
                    a  pixel  location,  and  the  points of each
                    sequence are defined by the bands correspond-
                    ing to that pixel location.  The direction of
                    processing can be changed so that  each  band
                    is  processed  as  a  signal (instead of each
                    vector being a signal) by setting process_dir
                    = DSP_BAND = 1.
SEE ALSO
     dsubsamp(1), intro(3), vipl(3), verror(3), vutils(3)
RESTRICTIONS
     Dsubsamp works only on VFF_TYP_COMPLEX and VFF_TYP_FLOAT.
AUTHOR
     Donna Koechner
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************
Documentation for avs module dwindow
INPUT
     image          pointer to VIFF  structure  containing  image
                    data to be processed.
     window_option  specifies the window function to  be  applied
                    to the input data.
     theta          theta parameter to be supplied to the  kaiser
                    function.
     damp           damping factor for exponential functions.
     width          desired window width for user defined window.
     procdir        process  direction:    0   indicated   vector
                    oriented   processing,   1   indicates   band
                    oriented processing.
OUTPUT
     image          pointer to VIFF  structure  containing  image
                    data after processing.
     Return Value:  1 on success, 0 on failure.
DESCRIPTION
     1D Window (Apodization)  Functions.  It  multiplies  a  user
     selected 1D data sequence (real or complex) by the appropri-
     ate window function.  The  length  of  the  data  record  is
     expected  to  be  an  even  number.   NOTE:  complex data is
     expected to be in rectangular (not polar) form.
     Data can be processed with either band  or  vector  orienta-
     tion.   The default data processing direction is in the vec-
     tor direction.  This means that  data  stored  in  multiband
     format  will  be processed as a set of data sequences, where
     each sequence corresponds  to  a  pixel  location,  and  the
     points of each sequence are defined by the bands correspond-
     ing to that pixel location.  The direction of processing can
     be  changed  so  that  each  band  is  processed as a signal
     (instead of each vector being a signal) by  setting  the  -d
     option to 1.
SEE ALSO
     dwindow(1), intro(3), vipl(3), verror(3), vutils(3) dgwindow
RESTRICTIONS
     dwindow processes signals of type float or complex only.
AUTHOR
     Ramiro Jordan, Glen Abousleman
COPYRIGHT
     Copyright  1991,  University  of  New  Mexico.   All  rights
     reserved.
*********************************************************************************