What magic is this?

This answer to my question Astronomy detective question: what part of the sky are these photos of? What are a few of the stars? nails it, and the output (linked there) contains the following images along with a whole lot more information.

The images are analyzed by astrometry.net

How does it do what it does? If I understand correctly you can upload random star images with a wide variety of fields of view (from telescopes to cell phones) and random orientations and no further information, and it figures it out.

Is there a way to explain how the algorithm works with more detail than "a computer matches the dots to known stars"?

Related question about these cell phone images: Milky Way with a cell phone, how is this possible?

enter image description here

enter image description here enter image description here

enter image description here

  • 2
    $\begingroup$ Matching algorithms are pretty standard nowadays - what is it you hope to get as an answer? $\endgroup$ – Rory Alsop Oct 3 '19 at 16:27
  • $\begingroup$ @AtmosphericPrisonEscape thanks for the edit, while I kind-of like the sound of Astronetry I guess this isn't the right place to invent new random words $\endgroup$ – uhoh Oct 3 '19 at 16:37
  • 2
    $\begingroup$ If this is proprietary software, you may never know. If it's open source, then grab the source (and a bottle of your favorite spirits) and start reading. $\endgroup$ – Carl Witthoft Oct 3 '19 at 17:19
  • $\begingroup$ @JanDaggen the material may be irrelevant to you but not to everyone (and not to me). Thanks. $\endgroup$ – uhoh Oct 4 '19 at 1:48
  • $\begingroup$ @CarlWitthoft wrong! It's in Github! Python, open source, etc... $\endgroup$ – uhoh Oct 4 '19 at 1:52

Finding an astrometric solution from an image with Astrometry.net is usually called plate solving. As mentioned in the comments, it is based on pattern matching, using a large set of databases that are pre-computed for various field of view and plate (or pixel) scale. The ArXiv paper Astrometry.net: Blind astrometric calibration of arbitrary astronomical images provides some details of how it works. From their abstract ...

After robust source detection is performed in the input image, asterisms (sets of four or five stars) are geometrically hashed and compared to pre-indexed hashes to generate hypotheses about the astrometric calibration. A hypothesis is only accepted as true if it passes a Bayesian decision theory test against a null hypothesis.

The blind solution described in the paper is obtained directly from a photo without any additional input, but even a rough guess for the field of view can provide considerable speedup by narrowing the number of databases to be searched. Additional speedup is possible if the scale (arcsec/pixel), FOV and approximate coordinates in the sky are provided.

Astrometry.net code and databases can also be downloaded and run locally on unix/linux computers, and on Windows using Cygwin. There are several other plate solvers available, often included with, or designed to interface with, software that controls a telescope, mount, camera, etc. for astrophotography.

Edit: Some additional info related to the comments.

In finding a solution, they must deal with imperfections of real images, including defects, optical and atmospheric distortion, etc. along with small positional changes of stars. Roughly speaking, they obtain a solution by using a best fit to several asterisms, each containing a small number of stars.

Noise in the image and distortion caused by the atmosphere and telescope optics lead to noise in the measured positions of stars in the image. In general this noise causes the stars in a quad to move slightly with respect to each other, which yields small changes in the hash code (i.e., position in code space) of the quad. Therefore, we must always match the image hash code with a neighborhood of hash codes in the index.

Also, they are able to ignore defects and moving objects like planets, asteroids, etc. in finding matches.

However, we also know that some fraction of the stars in the query image will have no counterpart in the index, due to occlusions or artifacts in the images, errors in star detection or localization, differences in the spectral bandpass, or because the query image "star" is actually a planet, satellite, comet, or some other non-star, non-galaxy object. True stars can be lost, and false stars can be added. Our foreground model is therefore a mixture of a uniform probability that a star will be found anywhere in the image--a query star that has no counterpart in the index--plus a blob of probability around each star in the index, where the size of the blob is determined by the combined positional variances of the index and query stars.

Their goal was not to achieve high astrometric precision.

There are several automated calibration systems that refine the astrometric calibration of an image to produce a high-precision alignment to a reference catalog given a good first guess (for example, Valdes et al. 1995; Mink 2006; Bertin 2005). These systems are reliable and robust, but they require a reasonable first guess about the image pointing, orientation, and scale. Our system can be used to create that good first guess.

| improve this answer | |
  • 1
    $\begingroup$ @MagicOctopusUrn the point is to have software that works with any image, 100 year old plates with obscure serial numbers, erroneous exposures, etc. The second line in the abstract says The system requires no first guess, and works with the information in the image pixels alone; that is, the problem is a generalization of the "lost in space" problem in which nothing--not even the image scale--is known. It's not for cell phone photos, this is just an "edge case"! $\endgroup$ – uhoh Oct 4 '19 at 1:51
  • $\begingroup$ @amateurAstro Thank you for your extremely helpful answer! The ArXiv paper is excellent, and poking around further I found a Github site: github.com/dstndstn/astrometry.net $\endgroup$ – uhoh Oct 4 '19 at 1:55
  • $\begingroup$ Fascinating. One of those "why didn't I think of that" applications. Asterisms is a known concept for human skywatching, en.wikipedia.org/wiki/Asterism_(astronomy), and (relative) star positions from anywhere (and any time) on Earth barely ever change. So, use a reduced version (limit to 4- or 5-star groups) and hash all combinations. $\endgroup$ – Jeff Y Oct 4 '19 at 19:40
  • $\begingroup$ Comments are not for extended discussion; this conversation has been moved to chat. $\endgroup$ – called2voyage Oct 7 '19 at 13:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.