# Optical modulation transfer function of an image and its cutoff

chis54
I have an image taken with a camera. I know the f/#, focal length, CCD characteristics, and an approximate distance to my scene. I computed the modulation transfer function but I am trying to map the pixel space to cy/m and having trouble. I essentially want to determine the cutoff spatial frequency. Any tips on how to do this?

## Answers and Replies

voko
The limitation on the spatial frequency will be set either by the diffraction limit of the lens (see the Raleigh criterion) or by the Nyquist frequency of the sensor. You should be able to compute those given the data you have.

chis54
The limitation on the spatial frequency will be set either by the diffraction limit of the lens (see the Raleigh criterion) or by the Nyquist frequency of the sensor. You should be able to compute those given the data you have.

My image is 1024x1024 and after computing the MTF, integrating it about theta from 0 to 2pi, I have a plot from 0 to 512 in pixels on my x-axis. I think I divide my pixel value by my ccd pixel size and that will have my x-axis in cy/m. Am I thinking of that correctly?

voko
I don't understand what you are trying to accomplish. I understand what spatial frequency and cutoff spatial frequency are, but "mapping pixel space to cy/m" means nothing to me.

chis54
I don't understand what you are trying to accomplish. I understand what spatial frequency and cutoff spatial frequency are, but "mapping pixel space to cy/m" means nothing to me.

Just converting the x-axis from pixels to cylces/m

voko
The x-axis is the spatial frequency, correct? Then how come it is in pixels? Did you mean cycles/pixel?

chis54
The x-axis is the spatial frequency, correct? Then how come it is in pixels? Did you mean cycles/pixel?

yes, yes

Science Advisor
Education Advisor
I have an image taken with a camera. I know the f/#, focal length, CCD characteristics, and an approximate distance to my scene. I computed the modulation transfer function but I am trying to map the pixel space to cy/m and having trouble. I essentially want to determine the cutoff spatial frequency. Any tips on how to do this?

You can calculate the cutoff frequency directly (assuming diffraction-limited performance, etc.) with the information you already have- the entrance pupil diameter 'd' is given by the focal length and f/#, and the cutoff frequency for coherent imaging is f_c = d/(2*λ*f), where λ is the wavelength and f the focal length of the lens. For incoherent imaging, the cutoff frequency is twice that of coherent imaging.

Measuring the OTF directly from an image requires some care, but is straightforward. The procedure I use is to image a sharp edge (a sharp black-to-white transition) and differentiate the image to obtain the line spread function. The OTF (in one direction) is the Fourier transform of the LSF, but the specific frequency values (in 1/pixels) will scale with how many image pixels you used. Correct for that, and then knowing the pixel size, you can obtain the OTF in image space (in, for example, cycles/mm). If you then want the OTF in object space ('resolution limits'), you need to know the magnification of the lens.

Does this help?

chis54
You can calculate the cutoff frequency directly (assuming diffraction-limited performance, etc.) with the information you already have- the entrance pupil diameter 'd' is given by the focal length and f/#, and the cutoff frequency for coherent imaging is f_c = d/(2*λ*f), where λ is the wavelength and f the focal length of the lens. For incoherent imaging, the cutoff frequency is twice that of coherent imaging.

Measuring the OTF directly from an image requires some care, but is straightforward. The procedure I use is to image a sharp edge (a sharp black-to-white transition) and differentiate the image to obtain the line spread function. The OTF (in one direction) is the Fourier transform of the LSF, but the specific frequency values (in 1/pixels) will scale with how many image pixels you used. Correct for that, and then knowing the pixel size, you can obtain the OTF in image space (in, for example, cycles/mm). If you then want the OTF in object space ('resolution limits'), you need to know the magnification of the lens.

Does this help?

Yes, thank you

mickybob
You can calculate the cutoff frequency directly (assuming diffraction-limited performance, etc.) with the information you already have- the entrance pupil diameter 'd' is given by the focal length and f/#, and the cutoff frequency for coherent imaging is f_c = d/(2*λ*f), where λ is the wavelength and f the focal length of the lens. For incoherent imaging, the cutoff frequency is twice that of coherent imaging.

Measuring the OTF directly from an image requires some care, but is straightforward. The procedure I use is to image a sharp edge (a sharp black-to-white transition) and differentiate the image to obtain the line spread function. The OTF (in one direction) is the Fourier transform of the LSF, but the specific frequency values (in 1/pixels) will scale with how many image pixels you used. Correct for that, and then knowing the pixel size, you can obtain the OTF in image space (in, for example, cycles/mm). If you then want the OTF in object space ('resolution limits'), you need to know the magnification of the lens.

Does this help?

Presumably that only works if your OTF dominates over the effects of the pixel size, otherwise you'll be making a non-stationary measurement of the pixel transfer function.

To get the true pre-sampling OTF you need to tilt the edge and interpolate.

Science Advisor
Education Advisor
Presumably that only works if your OTF dominates over the effects of the pixel size, otherwise you'll be making a non-stationary measurement of the pixel transfer function.

To get the true pre-sampling OTF you need to tilt the edge and interpolate.

To be sure, there are a lot of subtleties I glossed over- the point spread function may vary over the field of view, there may be aliasing due to the spatial frequencies of the sampling, etc. etc.