SoBilateralFilterProcessing Class Reference
[Smoothing And Denoising]

ImageViz SoBilateralFilterProcessing engine More...

#include <ImageViz/Engines/ImageFiltering/SmoothingAndDenoising/SoBilateralFilterProcessing.h>

Inheritance diagram for SoBilateralFilterProcessing:
SoImageVizEngine SoEngine SoFieldContainer SoBase SoRefCounter SoTypedObject

List of all members.

Public Types

enum  FilterMode {
  BILATERAL = 0,
  SUSAN = 1
}

Public Member Functions

 SoBilateralFilterProcessing ()

Public Attributes

SoSFEnum computeMode
SoSFVec3i32 kernelSize
SoSFImageDataAdapter inImage
SoSFFloat similarity
SoSFEnum filterMode
SoImageVizEngineOutput
< SoSFImageDataAdapter,
SoImageDataAdapter * > 
outImage

Detailed Description

ImageViz SoBilateralFilterProcessing engine

The SoBilateralFilterProcessing engine edge-preserving smoothing filter.

For an introduction to smoothing and denoising image filters, see section Image Filters.

This engine is an edge-preserving smoothing filter. The intensity value at each voxel in an image is replaced by a weighted average of intensity values from nearby pixels. Crucially the weights depend on distance in color space from the voxel in question. This preserves sharp edges by systematically excluding pixels across discontinuities from consideration:

\[O(i,j,k)=\frac{1}{K(i,j,k)}\sum_{l=-\frac{n_x}{2}}^{\frac{n_x}{2}}\sum_{m=-\frac{n_y}{2}}^{\frac{n_y}{2}}\sum_{n=-\frac{n_z}{2}}^{\frac{n_z}{2}} e^{_\frac{(I(i,j,k)-I(l,m,n))^2}{h^2}} I(l,m,n)\]

where $h$ is a weighting similarity factor and $K$ is a local normalisation factor given by:

\[K(i,j,k)=\sum_{l=-\frac{n_x}{2}}^{\frac{n_x}{2}}\sum_{m=-\frac{n_y}{2}}^{\frac{n_y}{2}}\sum_{n=-\frac{n_z}{2}}^{\frac{n_z}{2}} e^{_\frac{(I(i,j,k)-I(l,m,n))^2}{h^2}}\]

The greater $h$ is, the stronger the blur is.

SEE ALSO

: SoDespeckleProcessing, SoSigmaFilterProcessing, SoUnsharpMaskingProcessing.

FILE FORMAT/DEFAULT


Library references: bilateralfilter bilateralfilter3d

See related examples:

DenoisingImage3D, PoreAnalysis


Member Enumeration Documentation

Enumerator:
BILATERAL 
SUSAN 

This mode allows user switching this filter to the Susan filter (Smallest Univalue Segment Assimilating Nucleus).

Susan filter reproduces bilateral filter behavior simply excluding central voxel of computation. This filter gives better results in case of impulse noise.


Constructor & Destructor Documentation

SoBilateralFilterProcessing::SoBilateralFilterProcessing (  ) 

Constructor.


Member Data Documentation

Select the compute Mode (2D or 3D or AUTO) Use enum ComputeMode.

Default is MODE_AUTO

The filter type.

Use enum FilterMode. Default is BILATERAL

The input image.

Default value is NULL. Supported types include: grayscale binary label color image.

The kernel size in each direction (odd value).

Default value is SbVec3i32(3,3,3)

The output image.

Default value is NULL. Supported types include: grayscale binary label color image.

The photometric similarity (strictly positive value).

Default value is 20.0f.


The documentation for this class was generated from the following file:

Open Inventor Toolkit reference manual, generated on 15 Mar 2023
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/