rlancaste / stellarsolver

GNU General Public License v3.0
94 stars 47 forks source link

Add detected objects to StellarSolverTester? #114

Closed ckuethe closed 2 years ago

ckuethe commented 2 years ago

Perhaps I'm abusing StellarSolverTester but it turns out to be pretty handy for answering the question "wtf was that a picture of?"

One thing I'd like to see is the list of detected objects the way solve-field does:

Your field contains:
  NGC 2422 / M 47
  NGC 2423
  NGC 2425
  NGC 2437 / M 46

I wasn't able to get that to be printed by playing with the logging settings...

rlancaste commented 2 years ago

So, that really requires a database of objects and their coordinates. This is automatically done in the KStars fits viewer which uses StellarSolver to plate solve, and since KStars is a planetarium program it has its databases of objects. So once you do a plate solve in kstars, all subsequent images have identified stars and objects in the FITS Viewer. In solve-field, I believe the way that it does what you describe is by running another program called plot-constellations. In making StellarSolver, my goal was to make an internal cross platform library for programs doing plate solving built on astrometry.net. In order to do that, I couldn't include all the features of astrometry.net. I was trying to avoid using external programs, external configuration files, functions that require a POSIX operating system, and having too many dependencies that could cause problems on things like Windows. As I recall the plotting features had a lot of dependencies and extra code along with them. Plus, the image plotting functions of astrometry.net are not needed at all for plate solving. In Kstars we always turned off those features anyway before I developed StellarSolver.

The other thing is that a program that uses the StellarSolver Library could certainly perform this feature just like KStars already does. The StellarSolver tester is really just for testing and perfecting the solving library, not for being an awesome end user plate solving program (though it certainly can do that to some extent).

Thanks for the suggestion,

Rob