Commit a61bf9a8 authored by Akarsh Simha's avatar Akarsh Simha

Adding some ideas on potential improvements for Whats interesting

parent 9c048938
* Aim
+ Get what's interesting to auto-suggest objects for all user levels.
+ Show only interesting objects, not every object under the sun like
we do now.
+ "Interesting" is decided then by manual input -- either from
pre-loaded hand-coded lists [default], or at the option of the user,
their own observing wishlist
+ Incidentally, we should move observing wishlist into the user DB so
that we only insert / remove -- prevents losing the wishlist upon a
crash like it happens now
* User settings / input
The user chooses the following in the configuration dialog:
** Already present
+ Sky conditions (Bortle)
+ Equipment availability (Naked eye / binocular / telescope)
** New
+ Meridian +/- how many hours to show
+ A checkbox to avoid "the hole" for Dobsonian telescopes
+ Experience level of the user (scale of 1 to 6)
+ Special interest: Astrophotography vs. Visual (may be a later feature)
*** Auto-suggest
+ What kinds of objects to auto-suggest (eg: open clusters, globular
clusters, nebulae, galaxies...)
OR
+ Suggest only from observing wishlist
* How does it work
** Lists of objects
+ We have hand-coded lists of objects for each user level, for each
special interest, that are put into a SQLite db, say interesting.db
+ Only bright and/or truly interesting objects go into these
lists. Showing every NGC open cluster is meaningless.
+ Lists in the DB are indexed by RA hour
+ Each list entry has Name, RA hour (index), Dec ten-degree zone,
guesstimated minimum aperture needed (can be zero), guesstimated aperture in which
it gets interesting (can be zero), a hand-written translatable
description, a last observed timestamp, and links to websites.
*** What goes into the lists?
+ The level 1 lists contain things like planets, constellations,
double stars, naked eye objects, bright telescopic double stars.
+ The level 2 lists contain most of the (bright) Messier objects
(excluding things like Virgo cluster galaxies, M 76, M 97, M 74...)
and some bright NGC/other objects (eg: many Caldwell objects, Double
cluster, NGC 253, and other 'why is this not a Messier?' candidates)
+ The level 3 lists contain the remaining Messier objects, the fainter
Caldwell objects, and many of the brighter NGC/IC/other objects (eg:
The Eyes, Ghost of Jupiter, NGC 55, NGC 891...)
+ The level 4 lists contain lesser known NGC/IC objects (eg: NGC
134, NGC 247, NGC 40, ...) and a few lesser known catalogs (eg:
Seagull nebula).
+ The level 5 lists have some of the usual 'challenge' objects (eg:
Leo-I, B33, Jellyfish neb, Integral sign, Jones 1, JnEr 1, Stephen's
Quintet, Medusa Neb...)
+ The level 6 lists unleash the hard catalogs (eg: Holmberg, HCG, Arp,
Palomar, some hand-picked ACO...)
+ The level 7 lists go into the land of advanced observers (eg: Tidal
tails, Voorwerps, Shakbazians, Ring galaxies, lensed quasars and
other scary stuff)
** Algorithm
*** Iterate the following until a solution is found, or we tried 10 times:
+ By using some fuzzy combination of the user's observing conditions,
we pick a different one of the 7 lists at random. We will weight it
such that the list matching the user's skill level is the most
likely one to be hit, compensating a bit for Bortle and
instrumentation.
+ We then look at the user's hour-angle range preferences to pick the
RAs currently in the range, and load all objects matching into
memory.
+ We then remove any objects in the list that are not available in
KStars (check the objectNames hashes).
+ We then apply the type filter on the list. The list probably doesn't
contain more than 20 ~ 30 objects (might grow to a 200 ~ 300
eventually) at this point, so it should be fast to do these
operations.
+ We then pick an element of this list at random; at any point if we
the object fails to meet criteria, we remove that element and pick a
different one.
+ We then apply the hole constraint.
+ Then, we check if the object is compatible with the user's
observing conditions (surface brightness of the object vs Bortle,
telescope availability...)
+ Then, we present the object
+ If we have an empty list before we can present an object, we go back
to the beginning and pick a different list.
*** If we fail, we show the user an info message saying they must relax their constraints.
** Algorithm if we are using the wishlist
+ Wishlist must be saved with RA hour.
+ Select items from the wishlist that satisfy the hour angle
constraint (DB query) and load into a list.
+ Select an element at random and check if it satisfies the hole
constraint. If it does not, remove it from the list, then try again.
+ If we find no objects, display the same error message.
** Improvements:
+ Incorporate timestamp of last observation, i.e. show only
non-observed objects for a long time.
+ Try to repeat showing 'all-time favorites'.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment