# Mitchell–Netravali filters

(Redirected from Mitchell-Netravali filters)

The Mitchell–Netravali filters or BC-splines are a group of reconstruction filters used primarily in computer graphics, which can be used, for example, for anti-aliasing or for scaling raster graphics. They are also known as bicubic filters in image editing programs because they are bi-dimensional cubic splines.

## Definition

The Mitchell–Netravali filters were designed as part of an investigation into artifacts from reconstruction filters. The filters are piece-wise cubic filters with four-pixel wide supports. After excluding unsuitable filters from this family, such as discontinuous curves, two parameters $B$ and $C$ remain, through which the Mitchell–Netravali filters can be configured. The filters are defined as follows:

$k(x)={\frac {1}{6}}{\begin{cases}{\begin{array}{l}(12-9B-6C)|x|^{3}+(-18+12B+6C)|x|^{2}\\\qquad +(6-2B)\end{array}}&{\text{, if }}|x|<1\\{\begin{array}{l}(-B-6C)|x|^{3}+(6B+30C)|x|^{2}\\\qquad +(-12B-48C)|x|+(8B+24C)\end{array}}&{\text{, if }}1\leq |x|<2\\0&{\text{otherwise}}\end{cases}}$ It is possible to construct two-dimensional versions of the Mitchell–Netravali filters by separation. In this case the filters can be replaced by a series of interpolations with the one-dimensional filter. From the color values of the four neighboring pixels $P_{0}$ , $P_{1}$ , $P_{2}$ , $P_{3}$ the color value is then calculated $P(d)$ as follows:

{\begin{aligned}P(d)&\textstyle =\left((-{\frac {1}{6}}B-C)P_{0}+(-{\frac {3}{2}}B-C+2)P_{1}+({\frac {3}{2}}B+C-2)P_{2}+({\frac {1}{6}}B+C)P_{3}\right)d^{3}\\&\textstyle +\left(({\frac {1}{2}}B+2C)P_{0}+(2B+C-3)P_{1}+(-{\frac {5}{2}}B-2C+3)P_{2}-CP_{3}\right)d^{2}\\&\textstyle +\left((-{\frac {1}{2}}B-C)P_{0}+({\frac {1}{2}}B+C)P_{2}\right)d\\&\textstyle +{\frac {1}{6}}BP_{0}+(-{\frac {1}{3}}B+1)P_{1}+{\frac {1}{6}}BP_{2}\\\end{aligned}} $P$ lies between $P_{1}$ and $P_{2}$ ; $d$ is the distance between $P_{1}$ and $P$ .

## Subjective effects

Various artifacts may result from certain choices of parameters B and C, as shown in the following illustration. The researchers recommended values from the family $B+2C=1$ (dashed line) and especially $\textstyle B=C={\frac {1}{3}}$ as a satisfactory compromise.

## Implementations

The following parameters result in well-known cubic splines used in common image editing programs:

B C Cubic spline Common implementations
0 Any Cardinal splines
0 0.5 Catmull-Rom spline Bicubic filter in GIMP
0 0.75 Unnamed Bicubic filter in Adobe Photoshop
1/3 1/3 Mitchell–Netravali Mitchell filter in ImageMagick
1 0 B-spline Bicubic filter in Paint.net