
dmirror(1)                   Khoros                    dmirror(1)

PROGRAM
     dmirror - 1D Create Mirror of Data. Points added to the left
     of the first data point.

SYNTAX
     dmirror

     -i             input data file (xviff file)

     -o             resulting output file (xviff file)

     [-p]           complex data: create conjugate[t] or exact[f]
                    mirror

     [-d]           data processing direction (0 = down vectors,
                    1 = across bands)

     [-V]           Gives the version for dmirror

     [-U]           Gives the usage for dmirror

     [-P]           Prompts for command line options

     [-A [file1]]   Creates the answer file called dmirror.ans or
                    file1

     [-a [file1]]   Uses dmirror.ans or file1 as the answer file

DESCRIPTION
     dmirror Creates Mirror of 1-dimensional Data.  Generates a
     mirror data file, i.e., extends 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.

     If N signals are stored in a single dsp1 file, then the data
     is represented as N D-dimensional vectors.  In the VIF for-
     mat, these vectors are stored as an N-pixel image with D
     bands, where one band exists for each dimension of the D-
     dimensional vector.  In all dsp1 routine, the default direc-
     tion in which data is processed is across bands, but the
     user does have the option to specify that processing be done
     down vectors instead.  An example of the difference between
     processing data across bands and down vectors follows. There
     exists a set of 16 256-point frequency domain signals.  To
     retrieve the original signals, one would want to do the
     inverse fourier transform of each vector, so the processing
     direction of "down vectors" should be specified.  On the
     other hand, one may want to calculate the histogram of the
     signals at each frequency.  In this case, the processing
     direction of "across bands" should be specified.

     -p (arith type)
                    Input to dmirror must be of type
                    VFF_TYP_FLOAT or VFF_TYP_COMPLEX. If the data
                    is complex, the user can specify whether the
                    mirrored data should be an exact copy of the
                    input data, or that it should be the complex
                    conjugate of the input data.

                    The -p option defaults to scalar (scalar=0,
                    complex conj=1).  Selecting scalar arithmetic
                    will create an exact mirror of the input, and
                    complex will create the complex conjugate of
                    the data.

     -d (process direction)
                    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
                    resulting 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.

     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.

REQUIRED ARGUMENTS
     -i     type: infile
            desc: input data file (xviff file)

     -o     type: outfile
            desc: resulting output file (xviff file)

OPTIONAL ARGUMENTS
     -p     type: boolean
            desc: complex data: create conjugate[t] or exact[f]
            mirror
            default: true

     -d     type: boolean
            desc: data processing direction (0 = down vectors, 1
            = across bands)
            default: true

EXAMPLES
     dmirror -i input_file -o output_file

     dmirror -i input_file -o output_file -p 1

SEE ALSO
     intro(1), verror(3), vgparms(3), vutils(3), ldmirror(3)

RESTRICTIONS
     dmirror output type can be VFF_TYP_FLOAT or VFF_TYPE_COMPLEX
     only.

COPYRIGHT
     Copyright 1991, University of New Mexico.  All rights
     reserved.

Khoros                    Release: 1.0                          1

