GNU Astronomy Utilities

2.8.5 Pointings that account for sky curvature

In Larger steps sizes for better calibration, we saw how a small loss in surface brightness limit can allow better calibration and even a larger area. Let’s extend this by setting step_arcmin=40 (almost half the width of the detector) inside your script (see Script with pointing simulation steps so far). After running the script with this change, take a look at build/deep.fits:

$ astscript-fits-view build/deep.fits --ds9scale=minmax

You will see that the region with 5 exposure depth is a horizontally elongated rectangle now! Also, the vertical component of the cross with four exposures is much thicker than the horizontal component! Where does this asymmetry come from? All the steps in our pointing strategy had the same (fixed) size of 40 arc minutes.

This happens because the same change in RA and Dec (defined on the curvature of a sphere) will result in different absolute changes on the equator. To visually see this, let’s look at the pointing positions in TOPCAT:

$ cat build/pointing.txt
# Column 1: RA  [deg, f64] Right Ascension
# Column 2: Dec [deg, f64] Declination
192.721250 41.120556
193.387917 41.120556
192.721250 41.787223
192.054583 41.120556
192.721250 40.453889

$ asttable build/pointing.txt -obuild/pointing.fits
$ astscript-fits-view build/pointing.fits

After TOPCAT opens, under the “graphics” window, select “Plane Plot”. In the newly opened window, click on the “Axes” item on the bottom-left list of items. Then activate the “Aspect lock” box so the vertical and horizontal axes have the same scaling. You will see what you expect from the numbers: we have a beautifully symmetric set of 5 points shaped like a ‘+’ sign.

Keep the previous window, and let’s go back to the original TOPCAT window. In the first TOPCAT window, click on “Graphics” again, but this time, select “Sky plot”. You will notice that the vertical component of the cross is now longer than the horizontal component! If you zoom-out (by scrolling your mouse over the plot) a lot, you will see that this is actually on the spherical surface of the sky! In other words, as you see here, on the sky, the horizontal points are closer to each other than the vertical points; causing a larger overlap between them, making the vertical overlap thicker in build/pointing.fits.

On the celestial sphere, only the declination is measured in degrees. In other words, the difference in declination of two points can be calculated only with their declination. However, except for points that are on the equator, differences in right ascension depend on the declination. Therefore, the origin of this problem is that we done the additions and subtractions for defining the pointing points in a flat space: based on the step size in arc minutes that was applied similarly on RA and Dec (in Preparing input and generating exposure map).

To fix this problem, we need to convert our points from the flat RA/Dec into the spherical RA/Dec. In the FITS standard, we have the “World Coordinate System” (WCS) that defines this type of conversion, using pre-defined projections in the CTYPEi keyword (short for for “Coordinate TYPE in dimension i”). Let’s have a look at the stack to see the default projection of our final stack:

$ astfits build/stack.fits -h1 | grep CTYPE
CTYPE1  = 'RA---TAN'           / Right ascension, gnomonic projection
CTYPE2  = 'DEC--TAN'           / Declination, gnomonic projection

We therefore see that the default projection of our final stack is the TAN (short for “tangential”) projection, which is more formally known as the Gnomonic projection. This is the most commonly used projection in optical astronomy. Now that we know the final projection, we can do this conversion using Table’s column arithmetic operator eq-j2000-from-flat like below:

$ pointingcat=build/pointing.txt
$ pointingonsky=build/pointing-on-sky.fits
$ asttable $pointingcat --output=$pointingonsky \
           -c'arith RA          set-r \
                    DEC         set-d \
                    r meanvalue set-ref-r \
                    d meanvalue set-ref-d \
                    r d ref-r ref-d TAN eq-j2000-from-flat' \
           --colmetadata=1,RA,deg,"Right ascension" \

$ astscript-fits-view build/pointing-on-sky.fits

Here is a break-down of the first command above: to do the flat-to-sky conversion, we need a reference point (where the two are equal). We have used the mean RA and mean Dec (through the meanvalue operator in Arithmetic) as our reference point (which are placed in the ref-r and red-d variables. After calling the eq-j2000-from-flat operator, we have just added metadata to the two columns.

To confirm that this operator done the job correctly, after the second command above, repeat the same experiment as before with TOPCAT (where you viewed the pointing positions on a flat and spherical coordinate system). You will see that indeed, on the sphere you have a ‘+’ shape, but on the flat plot, it looks stretched.

Script update 1: you should now add the pointingonsky definition and the asttable command above into the script of Script with pointing simulation steps so far. They should be placed before the call to astscript-pointing-simulate. Also, in the call to astscript-pointing-simulate, $pointingcat should be replaced with $pointingonsky (so it doesn’t use the flat RA, Dec pointings).

After implementing this change in your script and running it, open deep.fits and you will see that the widths of both the horizontal and vertical regions are much more similar. The top of the vertical overlap is slightly wider than the bottom, but that is something you can’t fix by just pointing (your camera’s field of view is fixed on the sky!). It can be correctly by slightly rotating some of the exposures, but that will result in different PSFs from one exposure to another; and this can cause more important problems for your final science.

Plotting the spherical RA and Dec in your papers: The inverse of the eq-j2000-from-flat operator above is the eq-j2000-to-flat. eq-j2000-to-flat can be used when you want to plot a set points with spherical RA and Dec in a paper. When the minimum and maximum RA and Dec differ by larger than half a degree, you’ll clearly see the difference. For more, see the description of these operators in Column arithmetic.

Try to slightly increase step_arcmin to make the cross-like region with 4 exposures as thin as possible. For example, set it to step_arcmin=42. When you open deep.fits, you will see that the depth across this image is almost contiguous (which is another positive factor!). Try increasing it to 43 arc minutes to see that the central cross will become almost fully NaN in deep.fits (which is bad!).

You will notice that the vertical region of 4 exposure depth is thinner in the bottom than on the top. This is due to the RA/Dec change above, but across the width of the image. We can’t therefore change this by just changing the position of the pointings, we need to rotate some of the exposures if we want it to be removed. But rotation is not yet implemented in this script.

You can construct any complex pointing pattern (with more than 5 points and in any shape) based on the logic and reasoning above to help extract the most science from the valuable telescope time that you will be getting. Since the output is a FITS file, you can easily download another FITS file of your target, open it with DS9 (and “lock” the “WCS”) with the stack produced by this simulation to make sure that the deep parts correspond to the area of interest for your science case.

Factors like the optimal exposure time are also critical for the final result76, but is was beyond the scope of this tutorial. One relevant factor however is the effect of vignetting: the pixels on the outer extremes of the field of view that are not exposed to light and should be removed from your final stack. They effect your pointing pattern: by decreasing your total area, they act like a larger spacing between your points, causing similar shallow crosses as you saw when you set step_arcmin to 43 arc minutes. In Accounting for non-exposed pixels, we will show how this can be done within the same test concept that we done here.



The exposure time will determine the Signal-to-noise ration on a single exposure level.