After completing this lesson, learners should be able to:
Understand in detail what happens when applying a median filter to an image
Motivation
The median filter is a rank filter and is one of the most popular filters for reducing noise in microscopy images.
While the median filter has indeed many good properties, it should be - like any other filter - used with care and a good understanding of its properties.
Concept map
graph TD
pixel --> NE("neighbourhood pixel values")
NE --> median
median --> MF("median filtered pixel value")
Figure
Median filter example. Left - Raw; Right - After a 5x5 median filter.
Properties of median filter
The median filter is based on ranking the pixels in the neighbourhood
In general, for any neighbourhood filter, if the spatial extend of the neighbourhood is significantly
(maybe three-fold) smaller than the smallest spatial length scale that you care about, you are on the safe side.
However, in biology, microscopy images are often containing relevant information down to the level of a single pixel. Thus, you typically have to deal with the fact that filtering may alter your image in a significant way. To judge whether this may affect your scientific conclusions you therefore should study the effect of filters in some detail.
Although a median filter typically is applied to a noisy gray-scale image, understanding its properties is easier when looking at a binary image.
From inspecting the effect of the median filter on above test image, one could say that a median filter
is edge preserving
cuts off at convex regions
fills in at concave regions
completely removes structures whose shortest axis is smaller than the filter width
Activities
Use example images that are relevant to your science and explore in detail what happens when applying a median filter. On purpose, increase the neighbourhood to an extend where your structures of interest become clearly compromised. Do some of all of these activities.
Open image xy_8bit_binary__large_spot.tif
discuss effect of median filter on edge changes. Use a ROI and apply filter only on the ROI. Compare also to mean filter.
Open image xy_8bit__PCNA.tif and discuss effect of filters with respect to preservation of structure.
(Optional) Open image xy_8bit_binary__test_structures.tif and discuss what happens to the structures. This is a more detail inspection of what does a median filter do.
Show activity for:
ImageJ GUI & Macro median
run("Close All");//File > Open...open("https://github.com/NEUBIAS/training-resources/raw/master/image_data/xy_8bit__two_noisy_squares_different_size.tif");// Image > Duplicate...run("Duplicate...","title=Median_1");// Image > Duplicate...run("Duplicate...","title=Median_2");// Image > Duplicate...run("Duplicate...","title=Median_5");selectWindow("Median_1");// Process › Filters › Median...run("Median...","radius=1");selectWindow("Median_2");// Process › Filters › Median...run("Median...","radius=2");selectWindow("Median_5");// Process › Filters › Median...run("Median...","radius=5");run("Tile")
ImageJ GUI & Macro mean
run("Close All");//File > Open...open("https://github.com/NEUBIAS/training-resources/raw/master/image_data/xy_8bit__two_noisy_squares_different_size.tif");// Image > Duplicate...run("Duplicate...","title=Mean_1");// Image > Duplicate...run("Duplicate...","title=Mean_2");// Image > Duplicate...run("Duplicate...","title=Mean_5");selectWindow("Median_1");// Process › Filters › Mean...run("Mean...","radius=1");selectWindow("Mean_2");// Process › Filters › Mean...run("Mean...","radius=2");selectWindow("Mean_5");// Process › Filters › Mean...run("Mean...","radius=5");run("Tile")