coherence_enhancing_diff
— Koherenzverstärkende Diffusion eines Bildes.
Der Operator coherence_enhancing_diff
führt einen
anisotropen Diffusionsvorgang auf dem Eingabebild Image
durch mit dem Ziel, die Kohärenz der in Image
enthaltenen
Bildstrukturen zu erhöhen, das heißt insbesondere, unterbrochene
Bildkanten diffusiv miteinander zu verbinden ohne sie dabei
senkrecht zur Kantenrichtung zu verschmieren. Dazu nutzt
coherence_enhancing_diff
eine Diskretisierung der
anisotropen Diffusionsgleichung
nach Weickert. Mit einer von den Grauwerten in Image
abhängigen 2x2 Koeffizientenmatrix G ist diese
eine Weiterentwicklung der Krümmungsfluss- oder intrinsischen
Wärmeleitungsgleichung
auf der durch das Eingabebild Image
zu einem Zeitpunkt
definierten Grauwertfunktion u. Der
Glättungsoperator mean_curvature_flow
verwendet die
Krümmungsflussgleichung direkt. Die diskrete Diffusionsgleichung
wird in Iterations
Zeitschritten der Länge Theta
gelöst, so dass das Ausgabebild ImageCED
die
Grauwertfunktion zur Zeit enthält.
Um die Kantenrichtungen insbesondere bei verrauschten Eingabedaten
stabiler zu bestimmen, kann der Berechnung der Grauwertgradienten
ein zusätzlicher isotroper Glättungsschritt vorgeschaltet
werden. Der Parameter Sigma
bestimmt die Stärke dieser
Glättung als Standardabweichung des zugehörigen
Gauß-Faltungskernes, wie er auch im Operator
isotropic_diffusion
zur isotropen Glättung eines Bildes
verwendet wird.
Während die Matrix G im Fall des Krümmungsflusses
mean_curvature_flow
gegeben wird durch
wobei I die Einheitsmatrix bezeichnet, wird diese Matrix in
coherence_enhancing_diff
komponentenweise in Ortsrichtung
durch einen Gauß-Filter mit Standardabweichung Rho
geglättet und anschließend aus den Eigenwerten
und Eigenvektoren
der so entstandenen Matrix die
endgültige Koeffizientenmatrix
konstruiert, wobei die Funktionen
empirisch bestimmt und aus der Veröffentlichung von Weickert
entnommen sind.
Die Diffusionsrichtung wird bei mean_curvature_flow
also
alleine durch die lokale Richtung des Grauwertgradienten bestimmt,
wohingegen die makroskopische Struktur der
Bildobjekte auf der Skala Rho
wiedergibt und die Stärke
der Diffusion in coherence_enhancing_diff
davon abhängt,
wie gut diese Struktur definiert ist.
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.
ImageCED
(output_object) image(-array) →
object (byte / uint2 / real)
Ausgabebild.
Sigma
(input_control) real →
(real)
Glättungsparameter für Ableitungsoperator.
Defaultwert: 0.5
Wertevorschläge: 0.0, 0.1, 0.5, 1.0
Restriktion: Sigma >= 0
Rho
(input_control) real →
(real)
Glättungsparameter für Diffusionskoeffizienten.
Defaultwert: 3.0
Wertevorschläge: 0.0, 1.0, 3.0, 5.0, 10.0, 30.0
Restriktion: Rho >= 0
Theta
(input_control) real →
(real)
Zeitschritt.
Defaultwert: 0.5
Wertevorschläge: 0.1, 0.2, 0.3, 0.4, 0.5
Restriktion: 0 < Theta <= 0.5
Iterations
(input_control) integer →
(integer)
Anzahl Iterationen.
Defaultwert: 10
Wertevorschläge: 1, 5, 10, 20, 50, 100, 500
Restriktion: Iterations >= 1
J. Weickert, V. Hlavac, R. Sara; „Multiscale texture
enhancement“; Computer analysis of images and patterns, Lecture
Notes in Computer Science, Vol. 970, pp. 230-237; Springer,
Berlin; 1995.
J. Weickert, B. ter Haar Romeny, L. Florack, J. Koenderink,
M. Viergever; „A review of nonlinear diffusion filtering“;
Scale-Space Theory in Computer Vision, Lecture Notes in
Comp. Science, Vol. 1252, pp. 3-28; Springer, Berlin; 1997.
Foundation