isotropic_diffusionisotropic_diffusionIsotropicDiffusionIsotropicDiffusion (Operator)

Name

isotropic_diffusionisotropic_diffusionIsotropicDiffusionIsotropicDiffusion — Isotrope Glättung eines Bildes.

Signatur

isotropic_diffusion(Image : SmoothedImage : Sigma, Iterations : )

Herror isotropic_diffusion(const Hobject Image, Hobject* SmoothedImage, double Sigma, const Hlong Iterations)

Herror T_isotropic_diffusion(const Hobject Image, Hobject* SmoothedImage, const Htuple Sigma, const Htuple Iterations)

void IsotropicDiffusion(const HObject& Image, HObject* SmoothedImage, const HTuple& Sigma, const HTuple& Iterations)

HImage HImage::IsotropicDiffusion(double Sigma, Hlong Iterations) const

static void HOperatorSet.IsotropicDiffusion(HObject image, out HObject smoothedImage, HTuple sigma, HTuple iterations)

HImage HImage.IsotropicDiffusion(double sigma, int iterations)

Beschreibung

Der Operator isotropic_diffusionisotropic_diffusionIsotropicDiffusionIsotropicDiffusionIsotropicDiffusion führt eine isotrope Diffusion des Eingabebildes ImageImageImageImageimage durch. Dies entspricht einer Faltung der Bildmatrix mit einer Gaussmaske mit Standardabweichung SigmaSigmaSigmaSigmasigma. Wird der Parameter IterationsIterationsIterationsIterationsiterations auf 0 gesetzt, so wird eine solche Faltung explizit durchgeführt. Für Eingabebilder mit voller ROI entspricht isotropic_diffusionisotropic_diffusionIsotropicDiffusionIsotropicDiffusionIsotropicDiffusion dann genau dem Operator derivate_gaussderivate_gaussDerivateGaussDerivateGaussDerivateGauss bei Wahl von 'none'"none""none""none""none" für den Parameter Component. Ist die Grauwertmatrix größer als die ROI von ImageImageImageImageimage, so unterscheiden sich die Operatoren dadurch, dass derivate_gaussderivate_gaussDerivateGaussDerivateGaussDerivateGauss die Grauwerte außerhalb der ROI miteinbezieht, während isotropic_diffusionisotropic_diffusionIsotropicDiffusionIsotropicDiffusionIsotropicDiffusion in jedem Fall die Grauwerte am Rand der ROI spiegelt. Der Rechenaufwand steigt linear mit dem Wert von SigmaSigmaSigmaSigmasigma an.

Besitzt IterationsIterationsIterationsIterationsiterations einen positiven Wert, so wird der Glättungsvorgang als Anwendung der Wärmeleitungsgleichung auf die Grauwertfunktion u mit dem durch die Grauwerte von ImageImageImageImageimage definierten Anfangswert zu einem Zeitpunkt interpretiert. Diese Gleichung wird dann in IterationsIterationsIterationsIterationsiterations 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 IterationsIterationsIterationsIterationsiterations und unabhängig von SigmaSigmaSigmaSigmasigma. Für kleine Werte von IterationsIterationsIterationsIterationsiterations ist die Rechengenauigkeit aber sehr gering. Die Wahl von IterationsIterationsIterationsIterationsiterations < 3 ist daher nicht empfehlenswert.

Für kleinere Werte von SigmaSigmaSigmaSigmasigma ist die Faltungsimplementierung im Normalfall die schnellere Variante. Da die Laufzeit des Differentialgleichungslösers nur von der Anzahl der Iterationen und nicht von SigmaSigmaSigmaSigmasigma abhängt, ist für größe Werte von SigmaSigmaSigmaSigmasigma und der Wahl von wenigen Iterationen (z.B. IterationsIterationsIterationsIterationsiterations = 3) typischerweise diese Implementierung schneller.

Das Konzept der Glättungsfilter ist in der Einleitung zum Kapitel Filter / Glättung beschrieben.

Achtung

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.

Ausführungsinformationen

Parameter

ImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (byte / uint2 / real)

Eingabebild.

SmoothedImageSmoothedImageSmoothedImageSmoothedImagesmoothedImage (output_object)  image(-array) objectHImageHImageHobject * (byte / uint2 / real)

Ausgabebild.

SigmaSigmaSigmaSigmasigma (input_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

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

IterationsIterationsIterationsIterationsiterations (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Anzahl Iterationen.

Defaultwert: 10

Wertevorschläge: 0, 3, 10, 100, 500

Restriktion: Iterations >= 0

Modul

Foundation