PLEASE NOTE : This is the documentation for the avs module executable modify_seq1D, which contains the following modules: dcpad dextract dinsert dmirror dnormal dscale dshift dsubsamp dwindow Any mention of xvimage is actually a "field 2D". Also, the INPUTs and 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. *********************************************************************************