|focal length||field of view|
|Fish eye||» 180°|
The alternative approach is to take a series of pictures over the course of a year (possibly from different locations in order to capture both the northern and southern parts of the Milky Way), and later assemble them to a big panorama.
Let us look at a specific example to analyze the problems we are facing when combining several wide-angle pictures into a mosaic. Figure 1 shows two images of the Milky Way in the region between Canis Major and Crux with a generous overlap. The enlargements of the rectangular regions around the open cluster NGC 3114 reveal that the image scale near the edge is about 10-15% larger than at the center. Obviously, with such a large variation in image scale, we cannot seamlessly merge the two images.
The non-uniform image scale is the result of the camera lens projecting the
celestial sphere onto planar film, as shown in Fig. 2.
The three stars are separated by equal angles in the sky, but their linear
separation in the film plane is larger for the pair that is further away
from the optical axis. If we denote the angle
between the star and the optical axis by s and the corresponding
distance by s, the mathematical relationship between the two
The celestial coordinates (L,B) are related to the pixel coordinates
(x,y) in the film plane through a unique mapping function F, i. e.
We already know the mapping function in one dimension (cf. Eq. (1)). Unfortunately, reality is more complex; to work out the equations for a 2-dimensional film plane we have to resort to spherical trigonometry.
Figure 4 shows a view of the sky through the film plane.
The position of the star is given by (xs, ys) in the film plane and
by its galactic longitude Ls and latitude Bs in the sky.
Likewise, the optical center is at (xc,yc) and (Lc,Bc),
If we connect both the star and the image center to the galactic pole
along lines of constant galactic longitude, we obtain a triangle where each
side is part of a so-called great circle, i. e. a circle with
the observer at its center. From a textbook on spherical trigonometry
we obtain the relations for the position angle a and the
angular distance s between the star and the optical axis:
Unfortunately we cannot start to plug numbers into Eqs. (3)-(6) right away, as they contain a number of parameters that we do not accurately know. First, the galactic coordinates (Lc, Bc) of the optical axis can be roughly estimated using a star atlas, but for our purposes we need more precise numbers. Next, we need the position (xc, yc) of the optical image center on the film. It is not safe to assume that it coincides with the physical image center, since the image may have been shifted in the scanning process. Finally, we need accurate numbers for the focal length f of the camera lens and the camera rotation angle b.
The standard technique to determine the six parameters
(Lc, Bc, xc, yc, f, b) is by means of a
least squares fit. It is beyond the scope of
this article to give a detailed introduction into least squares fitting
procedures, but the basic idea is easily explained.
As a first step, we pick n reference stars, where n is equal or greater
than the number of parameters we try to determine, and
measure their film and celestial coordinates (xi, yi,Li, Bi), i = 1¼n.
We also need a reasonably good initial guess for each parameter.
With these initial values, we transform the (Li, Bi) coordinates of our
reference stars into film coordinates ([^(x)]i, [^(y)]i).
The distance si between the computed and actual position of a reference star is
Are we finally done? Not quite yet - our algorithm assumes a perfect
lens, free of pincushion or barrel distortion, whereas most wide-angle lenses
show at least moderate distortions. Other factors that may further distort
the image are film shrinkage during processing and atmospheric refraction.
A test calculation using an image taken with a 28 mm wide-angle lens
and digitized to a size of 1500×1000 pixels
showed an average error between the computed and actual film coordinates
of 4 pixels, which is big enough to prevent accurate registration of the
images. The quick remedy is to ``warp'' (or rather, de-warp) the image with
a third-order polynomial transform, i. e.
The complete algorithm has been coded into a PASCAL program which takes as input file a list containing the pixel coordinates, right ascension and declination of the reference stars as well as some parameters specifying the size of the transformed image. Conversion between equatorial (right ascension/declination) and galactic coordinates is done automatically.
As described in section 3, the native map projection of the final image is a cylindrical equidistant projection. While allowing easy stitching of the individual frames, this projection has the disadvantage of showing substantial distortions in the form of elongated stars near the galactic poles. Therefore, two new versions of the image were created: A galacticAitoff projection and an azimuthal equidistant projection with two separate images for the northern and southern hemisphere.
The All-Sky panorama images can be seen at
http://home.arcor-online.de/axel.mellinger/allsky.htmlIn addition, articles on the image have been published in several magazines[3,4,5,6]
|1||Sco - Sgr - Sct||28||1997-07-06||07:31 - 08:00||Kodak PJM 2||1|
|2||CMa - Pup - Vel||28||1998-03-25||20:04 - 20:44||Kodak PJM 2||3|
|3||Vel - Cru - Car||28||1998-03-28||01:13 - 01:53||Kodak PJM 2||3|
|4||Sco - Cen||28||1998-03-28||02:25 - 03:00||Kodak PJM 2||3|
|5||CMa - Pup - Vel||28||1998-03-29||20:42 - 21:22||Kodak PJM 2||3|
|6||Sco - Sgr - Sct||28||1998-03-30||02:13 - 02:53||Kodak PJM 2||3|
|7||Sct - Lyr||28||1998-09-16||04:50 - 05:35||Kodak PJM 2||2|
|8||Cas - Aur||28||1998-09-16||08:27 - 09:12||Kodak PJM 2||2|
|9||Lyr - Cep - Cas||28||1998-09-17||04:59 - 05:44||Kodak PJM 2||2|
|10||Aql - Del - Aqr||28||1998-09-16||07:31 - 08:16||Kodak PJM 2||2|
|11||UMi - Aur||28||1998-09-16||09:19 - 11:00||Kodak PJM 2||2|
|12||Equ - Peg - And||28||1998-09-17||05:50 - 06:35||Kodak PJM 2||2|
|13||Aur - Ori - Mon||28||1998-09-17||09:34 - 10:19||Kodak PJM 2||2|
|14||Mon - CMa||28||1998-09-17||11:00 - 11:30||Kodak PJM 2||2|
|15||Aur - CMa||28||1998-09-19||11:42 - 12:22||Kodak PJM 2||2|
|16||Oph - Lyr||28||1998-09-16||05:44 - 06:29||Kodak PJM 2||2|
|17||Lyr - UMi||28||1998-09-16||06:37 - 07:22||Kodak PJM 2||2|
|18||And - Ari||28||1998-09-17||07:32 - 08:17||Kodak PJM 2||2|
|19||Aqr - Ari||28||1998-09-19||06:46 - 07:31||Kodak PJM 2||2|
|20||PsA - Cet||28||1998-09-19||07:38 - 08:23||Kodak PJM 2||2|
|21||Sgr - PsA||28||1998-09-19||03:37 - 04:22||Kodak PJM 2||2|
|22||Cet - Ori||28||1998-09-19||09:40 - 10:25||Kodak PJM 2||2|
|23||Cet - Lep||28||1998-09-19||10:31 - 11:16||Kodak PJM 2||2|
|24||Gem - Aur||28||1999-01-19||20:30 - 21:00||Kodak PJM 2||7|
|25||CMa - Pup - CMi||28||1999-01-19||21:30 - 21:56||Kodak PJM 2||7|
|26||Leo - Hya - Sex||28||1999-04-18||20:43 - 21:11||Kodak PJM 2||8|
|27||Leo - LMi||28||1999-04-18||21:17 - 21:45||Kodak PJM 2||8|
|28||Leo - LMi - UMa||28||1999-04-18||21:55 - 22:23||Kodak PJM 2||8|
|29||Leo - LMi - UMa||28||1999-04-19||21:31 - 22:04||Kodak PJM 2||8|
|30||Vir - Crv||28||1999-04-19||22:10 - 22:40||Kodak PJM 2||8|
|31||Leo - UMa||28||1999-04-19||22:59 - 23:27||Kodak PJM 2||8|
|32||Boo - Oph - Sco||28||1999-04-19||23:40 - 00:05||Kodak PJM 2||8|
|33||Sco - Sgr||28||1997-07-04||21:52 - 22:42||Kodak PJM 2||1|
|34||Sco - Sgr||28||1999-10-05||19:44 - 20:20||Kodak PJM 2||4|
|35||Sco - Cen||28||1999-10-06||18:06 - 18:47||Kodak PJM 2||4|
|36||Sco - Oph||28||1999-10-06||18:59 - 19:22||Kodak PJM 2||4|
|37||Pav - Tuc||28||1999-10-08||21:11 - 21:51||Kodak PJM 2||3|
|38||CMa - Car||28||1999-10-09||02:27 - 03:02||Kodak PJM 2||3|
|39||Pup - Vel - Cen||28||1999-10-10||02:30 - 02:57||Kodak PJM 2||3|
|40||PsA - Eri||28||1999-10-09||19:18 - 19:58||Kodak PJM 2||3|
|41||Cet - Eri||28||1999-10-09||20:07 - 20:47||Kodak PJM 2||3|
|42||Eri - Tuc - Car||28||1999-10-08||22:01 - 22:33||Kodak PJM 2||3|
|43||Mon - CMi - Cnc||28||2000-01-02||08:44 - 09:22||Kodak PJ 400||6|
|44||UMa||28||2000-01-02||10:10 - 10:50||Kodak PJ 400||6|
|45||Leo - Com - Boo||28||2000-04-02||21:14 - 21:59||Kodak PJ 400||3|
|46||Vir - Crv||28||2000-04-02||22:10 - 22:55||Kodak PJ 400||3|
|47||Boo - CrB||28||2000-04-02||23:04 - 23:49||Kodak PJ 400||3|
|48||Cen||28||2000-04-06||00:28 - 01:13||Kodak PJ 400||5|
|49||Sco - Boo||28||2000-04-06||01:30 - 02:15||Kodak PJ 400||5|
|50||UMa - Boo||28||2000-04-28||22:46 - 23:16||Kodak PJ 400||8|
|51||Oph||28||2000-04-28||23:20 - 23:45||Kodak PJ 400||8|