Celestial Plate Solver

Novel plate solver for handheld-phone night-sky photos that identifies stars, determines the camera pose, and calibrates the camera.

Ahora está siguiendo esta publicación

A night-sky image from a mobile phone is a portal to astronomy. This educational Live Script introduces a plate solver for handheld mobile phone images that uses a fast algorithmic search. Starting with a phone JPEG, and its approximate field of view obtained from embedded EXIF data or user input, it detects star candidates, projects them onto the sky neglecting optical distortion, registers and identifies them using theHipparcos catalog, and fits a camera distortion model that maps catalog directions to image pixels.
The process begins with a blind (over the whole sky) solve with a small number of pivot bright star candidates, a limited pool of candidates ranked by brightness, and a catalog of limited star magnitude. (For images with EXIF image offering an camera GPS location, time, elevation, altitude, and bearing, the catalog can be optionally reduced to an angular range encompassing the pointing direction in the sky coordinates.) The solver places each pivot star candidate atop every catalog star in celestial coordinates, and in effect rotates the image to hunt for registration lock. For each pivot star and catalog star pair, each star candidate in the pool which registers within errors with another catalog star casts a vote for the identities of the pivot and non-pivot star candidates and for the orientation of the image frame. The winning vote counts provide Hipparcos identifications. The pool fed to the solver is capped at the brightest candidates (default 96) to limit contamination; the winning votes provide Hipparcos identifications, and the identified stars determine the frame pose. Only one pivot star is required to lock in because the lock validated by many star candidates. Use of multiple pivots obviates the risk that any one pivot is invalid and sharpens all identifications. A geometric test is used to eliminate occasional misidentifications with stars distant from the actual star field. A diagnostic is provided that compares for identified stars the spherical angle between every pair of catalog stars to the spherical angle between the candidate stars.
To identify more stars uniquely, in a second pass, the same algorithm is applied with the same or more pivot stars, with the same candidate pool, but with a deeper restricted catalog. The catalog is limited to stars within a reduced catalog angular range determined by the first pass lock. Additionally, pivot candidate stars are only tested on catalog stars within an error circle about their pass-1 locations, not on catalog stars within the whole reduced catalog angular range. Confirming pool candidates span the entire reduced angular range. This stage uses the identified stars to recover a new anchored-rotation pose — a pre-fit, gnomonic, no-distortion transform. Close visual binaries and catalog stars with magnitude beyond the sensitive range of the star candidates may still result in some misidentified or ambiguously identified star candidates. An clean-up step identifies unambiguous good identifications and the fit uses only the unambiguously identified stars and their corresponding pixel coordinates with several smooth parametric radial distortion models, the fit model with the most information per degree of freedom being selected. After lean up, a re-fit of the plate parameters is performed using a fresh nearest-neighbor match of the catalog to all detections. An option is available to add a spline fit atop these to capture details.
The final results are displayed as an annotated image with candidate star locations shown and classified as uniquely identified, ambiguously identified, or unmatched. The Hipparcos star RA-Dec coordinates are back-projected onto the image using the fit model, along with star names or Hipparcos identification numbers. Standard "constellation" stick figures are added to guide the eye. From the annotated image, one can judge by eye the quality of the fit model and the fraction of star candidates detected. Additionally, a twirlable HTML5 application is provided to display one or more images and identified star candidates on a unit sphere along with the Hipparcos star locations to provide a sense of the fields of view relative to the entire sky and how the fields of several images might overlap.
Supplied images include a number of overlapping wide-field iPhone frames of the Bootes, Corona Borealis, and Hercules region of the sky, taken by hand from near-downtown Madison, Wisconsin, and several longer exposures with slight blurring due to Earth rotation. The solver is digital zoom aware and can handle centrally-cropped images. Supplied are optional filters to eliminate fake bright star candidates which can compromise operation with just a few pivot stars: one to eliminate meteor or satellite trails and two others to eliminate foreground foliage using color and texture. With the overlapping image set using a limited 96 stars, a study shows that a joint camera fit to ~20 frames with the same camera setting can reach a residual of about 84.5 arcseconds across all frames, with a per-frame median agreement near 1.1 pixels. Candidate brightness and catalog star magnitude are not compared in the solve process but compared after the solve completes. Supplied images indicate that stellar magnitudes of 9, at the limit of the Hipparcos catalog and far beyond the range of human vision, are accessible in wide field handheld mobile phone images.
This package uses a mix of Python and MATLAB scripts and includes an appendix with instructions for installation of Python and required Python packages. Additionally, it requires the open product exifTool. Instruction for installation of these dependencies are provided in this Lice Script and in accompanying package documentation. The popular plate solver astrometry.net in offline form can be used as an optional check and its installation and operation are described. It matches a catalog of scale invariant minor asterisms called quads to candidate star patterns. In contrast, our method leverages every candidate star pair, so in effect considers all asterisms for every conceivable pose, but it requires an approximate angular scale. This script has been developed and tuned on iPhone JPG images with embedded EXIF information determining the approximate field of view but is designed to work with any image with a user supplied approximate field of view.
The script may interest students and instructors in physics and astronomy as well as the sky-curious. 'Try this' suggestions point to ways to vary numerous exposed algorithm parameters like the number of pivots and the catalog magnitude limits. "Challenges" and references are provided for further exploration and code elaboration. Additional educational Live Scripts by the author are here.

Citar como

Duncan Carlsmith (2026). Celestial Plate Solver (https://es.mathworks.com/matlabcentral/fileexchange/184369-celestial-plate-solver), MATLAB Central File Exchange. Recuperado .

Información general

Compatibilidad con la versión de MATLAB

  • Compatible con cualquier versión

Compatibilidad con las plataformas

  • Windows
  • macOS
  • Linux
Versión Publicado Notas de la versión Action
1.0.0