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]
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:
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{ 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].
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]
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 |
Original source: https://en.wikipedia.org/wiki/Mitchell–Netravali filters.
Read more |