This document describes the basics of reducing the simplest of CCD data: monochrome or unfiltered images.

Review the pipeline process first.

Before following this thread, you need to have taken flats and darks. A set of flats is needed for every filter used. For every exposure duration of the flats, you need a set of darks. The flats should already been processed. Review the Processing Flats thread.

For this thread, I have the following files:
Dark-200s-1.fits
Dark-200s-2.fits
Dark-200s-3.fits
NGC7217-200s-V-1.fits
NGC7217-200s-V-2.fits
NGC7217-200s-V-3.fits
Flat-V.fits

Here's a quick overview of the process.

  1. Read in the darks frames for the exposure. The darks' exposure must be the same as the image frames.
  2. Median the darks to produce a single dark.
  3. Read in each of the image frames.
  4. Subtract the medianed dark produced in step 2 from each of the image frames.
  5. Read in the flat.
  6. Normalize each image frames by the flat.
  7. Register the images. I.e., find the transformation required to align the objects in the frames.
  8. Remove the sky component approximately.
  9. Scale the images for variations in sky transparency.
  10. Median the balanced images.
  11. Write the medianed image to file.

The tricky steps are 7, 8, and 9. See Step 7, Step 8, and Step 9 for more details.

The processing can be done in a number of ways. You can use IRAF, ftools, or many popular commercial and free packages.

I suggest using Matlab. It is perhaps not the easiest, but it is the least 'black-boxed'.

Download the Matlab script, ProcessMonochrome.m.

ProcessMonochrome.m should be treated as a guide. At the least, you need to edit the first few lines of the file.

Running the script in Matlab will produce the following file:
NGC7217_V.fits


Step 7 in detail: Registering the images

The telescope cannot track the objects exactly. There will be drift due to atmospheric refraction. Hence the positions of objects will not be the same in each image. There will be a drift.

Determining the location of the same object in different frames and hence the transformation required to align the frames is called registration.

The transformation is made easier since there is no rotation of the frame from one exposure to the next. A simple shift in x and y is required.

The shift is found by finding the location of the same star in each frame. You need to find a star visible in all the frames and provide a range in x and y that encloses the star on all frames.

Open a frame (NGC7217-200s-V-1.fits for example) with ds9 (Fig. 1)

Figure 1 (click to examine in detail)
A ds9 window showing the star selected for registering the images. The bright star the the left is saturated, and hence not a good candidate. The coordinates of the lower-left corner are (130,295) and the upper-right are (160,325).

Edit the script ProcessMonochrome.m, using the coordinates of the box surrounding the star to set the variables StarFramex and StarFramey as follows:
% The position from which to extract an image
% Remember that x is the second index!
StarFramex=[130:160];
StarFramey=[295:325];

The script itself extracts a subframe from each frame for the region selected. It then fits a 2-D Gaussian to the star in each subframe, which gives a best-fit position of the centroid.

There are other ways to find the centroid from the subframe, like using the counts as a probability, and finding the most probable x and y.

Step 8 in detail: Removing the sky component

The contribution of the sky is subtracted by fitting a 1st order 2-D polynomial to regions of the frame without any stars or other features.

The source-free regions are estimated by creating a mask that iteratively removes regions of the frame that are more than 2 sigma from the mean. It stops when there are no unmasked regions that are more than 2 sigma from the mean.

Caveat: For a broad diffuse object, creation of the mask mail not mask out the object entirely.

Step 9 in detail: Scaling the images due to variation in sky transparency

If high thin cloud passes over your object while taking an exposure, then it will diminish the signal from your object.

Compensation is done by finding the mean for all pixels in the sky-subtracted frame that are > 10 sigma above the sky. Each frame is normalized to have the same mean as the first frame.