Mitchell–Netravali filters

From HandWiki - Reading time: 4 min


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 B and C remain, through which the Mitchell–Netravali filters can be configured. The filters are defined as follows:

k(x)=16{(129B6C)|x|3+(18+12B+6C)|x|2+(62B), if |x|<1(B6C)|x|3+(6B+30C)|x|2+(12B48C)|x|+(8B+24C), if 1|x|<20otherwise

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:

P(d)=((16BC)P0+(32BC+2)P1+(32B+C2)P2+(16B+C)P3)d3+((12B+2C)P0+(2B+C3)P1+(52B2C+3)P2CP3)d2+((12BC)P0+(12B+C)P2)d+16BP0+(13B+1)P1+16BP2

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 B=C=13 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 Thyssen, Anthony. "Resampling Filters". Examples of ImageMagick Usage (Manual). ImageMagick. Retrieved 25 October 2020.
  5. Summers, Jason (September 2011). "What is bicubic resampling?". https://entropymine.com/imageworsener/bicubic/. 




Licensed under CC BY-SA 3.0 | Source: https://handwiki.org/wiki/Mitchell–Netravali_filters
9 views |
↧ Download this article as ZWI file
Encyclosphere.org EncycloReader is supported by the EncyclosphereKSF