Author: Michael Richmond Date: 960126 Revision: #1 960206 Key Words: CCD, astrometry, observation, stars
This note contains my conclusions after looking at a set of 5 images of the same region of the sky, the Orion region, taken during January, 1996, with the TASS Mark III camera. There are some pictures and graphs in the document, so you may want to turn off automatic image loading.
Here are some basic properties of the five images I considered. Each field is centered around the stars of Orion's belt, near RA = 5h35m, Dec = -2, and is roughly 3x3 degrees in size.
image date filter weather moon notes -------------------------------------------------------------------------- orion2 Jan 9 V clear up, 4 days past full gain ~ 1.5 e-/ADU orion3 Jan 13 V clear down gain increased orion4 Jan 15 V clouds down orion5 Jan 19 V thin clouds down orion6 Jan 21 V incr. clouds down
I looked at the values of pixels in rows 0-6, several of which are covered by metal and so ought to be good measurements of the dark value. I measured the mean inside each column, excluding the first and last 10 rows.
column
0 1 2 3 4 5 6 stdev
-------------------------------------------------------------------------
orion2 4078 -22785 -25783 -24711 -14383 -14216 -14100 31
orion3 -22009 -28100 -28781 -28540 -24050 -26144 -26015 13
orion4 -15027 -27216 -28580 -27973 -22837 -22438 -22341 44
orion5 -22124 -28115 -28781 -28524 -26281 -26145 -26173 37
orion6 -20938 -27969 -28752 -28445 -25749 -25525 -25449 19
This tells me that column 2 is the lowest column, consistently.
I therefore chose to use the mean of column 2 as the dark
value, subtracting a constant value from all image pixels.
I list the standard deviation of the pixels in column 2 in the
stdev column in the table above.
I noticed that most images had an obvious pattern which ran parallel to the scan direction (along columns).
I assumed that this was due to a change in sensitivity across the chip, and that it was multiplicative in nature. I created a flatfield vector for each image by finding the median value of each column. Thus, from an image with (800_rows_x_768_columns), I would create a (1_row_x_768_column) vector.
After I'd made them all, I compared them as a group. As expected, most of them showed a consistent pattern. In the plot below, I've normalized all vectors to have a mean value of 10,000, then offset them by 1,000 units in the vertical direction for clarity.
As my earlier analysis suggested, the Mark III camera has a variation of about 10-15 percent across its width, being least sensitive on the edge near column 0 (North), and most sensitive near its center.
I subtracted a constant dark value from the pixels in each image. Next, I formed a flatfield vector, as described above, and divided each row of the image by a normalized version of it. I used these clean images for all further processing.
Here's a clean image of the frame orion3 for reference. In this image, North is up, East to the left, just as on star charts. You can click on the image to get a full-size version.
The three bright stars in Orion's belt are marked with their designations (in Greek letters). I've also marked three other stars, as A, B, C. All coords are J2000.
star RA Dec V
---------------------------------
A 05:37:34.7 -01:25:20 6.92
B 05:35:12.7 -00:44:08 6.51
C 05:37:45.8 -00:46:42 7.01
The box at lower center will be used for a test in
the section on
limiting magnitude.
Normally, however, I display images with North at left, West at the top, so that scan lines run vertically.
When I tried to determine a sky value, I had problems. The trouble was that in several frames, the sky brightness changed signficantly over the exposure time, so that a single sky value could not be determined. If the sky brightness didn't change, as in the image orion3, then a histogram of pixel values looked like this:
This nice, gaussian-like shape is what one expects in astronomical images. However, several of the frames had much wider and less well-defined histograms. Here, for example, is that of orion6:
These variations are almost certainly due to changes in the cloud cover over Tom's backyard.
I decided to ignore those frames with widely-varying sky values, and choose the 3 best. For each, I estimated the sky value and the width of a fitted gaussian.
image sky sky sigma comments --------------------------------------------------- orion2 12791 121 orion3 2756 22 orion5 2499 50 not really gaussian
I examined the shape of stars in each frame, using a azimuthally-averaged profile to fit a 1-D gaussian to each star. I only looked a couple of stars on each frame, and didn't check for variation in the shape across the image. Here are my results -- the ellipticities and position angles are very rough estimates.
image FWHM ellip PA -------------------------------- orion2 2.5 pix 0.40 90 deg orion3 2.6 0.35 40 orion4 2.5 0.25 35 orion5 2.9 0.20 15 orion6 2.7 0.25 20
The position angles are measured relative to North/South. Thus, if a star is elongated in the scan direction, East/West, it would have PA = 90 degrees. It looks like Tom fixed up the scan rate after orion2 was taken.
Overall, the PSF is rather elongated, compared to most astronomical images I've taken. That's not too surprising, considering the early stages of development, and I don't worry about it.
I tried to measure the gain, in electrons per ADU, by the following method. In each clean image, I chose a set of 10 or so areas, all near the same row number (so all taken at roughly the same time), and placed a 20x20 pixel box down in a region empty of stars. I meausured the mean and standard deviation of pixel values in the box. Now, if all the noise were contributed by Poisson statistics in photons arriving from the sky, we would expect
stdev (# photons) = sqrt (# photons)
or
stdev (# electrons) = sqrt (# electrons)
However, the pixels contain ADUs, and there's a conversion factor k, the gain, such that
# electrons = k * # ADU
In this case, we expect that
stdev (# ADU) = sqrt (# ADU / k)
= 1/sqrt(k) * sqrt(# ADU)
Or, turning the equation around to solve for k,
k = # ADU / (stdev # ADU)^2 [equation 1]
Applying this method to each of the images, I found
name local mean local stdev k ------------------------------------------- orion2 12771 103 1.2 orion3 2746 24 4.8 orion4 7382 54 2.5 orion5 2548 24 4.4 orion6 3673 28 4.7
Now, Tom has said that he did modify the gain after orion2, increasing its value. Good -- that matches the results of my test. The values around k=4.5 aren't far from the value of k=5.4 which Tom describes in Technical Note 8. However, I should point out that Tom quotes in Technical Note 7. that the readnoise of the Mark III is around 15 ADU, which means that a large part of the "local stdev" I measured is, in fact, due to readout noise and not due to the Poisson distribution of incoming photons. Therefore, my analysis above is flawed, and can't provide the true results.
Instead, one would have to solve an equation like
stdev (# electrons) = sqrt (# electrons + readnoise*readnoise)
where readnoise is measured in electrons, or
stdev (# ADU) = sqrt (# ADU / k + [readnoise/k]^2)
In this case, the measured standard deviation is larger
than one would expect from the noise due to the mean sky level,
and therefore, if we used equation 1 above, we would
calculate an incorrectly small value for k.
Since the values I calculate above are indeed a bit smaller
than the electronics design predicts, I think that all
is well.
I used a relatively simple method to find stars in the clean images, one which
I hope someday to make the program, part of the XVista package that Dick Treffers and I have written, freely available.
I ran the program with the following values:
name # stars --------------------- orion2 647 orion3 824 orion4 462
Of course, fiddling with the many free parameters could change these numbers quite a bit. I discovered that there are many bright stars not picked up by my program, and also many faint, but clearly visible, stars. There's more work to be done here.
I believe that the fact that most of the images were rather elongated probably caused problems for my program. I will investigate possible fixes -- there are several ways to improve its performance.
Given a list of stellar positions, I ran another program to measure the amount of light inside circular apertures. The program used an annulus around each object to estimate a "local sky" value for it; the annulus had inner and outer radii of 15 and 25 pixels, respectively.
I used circular apertures of radii 3 and 6 pixels to calculate instrumental magnitudes. The figures below refer to the 3-pixel-radius magnitudes, unless otherwise noted.
The first thing I did was to try to match up the lists of stars produced from each of the three good images (orion2, orion3, orion5) with each other. I used a set of programs based on the algorithms described in a paper called "The Focas Automatic Catalog Matching Algorithms", by Valdes et al., published in PASP 107, 1119 (1995). When I wrote the code, I tried to avoid constructions that would prevent it from being ported simply to other environments. It possible that some of this code might become part of XVista (someday...).
My programs produced several results of interest. First, in order to cause the coordinates of objects from two images to match, one must (almost always) transform one set in some fashion. I assumed that the transformation could be written
x' = A + Bx + Cy y' = D + Ex + Fywhere (x,y) is the position of a star in one image, (x',y') is the position of the same star in another image, and A,B,C,D,E,F are all variables to be calculated by a matching program, Note that for a pair of images which have identical scales, but are simply shifted by 3 pixels in x and -5 pixels in y, we should find A=3, B=1, C=0, D=-5, E=0, F=1.
It is interesting to see how closely matched pairs of objects agree in their positions, and in their magnitudes. Finally, it's sometimes useful to consider the objects which didn't have any match in the other image.
Let me describe below the results of matching stars found in different images.
Comparing the stars in orion2 with those in orion3, I found
orion2: 647 stars
orion3: 824 stars
transform orion2 -> orion3:
A = -0.41 B = 1.011 C = -0.003
D = 177.23 E = -0.000 F = 1.001
430 matches
delta x = 0.09 +/- 0.65 pix (East-West)
delta y = 0.07 +/- 0.68 pix (North-South)
delta mag = -1.17 +/- 0.55 mag
As we expect, we find that the two images have the same scale, and are not rotated with respect to one another (note that B and F are both close to 1.0, and C and E are close to 0.0). The matches are good to about 2/3 of a pixel; this includes both centering errors and the coordinate transformation.
Comparing the stars in orion3 with those in orion5, I found
orion3: 824 stars
orion5: 462 stars
transform orion3 -> orion5:
A = 6.87 B = 0.997 C = -0.002
D = 2.81 E = -0.000 F = 0.999
405 matches
delta x = -0.10 +/- 0.70 pix (East-West)
delta y = 0.10 +/- 0.68 pix (North-South)
delta mag = -0.08 +/- 0.23 mag
These two images are nearly co-incident, differing by only a few pixels in each direction. The scatter in matched positions is again about 2/3 of a pixel. The scatter in magnitudes is much smaller in this pair of images, perhaps due to the lack of a full moon (and its large contribution to sky noise), perhaps due to the consistent gain value.
The next step was to compare my lists of stars against those in the Hubble Guide Star Catalog, which provides a good positional reference over the entire sky. It also contains V-band measurements for stars, although there has been some criticism of its photometry. I will claim that for current, and many future, uses of TASS, it is completely adequate.
Actually, for the tests described in this section, I used a slightly modified version of the very first edition of the GSC. Newer editions have fixed errors and included additional stars. In addition, I shrank the GSC drastically to make it fit onto a small disk, in the following way: I discarded all information except position and magnitude, and I slightly degraded the positions and magnitudes by binning them at roughly 1-arcsec and 0.1 mag intervals. Therefore, it's quite possible that people using more recent editions of the full GSC might reach slightly different conclusions than I did.
One further note on the "GSC" values: to ease comparison of star lists with entries from the GSC, I converted the positions of stars to positions relative to the plate center, in the following way. I choose a position near RA=5h35m, Dec=-2, and grabbed stars within a 2.8x2.8 degree box around it. There were a total of 2786 stars in the resulting catalog. Given the central position (ra0, dec0) for the field, I assigned to each star an "x" and "y" offset, where
x = (star_s.ra - ra0)*cos(star_s.dec*DEGTORAD)*3600.0;
y = (star_s.dec - dec0)*3600.0;
Thus, I squashed the spherical coordinates from the GSC
onto a plane, in a simple-minded manner. I would appreciate
learning a better way to do this.
For all tests with the GSC, I used the orion3 image, which seemed to be the best overall. Here's what I found after matching the two:
GSC: 2786 star
orion3: 824 stars
transform GSC -> orion3:
A = 332.73 B = 0.0724 C = 0.0003
D = 393.00 E = -0.0000 F = -0.0721
695 matches
delta x = 0.00 +/- 0.95 pix (East-West)
delta y = -0.03 +/- 0.77 pix (North-South)
delta mag = -4.08 +/- 0.76 mag
So, what do we learn? The coordinate systems are not
rotated (much) relative to each other, as one would
expect. The plate scale of Mark III images is
given by the coefficients B and F in the transformation:
1 pixel = 13.80 arcsec (East-West)
1 pixel = 13.87 arcsec (North-South)
I'm not sure at this point if the two values are
significantly different, or, if they are, why
they should be different. I can imagine several
reasons for a difference, but, at the moment, I'll
just pretend that they are the same (perhaps to within
the errors?), and conclude that the plate scale
of the Mark III images is about 13.85 arcsec/pixel.
It is gratifying to see that the scatter in positions is not very different from that derived from a pair of TASS images. The fact that the East-West positions have a larger error might be due to the elongated nature of the Mark III images. In any case, it seems possible to measure the position of an object in a Mark III frame to a precision of about
(0.8 pixels * 13.85 arcsec/pixel) ~ 11 arcsec
I have the feeling that I need to think harder about this process. Clearly, measuring positions will be very important for many TASS users, and a precision of only 11 arcseconds will not satisfy some of them. Is it possible that measuring the position of an object relative to N others with known positions will decrease the uncertainty by sqrt(N)? I'm not sure ... if someone could provide a good discussion of the issues, I'd appreciate it.
Using instrumental magnitudes measured through larger apertures (6 pixel radius, rather than 3 pixel radius) yielded a slightly larger scatter:
delta mag = -3.86 +/- 0.88 mag
This isn't too surprising, since many faint objects
provide little or no signal beyond 3-4 pixels
from their peak.
The tests above, in which I matched my hacked version of the GSC against orion3, yielded a set of matched GSC stars with the following magnitude distribution:
mag 6 7 8 9 10 11 12 13 14 15
-------------------------------------------------------
#stars 7 17 33 35 91 161 183 119 46 3
One way to define limiting magnitude
is as the magnitude at which only 50% of objects
are detected. The numbers above should
continue rising to mag=15, but stop rising quickly
around mag=12, and decrease at mag=13.
The distribution suggests to me that my program's
ability to find stars in the orion3 image
starts to decrease around mag=12, although
clearly it does pick up many fainter objects.
Mike Gutzwiller did a better job of matching stars and reports a deeper limiting magnitude: read his report in the Appendix II.
For more detailed tests, I selected a small region, one quarter of a square degree, defined by (J2000) coords
84.0 < RA (degrees) < 84.5 [ 5h36m < RA < 5h38m ]
-1.5 < Dec (degrees) < -2.0
and grabbed all the stars from a recent copy of the GSC
(not the hacked-up version I used above)
in that
area. I then picked a slightly larger sub-area in the image
orion3 and looked for stars with a lower threshold
the my previous seaches; here, I used skysig=22
and minsig=1.5. I found
382 stars in the GSC inside this area
113 stars in orion3 in a slightly larger area
After matching them up, I found a set of
39 matches
delta x = 0.4 +/- 1.0 pix
delta y = -0.1 +/- 0.6 pix
delta mag = -3.9 +/- 1.0 pix
And one can look at the number of GSC stars which were detected in the image as a function of magnitude:
mag 7 8 9 10 11 12 13 14 15
---------------------------------------------------------
# detected 3 2 3 2 9 14 4 0 2
# not detected 7 4 7 15 24 62 73 71 80
percent detected 30 33 30 12 27 18 5 0 2
As we have seen earlier, my software starts missing more stars
than usual around mag V=12, although certainly some objects
down to V=15 are detected. Certainly this could be due to
Now, let's compare the objects
set A: detected in the image, which appear in the GSC
set B: detected in the image, which don't appear in the GSC
set C: not detected in the image, but does appear in the GSC
Here are some pictures: each is a closeup of the orion3
image,
and I overlay it in turn with boxes at the positions of the
objects in each of the above sets.
Remember that I selected objects from the GSC inside
an area slightly smaller than the images, near its center.
The pictures are oriented to have North at top, East at left.
You can click on any picture to get a larger version of it.
Here is set A: detected in both image and GSC:
Here is set B: present in GSC, but not found in image.
Here is set C: detected in image, but not in GSC. Note that there are no such sources inside the central area which is covered by the GSC stars.
For those who might find it useful, I offer here a copy of my hacked-up version of the first edition of the Guide Star Catalog. It contains (a subset of?) the stars roughly within the area of the Orion images. All magnitudes have been rounded to 0.1, and all positions rounded to 0.1 seconds or 1.0 arcseconds. The final two columns provide my calculated offset from the center of the field, in arcseconds.
Beware -- it's large: 2795 lines and 189,560 bytes.
Click here to download the ASCII catalog for the Orion area.
The following is the text of a message posted to the TASS mailing list on Monday, Feb 5, 1996 by Mike Gutzwiller.
To all,
I've been working on processing the Orion images with some success in recognizing stars. First, thanks to Michael Richmond for making the subset of the Hubble GSC available for comparison with my data.
Most of my analysis was done with the orion3.dat image. To process the image I first "dark subtracted" the image using the average value under pixel 2 as other have used. I then created a "flat field" image and divided it into the "dark subtracted" image. This gave me an image with the following characteristics:
average sky background ~2500 ADU's
noise (1 sigma) ~30 ADU's
saturated peaks >20,000 ADU's
After examining several stars I determined the pixel scales in x and y and the zero point of the image in RA and Dec. I then created an average PSF for the stars by examining local maxima and their surroundings and then scaled the PSF so that the sum of the PSF was zero. I then created a star candidate list in the following way:
1) Start with any local maximum where the peak was at least 75
ADU's above the background.
2) I correlated the area around the peak with the scaled PSF. If
the correlation was good I kept the candidate.
3) I determined the x and y centroid of each peak and summed the
pixels under the PSF minus the local sky background. These
values were then transformed in RA, Dec, and magnitude using
scale factors I determined earlier.
The results when compared with the GSC are as follows:
Mag range GSC stars Stars found % Stars found < 11.0 199 197 99% 11.0 - 11.4 89 82 92% 11.5 - 11.9 115 113 98% 12.0 - 12.4 152 138 91% 12.5 - 12.9 203 189 93% 13.0 - 13.4 274 234 85% 13.5 - 13.9 347 215 62% 14.0 - 14.4 511 185 36% 14.5 - 14.9 656 103 16% >= 15.0 122 14 11%
A star was considered a match if it was within 5 seconds in RA, 65 arc-seconds in Dec and 1.5 magnitudes. The average sigmas seen were 1.8 seconds in RA, 24.2 arc-seconds in Dec and 0.58 magnitudes. There are certainly some systematics I haven't yet accounted for (particularly rotation which I am assuming to be zero.) but it looks like I am detecting stars well into mag 14.