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.{{cite conference |last1=Mitchell |first1=Don |last2=Netravali |first2=Arun |author-link2=Arun Netravali |date=June 1988 |title=Reconstruction Filters in Computer-Graphics |url=https://www.cs.utexas.edu/~fussell/courses/cs384g-fall2013/lectures/mitchell/Mitchell.pdf |conference=ACM SIGGRAPH |location=Atlanta |publisher=Association for Computing Machinery |publication-place=New York City |volume=22 |issue=4 |pages=221–228 |citeseerx=10.1.1.582.7394 |doi=10.1145/378456.378514 |isbn=0897912756 |issn=0097-8930 |access-date=25 October 2020 |book-title=Proceedings of the 15th annual conference on computer graphics and interactive techniques (SIGGRAPH '88)}}{{cite book |last1=Pharr |first1=Matt |last2=Jakob |first2=Wenzel |last3=Humphreys |first3=Greg |title=Physically Based Rendering: From Theory to Implementation |url=http://www.pbr-book.org/ |chapter=Sampling and Reconstruction |chapter-url=http://www.pbr-book.org/3ed-2018/Sampling_and_Reconstruction.html |edition=3rd |pages=279–367 |isbn=978-0-12-800645-0 |publisher=Morgan Kaufmann Publishers |location=San Francisco |date=November 2016 |access-date=25 October 2020}}{{cite thesis |type=Diploma thesis |last=Theußl |first=Thomas |title=Sampling and Reconstruction in Volume Visualization |url=https://web.archive.org/web/20141019172025/http://www.cg.tuwien.ac.at/~theussl/DA/thesis.html |chapter=The eighties: an image processing view |chapter-url=http://www.cg.tuwien.ac.at/~theussl/DA/node11.html |publisher=TU Wien |date=29 December 1999 |url-status=dead |archive-url=https://web.archive.org/web/20140824074425/http://www.cg.tuwien.ac.at/~theussl/DA/node11.html |archive-date=24 August 2014}}
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 and 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\le |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 , , , the color value is then calculated as follows:
:
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}
lies between and ; is the distance between and .
Subjective effects
Implementations
The following parameters result in well-known cubic splines used in common image editing programs:
class="wikitable"
!B !C !Cubic spline !Common implementations |
style="text-align:right;"|0
|style="text-align:center;"|Any | |
style="text-align:right;"|0
|style="text-align:right;"|0.5 |Bicubic filter in GIMP |
style="text-align:right;"|0
|style="text-align:right;"|0.75 |Unnamed |Bicubic filter in Adobe Photoshop{{cite web |type=Project |last=Summers |first=Jason |title=What is bicubic resampling? |url=https://entropymine.com/imageworsener/bicubic/ |date=September 2011 |website=Entropymine |access-date=25 October 2020}} |
style="text-align:right;"|1/3
|style="text-align:right;"|1/3 |Mitchell–Netravali |Mitchell filter in ImageMagick{{cite tech report |last=Thyssen |first=Anthony |type=Manual |title=Examples of ImageMagick Usage |url=https://legacy.imagemagick.org/Usage/ |chapter=Resampling Filters |chapter-url=https://legacy.imagemagick.org/Usage/filter/ |publisher=ImageMagick |access-date=25 October 2020}} |
style="text-align:right;"|1
|style="text-align:right;"|0 |Bicubic filter in Paint.net |
Examples
{{Gallery
|width=512
|height=256
|align=left
|File:Resize Catmull-Rom.png|alt1=Back of statue facing a city building whose facade is Greek columns covered by a huge U.S. flag|Magnification with a bicubic filter in GIMP (Catmull-Rom)
|File:Resize Cubic B-Spline.png|alt2=Profile of stone face jutting out from a mountainside. Three workers clamber over it, each about the height of the face's upper lip.|Magnification with a bicubic filter in Paint.NET (B-spline)
}}
{{Clear}}