convolve - Computes a moving box convolution

SYNOPSIS

convolve  [ parameter=value ... ]  [ inputfile outputfile ]
convolve  [ parameter=value ... ]  [ inputfile ... directory ]

Parameters are:  include_varsbox_dimskernel_colskernel_scalepreserve_type.

DESCRIPTION

The function convolve performs a convolution of a user-supplied weighting array over the input dataset. convolve only works for 1-D and 2-D data.

PARAMETERS

include_vars

The variables to be convolved. If the list is preceded by a hyphen, followed by a space, then the variables in the list are excluded from the assembled file, and all other variables in the input files are included.

Valid responses are any variable names in the input files, properly delimited (space or comma). The default is to include all variables.

box_dims

The dimensions, in lines by samples, of the moving box. If the data is one dimensional, enter only one value. If the data is two dimensional, enter the line by sample coordinates.

Valid responses are any one or two integers. There is no default.

kernel_cols

A space-separated list of the weighting elements of the box matrix. The list starts at the upper left corner of the box, and moves by row then column.

Valid responses are a space separated list of real numbers. There is no default.

kernel_scale

A scaling factor to multiply all the elements. This allows you to input the kernel elements as integers, then normalize the convolution.

Valid responses are any real number. The default is 1.

preserve_type

Whether or not to preserve the variable type of the original variable.

Valid responses are [yes or no]. The default is yes.

output_type

If preserve_type=no, the data type of the output variable. For example, you can create real variable data from a box convolution on integer data.

Valid responses are [byte, short, long, real, double]. There is no default.

output_badval

If preserve_type=no. The value for bad valued data.

Valid ranges of responses depend on the data type. There is no default.

EXAMPLES

This is an example of how convolve computes a moving box convolution.

zeus% printvar dummy2
include_vars   : char(255) ? []
line_per_elem  : char(  3) ? [yes] no
list_dims      : char(  3) ? [yes] no
printout       : char(  3) ? [no]

Printvar  dummy2  Page 1

   x
   1   2   3   4   5
   2   3   4   5   6
   3   4   5   6   7
   4   5   6   7   8
zeus%

zeus% convolve dummy2 dummy3
include_vars   : char(255) ? [] x
box_dims       : int (  2) ? 3 3
kernel_scale   : real      ? [1] .11111111111
preserve_type  : char(  3) ? [yes]

zeus% printvar dummy3
include_vars   : char(255) ? []
line_per_elem  : char(  3) ? [yes] n
list_dims      : char(  3) ? [yes] n
printout       : char(  3) ? [no]

Printvar  dummy3  Page 1

   x
 255 255 255 255 255
 255   3   4   5 255
 255   4   5   6 255
 255 255 255 255 255
zeus%

SEE ALSO

smear, nhood

NOTES

convolve does not preserve scaling.


Last Update: $Date: 1998/05/28 18:20:16 $