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 format, 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 direction 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, output image will be orig_num_rows by (num_points/orig_num_rows) columns.

    Else if num_points is divisible by orig_num_cols, output 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.