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