Mitchell–Netravali filters

From HandWiki

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

Graph of the Mitchell–Netravali filter with parameters B = C = 1/3

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 [math]\displaystyle{ B }[/math] and [math]\displaystyle{ C }[/math] remain, through which the Mitchell–Netravali filters can be configured. The filters are defined as follows:

[math]\displaystyle{ 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|\lt 1 \\ \begin{array}{l} (-B-6C)|x|^3 + (6B+30C)|x|^2 \\ \qquad + (-12B-48C)|x| + (8B+24C) \end{array} & \text{, if } 1\le |x|\lt 2 \\ 0 & \text{otherwise} \end{cases} }[/math]

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 [math]\displaystyle{ P_0 }[/math], [math]\displaystyle{ P_1 }[/math], [math]\displaystyle{ P_2 }[/math], [math]\displaystyle{ P_3 }[/math] the color value is then calculated [math]\displaystyle{ P(d) }[/math] as follows:

[math]\displaystyle{ \begin{align} 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{align} }[/math]

[math]\displaystyle{ P }[/math] lies between [math]\displaystyle{ P_1 }[/math] and [math]\displaystyle{ P_2 }[/math]; [math]\displaystyle{ d }[/math] is the distance between [math]\displaystyle{ P_1 }[/math] and [math]\displaystyle{ P }[/math].

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 [math]\displaystyle{ B+2C=1 }[/math] (dashed line) and especially [math]\displaystyle{ \textstyle B=C=\frac{1}{3} }[/math] as a satisfactory compromise.[1][4]

Subjective appearance of images reconstructed with various Mitchell–Netravali filters.

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[5]
1/3 1/3 Mitchell–Netravali Mitchell filter in ImageMagick[4]
1 0 B-spline Bicubic filter in Paint.net

Examples

See also

References

  1. 1.0 1.1 Mitchell, Don; Netravali, Arun (June 1998). "Reconstruction Filters in Computer-Graphics". written at Atlanta. ACM SIGGRAPH. 22. New York City: Association for Computing Machinery. pp. 221–228. doi:10.1145/378456.378514. ISBN 0897912756. https://www.cs.utexas.edu/~fussell/courses/cs384g-fall2013/lectures/mitchell/Mitchell.pdf. Retrieved 25 October 2020. 
  2. Pharr, Matt; Jakob, Wenzel; Humphreys, Greg (November 2016). "Sampling and Reconstruction". Physically Based Rendering: From Theory to Implementation (3rd ed.). San Francisco: Morgan Kaufmann Publishers. pp. 279–367. ISBN 978-0-12-800645-0. http://www.pbr-book.org/3ed-2018/Sampling_and_Reconstruction.html. Retrieved 25 October 2020. 
  3. Theußl, Thomas (29 December 1999). "The eighties: an image processing view". Sampling and Reconstruction in Volume Visualization (Diploma thesis). TU Wien. Archived from the original on 24 August 2014.
  4. 4.0 4.1 Template:Cite tech report
  5. Summers, Jason (September 2011). "What is bicubic resampling?". https://entropymine.com/imageworsener/bicubic/.