Class SoCurvatureDrivenDiffusionProcessing

  • All Implemented Interfaces:
    SafeDisposable

    public class SoCurvatureDrivenDiffusionProcessing
    extends SoImageVizEngine
    SoCurvatureDrivenDiffusionProcessing engine. The SoCurvatureDrivenDiffusionProcessing engine smooths an image using an advanced local edge analysis technique.

    For an introduction to image filters, see section Images Filters.

    This engine smooths an image using an advanced local edge analysis technique. This algorithm allows smoothing an image with respect to its edges.

    Figure 1: Curvature-Driven diffusion on a noisy image with default parameters (10 iterations, sharpness = 0.9 and anisotropy = 0.6)

    The algorithm is ruled by three main parameters: number of iterations, sharpness and anisotropy.

    • User must specify the requested number of iterations which should be suitable to reach convergence. In practice, a default value of 10 iterations allows obtaining good results in almost all cases.
    • The sharpness parameter control amplitude of smoothing along edge direction. A small sharpness value results in a global image smoothing.

    Figure 2: Influence of sharpness parameter on curvature-driven diffusion process (on the left, sharpness = 0.1; on the right, sharpness = 2.0)

    • The anisotropy parameter control local curvature-driven diffusion along gradient direction (direction orthogonal to edge). A great value for anisotropy parameter result in a stronger local smoothing of edge regions.

    Figure 3: Influence of anisotropy parameter on curvature-driven diffusion process (on the left, anisotropy = 0.3; on the right, anisotropy = 0.9)

    See Also:
    SoRecursiveExponentialFilterProcessing File format/default: CurvatureDrivenDiffusionProcessing { computeMode MODE_AUTO inImage NULL inMaskImage NULL iterationNumber 10 sharpnessFactor 0.9f anisotropyFactor 0.6f } Library references: anisotropicdiffusion
    • Field Detail

      • inImage

        public final SoSFImageDataAdapter inImage
        The input image. Default value is NULL. Supported types include: grayscale binary label color image.
      • inMaskImage

        public final SoSFImageDataAdapter inMaskImage
        The binary image for the mask or empty (command looks for only inside). This parameter is optional. Default value is NULL. Supported types include: binary color image.
      • iterationNumber

        public final SoSFInt32 iterationNumber
        The number of iterations (strictly positive integer). Default value is 10.
      • sharpnessFactor

        public final SoSFFloat sharpnessFactor
        The sharpness factor. Default value is 0.9f.
      • anisotropyFactor

        public final SoSFFloat anisotropyFactor
        The anisotropy factor. Default value is 0.6f.
    • Constructor Detail

      • SoCurvatureDrivenDiffusionProcessing

        public SoCurvatureDrivenDiffusionProcessing()
        Constructor.