Radiographic image analysis with ImageJ

I am a mechanical engineer student, and for my assignment I have to analyze certain parameters of a radiographic image.
I have never used ImageJ before. Parameters that I have to analyze are: signal-to-noise ratio (SNR), contrast-to-noise ratio (CNR), normalised SNR and spatial resolution (SR). While going through ImageJ I couldn’t find what I needed. I’ve installed the Fiji plugin but not sure if it has what I need? If someone could help me I’d like to thank in advance!

Here’s the image (in a lesser format) that I need to analyze :

Hi @gerh,

a quick search lead me to some code on SNR (i.e. an ImageJ plugin) by Daniel Sage. This plugin, however, computes the SNR using references images.

There were also some interesting discussions (here and here) on the ImageJ mailinglist about SNRs that might help you with your task.



Hello, Have you found a way to get the CNR of the image ? I am looking for the same thing. Thank you

Hello there,

Well I guess it depends on what do you consider contrast. Is it the difference in intensity values between two objects within the same image? Or the difference between the object and the background?

CNR = 10 * log10 (| mean(a) - mean(b) | / var(noise))

where mean(a) and mean(b) are the average values of two different regions (contrast) and var(noise) is variance of the noise.

1 Like

Hi @stelfrich, I was trying the SNR plugin, but I’ve got different results when comparing to the scikit-image peak_signal_noise_ratio function.

Apparently, the code works fine in square images, where width = height, but I’ve got different results with non-square images. Changing lines 397 and 398 of the code to for (int y=0; y<ny; y++) and for (int x=0; x<nx; x++) may solve this issue.