3
$\begingroup$

A classical technique in still images (e.g. fluorescence microscopy images) to remove uneven illumination and isolate bright blobs is to use morphological operation such as the top-hat transform.

For instance the Rolling-ball algorithm[1] uses a ball as a structuring element and performs the top-hat transform[2].

The structuring element is a grayscale element that extends the disk structuring element in 3D. For instance in MATLAB:

se2 = strel('ball', 3, 3);
     0    0.4999    0.9997    1.4996    0.9997    0.4999         0
0.4999    0.9997    1.4996    1.9995    1.4996    0.9997    0.4999
0.9997    1.4996    1.9995    2.4994    1.9995    1.4996    0.9997
1.4996    1.9995    2.4994    2.9992    2.4994    1.9995    1.4996
0.9997    1.4996    1.9995    2.4994    1.9995    1.4996    0.9997
0.4999    0.9997    1.4996    1.9995    1.4996    0.9997    0.4999
     0    0.4999    0.9997    1.4996    0.9997    0.4999         0

My question is: Is it so much better than simply using a binary disk as a structuring element? What are the use cases where a rolling ball is way better, or even required?

My experiments with comparing the outputs of the two do not show a striking difference between the two, but the literature behind the Rolling ball is very abundant.


[1] Stanley Sternberg, "Biomedical Image Processing", IEEE Computer, January 1983

[2] Here is the source code for a Java implementation in ImageJ: http://rsbweb.nih.gov/ij/plugins/download/Rolling_Ball_Background.java

$\endgroup$
3
$\begingroup$

I guess the basic question here becomes - what difference does non-flat structuring elements make w.r.t flat structuring elements ?

From the definition of dilation one can see that the structuring element can define a support (like in flat structuring elements) or another function itself (gray scale structuring elements). Look at wiki which defines the dilation operations. The grayscale or numerical version performs a Minkowski Sum. The dilation operation here basically looks for the max on the sum of the two functions. With grayscale dimension one is basically looking at the topographical features of the image level. Its called the rolling ball algorithm since it shaves off non smooth parts of the image which are less convex that the sphere structuring element one defines. The top hat is non flat and basically removes features in each level set and has no effect on the topographical height directly. It depends on the image and problem how these 2 operations are used. One can also write structuring elements to look for connected maximas or minimas(Jump connection), smooth regions(Smooth Connection) refer.

$\endgroup$
1
$\begingroup$

Though I didnot play with the rolling ball algorithm, I guess based on your comparison results it is quite obvious that the two algorithms you are interested in donot have a big difference. This is often the results, when you tried to compare some algorithm which is claimed to be better with some classic algorithm: a paper method is often no better than the classic one.

I donot want to frustrate you to implement new methods, but one tip is not to implement a very old paper methods, because if it is useful, it should be implemented somewhere, and you only need to find where it is, otherwise this is a useless method and it is not worthy to use it.

You may try some low-rank approximation based method to remove the illumination difference. This method works quite well on background removal problems. http://www.research.rutgers.edu/~shaoting/paper/ECCV12-background.pdf

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.