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.
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
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)
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.
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.
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.