Class SoLocalMaximaQuantification

  • All Implemented Interfaces:
    SafeDisposable

    @Deprecated(since="2023.2")
    public class SoLocalMaximaQuantification
    extends SoImageVizEngine
    Deprecated.
    As of Open Inventor 2023.2. ImageViz API is replaced by the new ImageDev toolkit.
    SoLocalMaximaQuantification engine. The SoLocalMaximaQuantification engine extracts the local maxima of an image using a neighborhood analysis.

    Input_Image[i,j] is a local maximum if the 2 conditions below apply:

    1. Considering k in [1,p], l in [1,q] and m in [-p,p], InputImage(i,j) verifies:
    InputImage( i, j) > InputImage(i + m, j - l)
    InputImage( i, j) > InputImage(i - k, j)
    InputImage(i, j) >= InputImage(i + k, j)
    InputImage(i, j) >= InputImage(i + m, j + l)
    2. Input_Image[i,j] is higher than a specified threshold
    InputImage(i, j) >= threshold

    Graphic visualization of the neighborhood analysis

    Examples:

    Example 1:
    Input parameters: p=0, q=0, threshold=4, number=50.
    The local maxima will be the points higher or equal to 4.

    Number of local maxima detected: 7
    Positions of the local maxima:
    (7,3) (6,5) (5,7) (6,7) (6,8) (2,9) (6,9)
    This corresponds to a threshold.

    Example 2: Input parameters:p=1, q=1, threshold=3, number=50.
    Number of local maxima detected: 4
    Positions of the local maxima: (7,3) (6,5) (5,7) (2,9)

    Remark: If there is an area in the image at constant level, the engine returns the upper left corner of this area. The other points of the area are not considered as �local maxima�.

    Example 3: Input parameters: p=2, q=2, threshold=3, number=50.
    Number of local maxima detected: 2
    Positions of the local maxima: (7,3) (5,7)

    Remark: The algorithm is not performed on the image border depending on n and m values. That is the reason why the point (2,9) is not considered as a local maximum.

    Local Maximum Sub-Pixel Position Determination:
    On example 3, the algorithm detects 2 local maxima. The positions are converted to sub-pixel positions:

    X Sub-pixel Position Determined by Parabola Approximation

    Y Sub-pixel Position Determined by Parabola Approximation

    File format/default:

    LocalMaximaQuantification {

      computeMode MODE_AUTO
      inGrayImage NULL
      localWindow 3 3 3
      thresholdLevel 0.0f
      precisionMode PIXEL
      numberOfPatterns 1
    }


    Library references: maxextract maxextract3d