Mitchell–Netravali filters explained

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.[1] [2] [3]

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)=

1
6

\begin{cases} \begin{array}{l} (12-9B-6C)|x|3+(-18+12B+6C)|x|2\\    +(6-2B) \end{array}&,if|x|<1\\ \begin{array}{l} (-B-6C)|x|3+(6B+30C)|x|2\\    +(-12B-48C)|x|+(8B+24C) \end{array}&,if1\le|x|<2\\ 0&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

P0

,

P1

,

P2

,

P3

the color value is then calculated

P(d)

as follows:

\begin{align} P(d)&style=\left((-

1
6

B-C)P0+(-

3
2

B-C+2)P1+(

3
2

B+C-2)P2+(

1
6

B+C)P3\right)d3\\ &style+\left((

1
2

B+2C)P0+(2B+C-3)P1+(-

5
2

B-2C+3)P2-CP3\right)d2\\ &style+\left((-

1
2

B-C)P0+(

1
2

B+C)P2\right)d\\ &style+

1
6

BP0+(-

1
3

B+1)P1+

1
6

BP2\\ \end{align}

P

lies between

P1

and

P2

;

d

is the distance between

P1

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
styleB=C=1
3
as a satisfactory compromise.[1]

Implementations

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

BCCubic splineCommon implementations
0AnyCardinal splines
00.5Bicubic filter in GIMP
00.75UnnamedBicubic filter in Adobe Photoshop[4]
1/31/3Mitchell–NetravaliMitchell filter in ImageMagick[5]
10B-splineBicubic filter in Paint.net

Examples

See also

Notes and References

  1. Mitchell . Don . Netravali . Arun . Arun Netravali . Reconstruction Filters in Computer-Graphics . . . Proceedings of the 15th annual conference on computer graphics and interactive techniques (SIGGRAPH '88) . 22 . 4 . 221–228 . . . 10.1145/378456.378514 . 0897912756 . 0097-8930 . June 1998 . 25 October 2020. 10.1.1.582.7394 .
  2. Book: Pharr . Matt . Jakob . Wenzel . Humphreys . Greg . Physically Based Rendering: From Theory to Implementation . Sampling and Reconstruction . http://www.pbr-book.org/3ed-2018/Sampling_and_Reconstruction.html . 3rd . 279–367 . 978-0-12-800645-0 . . . November 2016 . 25 October 2020.
  3. Diploma thesis . Theußl . Thomas . Sampling and Reconstruction in Volume Visualization . The eighties: an image processing view . http://www.cg.tuwien.ac.at/~theussl/DA/node11.html . . 29 December 1999 . dead . https://web.archive.org/web/20140824074425/http://www.cg.tuwien.ac.at/~theussl/DA/node11.html . 24 August 2014.
  4. Web site: Project . Summers . Jason . What is bicubic resampling? . September 2011 . Entropymine . 25 October 2020.
  5. Thyssen . Anthony . Manual . Examples of ImageMagick Usage . Resampling Filters . https://legacy.imagemagick.org/Usage/filter/ . . 25 October 2020.