How to quantify mineral structures in images that are hard to segment?

Sample image and/or code

sample1.tiff.tiff (4.3 MB)

sample2.tiff (4.3 MB)


I am analyzing microstructures in biogenic biocomposites (bivalve shells). These are SEM images of a polished surface, where the organic component was removed. I want to assess differences in the microstructure base don these images. By visual inspection I can see that, e.g., the mineral size, elongation, and orientation vary.

Until now, I have failed to quantitatively determine meaningful differences between samples. Measuring the morphology of individual minerals seems nearly impossible, as they are not well separated from one another. It would be highly subjective to define which portions of the image together form one mineral entity.

Analysis goals

What properties of the images could reveal quantifiable differences between samples?


I have tried threshold-based and machine-learning based segmentation of the images to measure size, shape etc. of individual minerals. However, it is hard to define a “ground truth” to compare the segmentations with. I have no method on determining if my segmentation results are actually “correct”.

I have tried measuring black and white ratios in thresholded versions of the images, which gives results I would agree with. But using this Method I can only determine the amount of mineral phase compared to the amount of (previously removed) organic phase. I can’t say anything about shape or structure.

I hope my question is not too vague, but I am looking for additional ideas on how to describe what I am seeing in numbers. Would fractal analysis be of use here? Unfortunately I cannot improve the preparation technique much more.

1 Like

Do your images come in 8-Bit or do you also have 16-bits files? It would be helpful if you could upload 16-bit files. Your images are also noisy and saturated, so it’s dificult from the start…

Hi cripcate,

do you want do show differences between a control group and experimental groups or are you looking for a objective descriptor of shape / structure?

You could look into texture-based features, e.g. co-occurrence matrix, fractal analysis, local binary pattern or simple GLCM.

Best regards,

your images are very noisy. I would suggest to work on reducing noise first: Take more points and average over the pixels, and/or take many images in succession and average over them (with registration, if there is drift).
For the current images you can improve the situation a tiny bit by running a median, followed by an edge-preserving blur such as the ‘Thresholded Blur’ plugin [1].
For separating different mineral phases you should use EDX, not just a backscatter image.

Hey, sorry for the late reply.

@MatthieuV Our SEM can only do 8 bit unfortunately. And only 1024 or 2048px each side.

@marioK I am looking for objective (numeric) desrictor of shape / structure that would show differences among a series of images of this kind. I have many samples and images to analyze, these two are just an example.

@schmid Thanks for the tip of capturing multiple images, registering and averaging. that might be very helpful. Ive already integrated a median filter in most of my image processing projects as the images of our sem are so damn noisy. I will checkout the threshold blur plugin. In my case I am not discriminating different mineral phases. The mineral phase is completely aragonitic and only differs in microstructural appearance. The darker portions of the image were occupied by an organic phase which was removed with H2O2. This is why EDX doesn’t apply here.

As already pointed out, the images are very noisy. Is it possible to lower the scan speed? In your images, neighboring pixels seem to share greylevels in the horizontal direction, indicating that the SEM may be scanning way too fast. Is this perhaps just a grab of a real-time “live” image? See if there are settings for a slow scan; a good quality backscatter image takes many minutes to acquire. Besides this, the imaging conditions seem okay.

@steinr Unfortunately we only have a small desktop SEM. This is already the second highest scanning time (13s). I could scan for 26 seconds, but then the drift of the sample is too high. I cannot change much in the settings. I will conduct future analyses on a better SEM at another facility, but for now, this is what I have to work with.

Ok; I just wanted to doublecheck if you had considered the scantime. Sometimes us researchers are limited to receiving images from engineers who may not know how to optimize the imaging.

Another thing that will increase the signal to noise ratio is to set the aperture to wide open or remove it completely, sacrificing depth of focus. But that may not be an option on your desktop instrument.