Mitchell-Netravali-Filter
# Mitchell-Netravali-Filter

Die Mitchell-Netravali-Filter oder BC-Splines sind eine vorrangig in der Computergrafik verwendete Gruppe von Rekonstruktionsfiltern, die zum Beispiel beim Antialiasing oder bei der Skalierung von Rastergrafiken verwendet werden können. In Bildbearbeitungsprogrammen werden sie auch als bikubische Filter bezeichnet, da sie zu den kubischen Splines zählen.

## Definition

Die Mitchell-Netravali-Filter wurden im Rahmen einer Untersuchung zu Artefakten von Rekonstruktionsfiltern entworfen. Die Filter sind stückweise kubische Filter mit vier Pixel breiten Trägern. Nach Ausschluss ungeeigneter Filter aus dieser Familie, wie zum Beispiel unstetige Kurven, verbleiben zwei Parameter $B$ und $C$, durch die die Mitchell-Netravali-Filter konfigurierbar sind. Die Filter sind wie folgt definiert:

    $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{, wenn }}|x|<1\\{\begin{array}{l}(-B-6C)|x|^{3}+(6B+30C)|x|^{2}\\\qquad +(-12B-48C)|x|+(8B+24C)\end{array}}&{\text{, wenn }}1\leq |x|<2\\0&{\text{ansonsten}}\end{cases}}$

Es ist möglich, zweidimensionale Versionen der Mitchell-Netravali-Filter durch Separation zu konstruieren (siehe: Rekonstruktionsfilter: Konstruktion zweidimensionaler Filter). In diesem Fall können die Filter durch eine Reihe von Interpolationen mit dem eindimensionalen Filter ersetzt werden. Aus den Farbwerten der vier benachbarten Pixel $P_{0}$, $P_{1}$, $P_{2}$, $P_{3}$ berechnet sich dann der Farbwert $P(d)$ folgendermaßen:

    ${\begin{aligned}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{aligned}}$

$P$ liegt hierbei zwischen $P_{1}$ und $P_{2}$; $d$ ist der Abstand zwischen $P_{1}$ und $P$.

### Spezialfälle

Je nach Wahl der Parameter B und C kann es zu verschiedenen Artefakten kommen (siehe Bild rechts). Die Entwickler schlugen die Parameter aus der Familie $B+2C=1$ und besonders $\textstyle B=C={\frac {1}{3}}$ als guten Kompromiss vor.

Die Wahl bestimmter Parameter führt zu bekannten kubischen Splines:

* B=1, C=0 ist der kubische B-Spline (als bikubischer Filter z. B. in Paint.NET verwendet);
* B=0 ist die Familie der Cardinal Splines;
* B=0, C=0,5 ist der Catmull-Rom Spline (als bikubischer Filter z. B. in GIMP verwendet).
