Waterpixels and Watervoxels



  • approach to simplify (large) images
  • is the reduction of the number of pixels (a.k.a image combinatorics) without the alteration of either of
    • pixel values (a.k.a spectral information or signature)
    • pixel organization (a.k.a pixel topology)
  • Practically it is difficult to satisfy the three constraints of
    • image size reduction
    • information preservation
    • structure non-alteration
  • Several superpixel paradigms exist:
    • waterpixels
      • an alternative to superpixel paradigms
      • are based on the watershed transformation
    • SLIC, Simple Linear Iterative Clustering
      • generates superpixels using k-means clustering


  • Cettour-Janet et al. 2019 (link) outlines their work on Watervoxels,
  • is an n-dimensional extension of the waterpixels, as defined in the article

The images below summarize the result of the application of watervoxels to a 2D image and a 3D MRI image.

Result of the watervoxel on the 2D image
Result of the watervoxel on the 3D MRI image

What are your thoughts on watervoxels? How do you make use of them in your field?


Pierre Cettour-Janet, Clément Cazorla, Vaia Machairas, Quentin Delannoy, Nathalie Bednarek, François Rousseau, Etienne Décencière, and Nicolas Passat, Watervoxels, Image Processing On Line, 9 (2019), pp. 317–328. https://doi.org/10.5201/ipol.2019.250

R. Achanta, A. Shaji, K. Smith, A. Lucchi, P. Fua and S. Süsstrunk, “SLIC Superpixels Compared to State-of-the-Art Superpixel Methods,” in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 34, no. 11, pp. 2274-2282, Nov. 2012, doi: 10.1109/TPAMI.2012.120.

On Readable Python Code


Python is an very nice high-level programming language that provides the user with an easy way to write readable and clean code. It is often the case when someone is learning a new tool or language that they are not aware of small features that would greatly improve the readability of their code.

For example, when I was learning Python I learned to iterate over a list the way I keep seeing it when reading code of beginner Pythonists. Here is an example of how you could iterate over the list:

for ix in range(len(a_list)):

However, a better and Pythonic way is to use iterators:

for el in a_list:

This equally works for dictionaries and strings:

for key in a_dictionary:

for char in a_string:

M87, the first image of a black hole


It was announced yesterday that the first every image of a black hole was taken. This is an achievement for the scientific and specifically astrophysical community.

Press release by the European Commission (EC) announcing the first ever (actual) image of a #BlackHole within the galaxy Messier 87.
Continue reading

Anak Krakatau Volcano Explosion as seen in SAR


The following two images (and animation) shows the processed synthetic aperture radar (SAR) data acquired before and after the explosion of the Anak Krakatau volcano. The two SAR data were acquired on two different satellite passes (ascending and descending respectively).

Following the explosion a landslide into the ocean of part of the volcano and the island led to a tsunami (concentric waves around the island can be seen in the after image). The two images are followed by an animation and a video.

The Cure is Inside Us