Man Linux: Main Page and Category List

NAME

       vpBoxFilter,   vpLinearFilter,   vpBicubicFilter,   vpGaussianFilter  -
       initialize a filter weight table

SYNOPSIS

       #include <volpack.h>

       vpResult
       vpBoxFilter(num_taps, num_phases, weights, weights_bytes)
           int num_taps, num_phases;
           float *weights;
           int weights_bytes;

       vpResult
       vpLinearFilter(num_taps, num_phases, weights, weights_bytes)
           int num_taps, num_phases;
           float *weights;
           int weights_bytes;

       vpResult
       vpBicubicFilter(b_value,  c_value,   num_taps,   num_phases,   weights,
               weights_bytes)
           double b_value, c_value;
           int num_taps, num_phases;
           float *weights;
           int weights_bytes;

       vpResult
       vpGaussianFilter(sigma, num_taps, num_phases, weights, weights_bytes)
           double sigma;
           int num_taps, num_phases;
           float *weights;
           int weights_bytes;

ARGUMENTS

       num_taps
              Number of filter taps.

       num_phases
              Number of filter phases.

       weights
              Array containing filter weights.

       weights_bytes
              Size (in bytes) of array containing filter weights.

       b_value
              "B" parameter in the formula for a Mitchell bicubic.

       c_value
              "C" parameter in the formula for a Mitchell bicubic.

       sigma  Standard deviation for a Gaussian.

DESCRIPTION

       These  routines  can be used to initialize filter weight tables for use
       with vpSetFilter and vpResample.  See  the  vpSetFilter  man  page  for
       information on the num_taps and num_phases arguments.

       vpBoxFilter  creates  a  filter  table  for  a box filter (a zero-order
       filter).  With num_taps equal to 1 the  filter  is  a  nearest-neighbor
       filter,  suitable  for  low-quality upsampling.  To create a decimation
       filter that  averages  down,  the  number  of  taps  should  equal  the
       decimation factor (as nearly as possible).

       vpLinearFilter  creates  a  filter  table for a linear filter (a first-
       order or tent filter).  With num_taps equal to 2  the  filter  performs
       linear interpolation.

       vpBicubicFilter  creates  a filter table for a Mitchell bicubic filter.
       The first two arguments can be used to modify the shape of  the  filter
       kernel.  Some standard parameter values are:

       b_value = 1, c_value = 0
              Cubic B-spline.

       b_value = 0, c_value = 0.5
              Catmull-Rom spline.

       With  four  filter  taps  the  cubic  B-spline  filter  is suitable for
       upsampling.  For more details, see the following paper: Mitchell,  D.P.
       and  Netravali,  A.N.,  "Reconstruction  filters in computer graphics,"
       Proc. SIGGRAPH ’88 (Computer Graphics V22 N4), p. 221-8.

       vpGaussianFilter creates a filter table for  a  gaussian  filter.   The
       first argument is the standard deviation of the gaussian.

ERRORS

       The  normal  return  value is VP_OK.  The following error return values
       are possible:

       VPERROR_BAD_SIZE
              The filter weight table size is invalid.

       VPERROR_BAD_VALUE
              The number of phases is not a positive power of two.

SEE ALSO

       VolPack(3), vpResample(3), vpSetFilter(3)