5.3.4.27. Function CCL_LSL_threshold_apply

5.3.4.27.1. Function Documentation

uint32_t CCL_LSL_threshold_apply(CCL_data_t *CCL_data, const uint8_t **img, uint32_t **labels, const uint8_t threshold, const uint8_t no_init_labels)

First select pixels according to a threshold, then compute the Light Speed Labeling (LSL) algorithm. Note: this is optimized to be faster than to compute the thresholding and to perform the LSL separately. Arthur HENNEQUIN’s LSL implementation.

Parameters
  • CCL_data – Inner data required to perform the LSL.

  • img – Input grayscale image (2D array \([i1 - i0 + 1][j1 - j0 + 1]\), grayscale is in \([0;255]\) range).

  • labels – Output labels (2D array \([i1 - i0 + 1][j1 - j0 + 1]\). The labels are in \([1;2^{32} -1]\) and 0 value means no label).

  • threshold – Value (between \([0;255]\)). If the pixel intensity is higher than threshold, then the pixel is kept for the labeling, else the pixel is ignored.

  • no_init_labels – If this boolean is set to 1, then the labels buffer is considered pre-initialized with 0 values. Else, if no_labels_init parameter is set to 0, then this function will initialized zones that does not correspond to connected-components with 0 value. In doubt, prefer to set no_labels_init parameter to 0.

Returns

Number of labels.