Why is this image not displayed as black and why does the histogram look segmented?

Question.tif (3.3 MB)
Histogram of Question

Hi everyone,

I am new to this forum and I am hoping someone can help me understand this image.

It should be (nearly) all black, as it is my control (cells without any fluorescent treatment) + the illumination time was extremely short.
However, if I open it with Fiji/ImageJ, it is displayed as grey. In other programs (for example with the windows photo viewer it looks completely black). Why is that?

Also, the histogram looks as if it was messed with, but I didn’t change any settings.
Could someone please help me understand this problem?
If I open images taken with the exact same settings, but a longer illumination time, I don’t encounter these problems.

I want to measure the (raw) integrated density, but I am worried that the results will be wrong if the histogram is not displayed correctly.

Thank you!

Hi @clin, welcome to the Forum!

Your image appears grey because (as is I believe default for 16 bit data) your image is “auto contrasted”.

Greyscale digital images are displayed on a range of “pure” black to “pure” white. The number of levels between that is dictated by your bit depth and so (in your example) that means 65536 levels (including the black and white ones).

When loading in a 16 bit image, your black and white point are set to the min and max of your image (44 and 222 in the histogram above) and all your data are in the middle of that range, thus are displayed as grey (close enough to half way between black and white).

If you want to display the full range of your image, you can run [ Image > Adjust > Brightness / Contrast ] then use the Set button to select a display range. If you set this to the bounds of your data type (16 bit: as shown below) you will display the same “black” image as you have previously described.

This is partly a function of the histogram display but can also the result of the limited number of discreet levels present in your peak. If in doubt, you can easily re-plot the intensity histogram in Python, MATLAB (or whatever) with defined bins to double check nothing funny is happening on your detector.

Some time ago, I wrote about some fundamentals on Bit Depth and Image histograms that you might find useful as they also go into more detail on the importance of understanding your underlying data:

Hope that helps!


Thank you for your quick reply @dnmason, this is what I was looking for!
I also read the posts from your links, they are very helpful.

Just to make sure I understood this right, if I apply any settings with “set” it only changes the display, but with “apply” it actually changes the pixel values - is this right?

And is it normal that the histogram itself is not displayed in values between 0 - 65536 for 16 bit images? In all the tutorial examples I found the histogram values range from 0 - 255, which I guess would be correct for 8-bit images.
But I am wondering for the 16 bit images if this makes a difference because of the binning into 256 bins. What I mean is that if I have values like for example in my image from above, there are more bins than the actual pixel range, so I am guessing one bin represents 1 pixel value unless it is possible for 1 bin to have a value smaller than 1?
So if I had an image with accidentally only very few outlier values in the high range (and still a lot of pixels with a very low value), then the bins would me much larger, including more pixel values into just one bin. If I then measured this “outlier-picture” nearly all measured pixel values would be within the same bin, just because of a very few outliers with high values?

I tried to find an answer to this in the forum, but I didn’t find it yet, even though there must have been postings on this topic, so I am very sorry if I am repeating the question.

Correct, using the Set button is generally considered a bad idea although there are some cases when it’s a useful feature.

Also correct (except that if you’re counting zero, it would only be to 65535).

I thought this was the case, but in fact upon closer inspection it will divide your range (max-min) into the number of bins specified (256 in this case) which gives a bin width ~0.695 (you can see this if you hit the ‘list’ button, or in the dialog itself).

Yes, this is exactly what would happen.

It’s important to remember with all of this (outlier pixels, histogram bins &c) that the underlying data don’t change. If you’re doing quantitative work then it doesn’t really matter how the histogram is being displayed.

1 Like

Thank you :slight_smile:

Does this mean though that the measurement of the raw integrated density is actually not the same as adding up all the bin values (x how often they are detected) in the histogram?

The raw integrated density is simply the sum of all pixel intensities within the image or selection.

Thank you for all your help!