Mein neues QGIS-Plugin Scipy Filters ermöglicht es, Raster-Layer mithilfe von Scipy zu verarbeiten. Dies ist eine Python-Bibliothek mit einer großen Anzahl an optimierten Algorithmen u.a. für multidimensionale Bildbearbeitung und Signalverarbeitung, die zum Teil bei der Analyse von Rasterdaten nützlich sein können.
Auf die Idee bin ich gekommen, weil in der neusten QGIS-Version die Orfeo-Toolbox abgeschafft wurde und ich damit keine morphologischen Filter mehr hatte. Es war früher ziemlich umständlich, die Orfeo-Toolbox zu installieren, und ein Plugin, das Scipy verwendet, schien mir die beste Alternative. Letztlich habe ich es so programmiert, dass mit relativ wenig Aufwand eine große Zahl an Filtern bereitgestellt werden kann — so viele, dass sie in der Processing-Toolbox auf meinem Monitor nicht alle gleichzeitig angezeigt werden.
In den meisten Fällen stellt mein Plugin das User Interface bereit, reicht die Rasterdaten an die jeweilige Scipy-Funktion weiter und lädt das Ergebnis wieder in QGIS. Ich habe auch ein paar zusätzliche Filter geschrieben, die es nicht direkt in Scipy gibt: Insbesondere die Hauptkomponentenanalyse (PCA), implementiert mithilfe von Single Value Decomposition (SVD).
Viele der Filter arbeiten innerhalb einer individuell definierbaren Nachbarschaft, in der z.B. der lokale Mittelwert, Standardabweichung etc. berechnet werden kann. Neben klassischen Weichzeichnern und Kantenerkennung (Sobel, Laplace etc.) gibt es auch Faltung mit einem benutzerdefinierten Kernel.