isotropic_diffusion
— Isotrope Glättung eines Bildes.
isotropic_diffusion(Image : SmoothedImage : Sigma, Iterations : )
Der Operator isotropic_diffusion
führt eine isotrope
Diffusion des Eingabebildes Image
durch. Dies entspricht
einer Faltung der Bildmatrix mit einer Gaussmaske mit
Standardabweichung Sigma
. Wird der Parameter
Iterations
auf 0 gesetzt, so wird eine solche
Faltung explizit durchgeführt. Für Eingabebilder mit voller ROI
entspricht isotropic_diffusion
dann genau dem Operator
derivate_gauss
bei Wahl von 'none' für den
Parameter Component
. Ist die Grauwertmatrix größer als
die ROI von Image
, so unterscheiden sich die Operatoren
dadurch, dass derivate_gauss
die Grauwerte außerhalb der
ROI miteinbezieht, während isotropic_diffusion
in jedem
Fall die Grauwerte am Rand der ROI spiegelt. Der Rechenaufwand
steigt linear mit dem Wert von Sigma
an.
Besitzt Iterations
einen positiven Wert, so wird
der Glättungsvorgang als Anwendung der Wärmeleitungsgleichung
auf die Grauwertfunktion u mit dem durch die Grauwerte von
Image
definierten Anfangswert zu
einem Zeitpunkt interpretiert. Diese Gleichung
wird dann in Iterations
Schritten über ein iteratives
Verfahren für parabolische partielle Differentialgleichungen bis
zum Zeitpunkt gelöst, was äquivalent zur obigen Faltung
ist. Der Rechenaufwand ist hier proportional zum Wert von
Iterations
und unabhängig von Sigma
. Für kleine
Werte von Iterations
ist die Rechengenauigkeit aber sehr
gering. Die Wahl von Iterations
< 3 ist daher
nicht empfehlenswert.
Für kleinere Werte von Sigma
ist die
Faltungsimplementierung im Normalfall die schnellere Variante. Da
die Laufzeit des Differentialgleichungslösers nur von der Anzahl
der Iterationen und nicht von Sigma
abhängt, ist für
größe Werte von Sigma
und der Wahl von wenigen
Iterationen (z.B. Iterations
= 3)
typischerweise diese Implementierung schneller.
Das Konzept der Glättungsfilter ist in der Einleitung zum Kapitel Filter / Glättung beschrieben.
Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben wird. Weitere Informationen können im Kapitel Filter gefunden werden.
Image
(input_object) (multichannel-)image(-array) →
object (byte / uint2 / real)
Eingabebild.
SmoothedImage
(output_object) image(-array) →
object (byte / uint2 / real)
Ausgabebild.
Sigma
(input_control) real →
(real)
Standardabweichung der Gaussverteilung.
Defaultwert: 1.0
Wertevorschläge: 0.1, 0.5, 1.0, 3.0, 10.0, 20.0, 50.0
Restriktion: Sigma > 0
Iterations
(input_control) integer →
(integer)
Anzahl Iterationen.
Defaultwert: 10
Wertevorschläge: 0, 3, 10, 100, 500
Restriktion: Iterations >= 0
Foundation