QSI  Home Page

Create FFTs
of CCD Read Noise Frames

Create FFTs of Your Read Noise Frames

Intro   l    Measure   l    Interpret FFTs   l    Noise FFTs   l    Your Camera   l    Create FFTs   l    Summary

Creating FFTs

Digital image processing programs, such as Photoshop, use Fourier transforms internally to perform certain image processing functions, such as Sharpen, Blur and high and low band pass filters.  Few general purpose programs, however, show you the intermediate Fourier transforms.  Luckily there are a few readily available programs that will allow you to produce FFTs of your own images.

All the FFTs and inverse FFTs used in these examples were created with free programs easily downloadable from the Internet.  Some FFT tools work better than others for certain functions. 

There are numerous commercial programs that can create Fourier transforms of image files.  Perhaps most well known in the astronomical imaging community is AIP4WIN, which comes on a CD as part of the Handbook of Astronomical Image Processing by Richard Berry and James Burnell.  The book provides an excellent in depth guide to digital image processing techniques as they relate to night sky imaging.  AIP4WIN includes many powerful image processing tools in addition to creating 2D Fourier transforms.  Read more about the book and software on the publisher’s web site: http://www.willbell.com/aip/index.htm

If you’re a programmer and want to experiment with writing your own image processing programs, FFT source code is widely available.  The most widely referenced code is a C subroutine library called FFTW.  Download FFTW here: http://www.fftw.org/

The FFT examples below use ImageJ.  ImageJ is a Java program originally created by the National Institutes of Health.  The entire program, including its source code, was subsequently placed in the public domain.  ImageJ runs on any machine that supports Java including Windows, Macs and computers running Unix or Linux.  ImageJ can take a little getting used to because it works a bit differently than most popular image processing programs. Unless you’re already familiar with another program that produces 2D FFTs from an image file, we recommend that you download and install ImageJ to produce the FFTs.  It’s free and reasonably easy to use.

Using ImageJ to create FFTs

The FFT images on these pages were created using ImageJ.  There are numerous ways to create FFTs but we selected ImageJ for these examples because it works well, supports all popular computing platforms, reads FITS files directly and, perhaps most importantly, it’s free for anyone to download and run. FITS files (Flexible Image Transport System) are the native file format used by most astroimaging programs including MaxIm LE and MaxIm DL by Diffraction Limited and CCDSoft by Software Bisque.

Download ImageJ here:            http://rsb.info.nih.gov/ij/download.html
ImageJ home page:                   http://rsb.info.nih.gov/ij/

Click on the “Download” link above then follow the instructions on the web site to download and run the installer for your computing platform.  The instructions and screen shots below are for Windows XP.

Open the Read Noise Frame in ImageJ

Launch ImageJ by double-clicking on the ImageJ icon on your desktop or by selecting ImageJ from the Start menu.

Open the read noise frame in ImageJ by dragging the file icon on top of the ImageJ toolbar window or by selecting Open… from the File menu and navigating to the file you wish to open.

Create an FFT of Your Read Noise Frame

Your screen should look something like this.  The ImageJ menu bar window and the read noise frame windows should both be open.  With the file open in ImageJ, you’re ready to create the FFT. 

Warning: ImageJ allows you to create FFTs of your original, uncropped image file; however, the results may not be what you expect. To create an FFT of an arbitrary sized file, ImageJ has to scale or expand the original image to create a square with sides equal to a power of 2.  In our testing, the FFTs created from uncropped bias frames showed patterns in the FFTs that are not present in the original image.  We recommend always starting with a square image file where each side has a length equal to a power of 2.

Select the window of the read noise frame to make it the active window.  Select “FFT>FFT” from the Process menu.

ImageJ >Process>FFT>FFT

The FFT command opens a new window the same size as your original image containing the FFT of your
read noise frame.

ImageJ Noise Frame FFT

Note that ImageJ displays a compressed 8-bit “power spectrum” image of the FFT.  The full 32-bit floating point frequency domain image is stored in memory attached to the displayed power spectrum image.  This is not optimal for subsequent manual processing of the FFT but it's fine for our purpose of visually interpreting any patterns visible in the FFT.  That’s it! 

Using your FFT interpretation skills, you can now examine the FFT of your read noise frame to determine the scope of any pattern noise that is being introduced while reading the image from the CCD in your camera.

If you’re interested in comparing the bias frames, read noise frames and FFTs from your existing camera with those from a QSI camera, continue to the Summary page where you can download the original QSI bias frames displayed on these pages, plus the calculated read noise frames and FFT results.

Continue to CCD Read Noise Summary >>

 Shopping Help
 Privacy Policy
 Terms of Use
 Contact QSI
Copyright © Quantum Scientific Imaging. All Rights Reserved. Part of the SDI Group.