-
Notifications
You must be signed in to change notification settings - Fork 0
The Solving Process
There are these basic steps required to solve an image:
- Stars must be detected from an image
- Figure out the mean background of the image
- Create bins of the pixels that are above the background value
- Filter out bins that don't seem to be stars
- Choose a number of stars, the brightest ones (we may have a lot stars, and we may not want them all)
- Form quads from the chosen stars
- For each star, pick the nearest 3 stars, calculate distances between each star, pick the longest distance and form ratios based on the longest distance (all ratios are between 0..1)
- Discard duplicates
- Per each search area provided by the given search strategy, attempt a solve
- Perform the solves in parallel, if allowed
- If the solve is successful, return the result
Now, the solve of a specific field itself does this:
- With the assumed field of view, calculate the density of quads per square degree in the image
- Get quads from the quad database within the given radius of given coordinates, within the given radius of those coordinates, from a pass that has the closest matching density of quads per square degree, and comparing them to the image quads
- (Additionally may include more passes from the database with lower/higher quad density)
- Only return quads that match the image quads (comparing the distance ratios)
- If enough matching quads were returned, perform image star quad - catalog star quad pairing and discard outliers (mismatches) based on the mean longest distance ratio
- If enough acceptable quad pairs were found, calculate a preliminary solution
- Solve the plate constants using the least squares method
- Using the plate constants, calculate the image center coordinate
- Calculate pixels per degree (FOV)
- Calculate rotation with one pixel steps up and right
- If we have a valid preliminary solution, use its FOV and solved coordinate and catalog star quads from all passes to perform one additional accuracy solve, with the aim of getting possibly more quad matches and a better result
- Return the improved solution.
The method is very similar to the method ASTAP solver uses, described here by Han Kleijn. Watney's method was based directly on that description.
A visualization of detected stars and quad matches:
While the CLI solver can merely return text, the Solution
class itself contains functionality to utilize the solve result. By calling Solution.PixelToEquatorialCoords()
you can convert pixel coordinates to RA, Dec coordinates, and vice versa with Solution.EquatorialCoordsToPixel()
. This can be used for example to annotate objects in the field. The solution also contains the FITS headers (see description of the output) that may be saved to the FITS file by a software that can handle writing FITS headers.
Table of contents
-
Supportive Libraries
-
Quad/Star Database Tools