vpBoxFilter(3) | Library Functions Manual | vpBoxFilter(3) |
vpBoxFilter, vpLinearFilter, vpBicubicFilter, vpGaussianFilter - initialize a filter weight table
#include <volpack.h>
vpResult
vpBoxFilter(num_taps, num_phases, weights, weights_bytes)
vpResult
vpLinearFilter(num_taps, num_phases, weights, weights_bytes)
vpResult
vpBicubicFilter(b_value, c_value, num_taps, num_phases, weights, weights_bytes)
vpResult
vpGaussianFilter(sigma, num_taps, num_phases, weights, weights_bytes)
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:
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.
The normal return value is VP_OK. The following error return values are possible:
VolPack |