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.[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 [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]
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.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.
- ↑ 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.
- ↑ 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.0 4.1 Template:Cite tech report
- ↑ Summers, Jason (September 2011). "What is bicubic resampling?". https://entropymine.com/imageworsener/bicubic/.
Original source: https://en.wikipedia.org/wiki/Mitchell–Netravali filters.
Read more |