Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
vpBoxFilter(3)		   Library Functions Manual		vpBoxFilter(3)

NAME
       vpBoxFilter,  vpLinearFilter,  vpBicubicFilter, vpGaussianFilter	- ini-
       tialize 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  in-
       formation on the	num_taps and num_phases	arguments.

       vpBoxFilter  creates a filter table for a box filter (a zero-order fil-
       ter).  With num_taps equal to 1 the filter is a	nearest-neighbor  fil-
       ter,  suitable for low-quality upsampling.  To create a decimation fil-
       ter 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-or-
       der or tent filter).  With num_taps equal to 2 the filter performs lin-
       ear 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	upsam-
       pling.  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)

VolPack								vpBoxFilter(3)

NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=volpack-FilterTab&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help