Eroded Otsu-labeling
This operation segments and labels an image using blurring, Otsu-thresholding, binary erosion and masked Voronoi-labeling.
After bluring and thresholding using Otsu’s method, iterative binary erosion is applied. Objects in the eroded image are labeled using connected component labeling and these labels are dilated to fit again into the initial binary image using masked-Voronoi labeling.
This function is similar to voronoi_otsu_labeling
. It is intended to deal better in cases where labels of objects swapping into each other if objects are dense. Like when using Voronoi-Otsu-labeling, small objects may disappear when applying this operation.
This function is inspired by a similar implementation in Java by Jan Brocher (Biovoxxel) in the Biovoxxel toolbox. Big thanks Jan!
We just crop out a 2D slice.
|
cle._ image
shape | (256, 256) |
dtype | float32 |
size | 256.0 kB |
min | 1091.0 | max | 58327.0 |
|
|
cle._ image
shape | (256, 256) |
dtype | uint32 |
size | 256.0 kB |
min | 0.0 | max | 17.0 |
|
Parameter: number_of_erosions
If the specified number of erosions is too small, sticky objects will be labeled together.
|
cle._ image
shape | (256, 256) |
dtype | uint32 |
size | 256.0 kB |
min | 0.0 | max | 16.0 |
|
If too many erosions are configured, objects may disappear.
|
cle._ image
shape | (256, 256) |
dtype | uint32 |
size | 256.0 kB |
min | 0.0 | max | 3.0 |
|
Parameter: outline_sigma
With this outline, you can control the denoising before thresholding. If this value is too low, objects may have noisy edges and holes lead to more object-splits.
|
cle._ image
shape | (256, 256) |
dtype | uint32 |
size | 256.0 kB |
min | 0.0 | max | 37.0 |
|
If this value is too high, object outlines may be not fitting to the original objects anymore.
|
cle._ image
shape | (256, 256) |
dtype | uint32 |
size | 256.0 kB |
min | 0.0 | max | 11.0 |
|