I am in high-school and planning on basing a research essay on the topic of Fourier Optics. I was looking at the derivations behind the Fourier transform and the fact that the Fourier transform of the aperture function is the diffraction pattern in Fraunhofer diffraction.

I then starting looking into the 4f correlator and how it can be used to filter out parts of the image.

I was wondering if there would be an easy application of the 4f system that I could perform and base my essay on.

I was thinking of comparing the optical Fourier transform (analytical approach) with the fast Fourier transform (numerical approach) for a specific transparent image in which different diffraction gratings are used to filter out parts of the images.

First, I want to make sure I am understanding everything right: for optical Fourier transform I would put a masking filter (diffraction grating in my case) in the focal plane (which I would have to do a calculation to find where it is located depending on the lens) and it would filter/modify the image. Then I would take a photo of the resulting modified image.

How would I do the same process using FFT? I know I would need to take the 2d FFT of the original image to see if it produces similar results but how would I filter/modify it in the same way that was done in the 4f system with optical Fourier transform?

Also what kind of software would I need to perform the FT and is there any other way that this can be simulated using MATLAB for example?

Is what I am thinking something that is possible to do in high-school lab conditions? Or does anyone have any better ideas of an experiment that could be done regarding the 4f system (preferably something with a useful application that would make the experiment worth doing)?

Any help would be greatly appreciated.


2 Answers 2


I would recommend you to look at the two textbooks: https://www.amazon.com/Fundamentals-Photonics-Bahaa-Saleh/dp/0471358320 and https://www.amazon.com/Introduction-Fourier-Optics-Joseph-Goodman/dp/0974707724. These sources have the derivations you ask for.

If you have a good grasp of the Fourier Transform then your project sounds like a very nice one.

The basic idea is that a lens has the special property that the complex optical field distance $f$ to the left of the lens is the Fourier transform of the complex optical field distance $f$ to the right of the lens. Note that this special property only holds for these two special planes, the front and back focal planes.

The idea of a 4f imaging system is that if you have an object at location $z=0$, a lens $f$ away at location $z = f$ then at $z=2f$ you will see the Fourier transform of the object (note that if you put a screen here you will see the magnitude of the Fourier transform because you aren't measuring the complex phase). If you put another lens $f$ away from this Fourier plane ($2f$) from the first lens then distance $f$ on the other side will be the Fourier transform of the Fourier plane. Performing the Fourier transform twice gives you back the original image (with a parity inversion).

Putting a mask in the Fourier plane corresponds to modifying the Fourier transform of your object. Depending on the type of mask you will see different effects in the output of the $4f$ system and you could explore what happens for different masks. For example, you suggest a grating. You could also consider holes in sheets and disks of varying radii.

Matlab has built in functions where you can take the 2D Fourier transform of an input array (representing your image). Python does as well and is open source.

  • $\begingroup$ I like the book from Godman very much, however, I don't think it is appropriate for a high school student. It approaches the subject in a rather mathematical manner. $\endgroup$
    – Semoi
    Apr 11, 2020 at 22:18
  • $\begingroup$ Thanks for the response. When dealing with the FFT numerical approach I was wondering about how I can apply the same filter that was applied in the optical FT. For example I know that the FFT of the image must be taken and then the iFFT but how would I apply the same mask in between steps as what was done in the experiment in order to get the modified image back? $\endgroup$ Apr 12, 2020 at 1:36
  • $\begingroup$ @AlexanderIvanov You will have one 2D data array representing the FFT of the image. You can create another 2D array representing the mask. If the mask is such that it completely blocks light in certain areas but passes it in other then this mask will be all zeros or ones. Then multiply the image FFT array by the mask array before taking the iFFT. $\endgroup$
    – Jagerber48
    Apr 12, 2020 at 2:22

One interesting application of a 4f correlator is target identification. Let’s say that you want to identify a target in a non-controlled environment. The target can be as diverse as an enemy tank, a bacterium, or a security mark on a credit card. Your mask will be the Fourier transform of that target. You can then create that mask using a lithographic method or a mathematical matrix. On your input plane, you can have your real-life scenes. It can be a flow of liquids where you want to detect your bacteria, the satellite image on enemy territory, or a user scanning an access card. By passing your real-life system through a 4f system, the Fourier transform of your image will interact with your target-mask at the Fourier plane and create a specific response where there is a match.

If you want a more in-depth look at 4f, check this blog article. https://www.opticsforhire.com/blog/4f-optical-system-fourier-optics

John and Viktor


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.