Skip to main content

Telescope guide star selection tools.

Project description

Gilmenel

Sindarin. noun. meaning Star of the Heavens

"Gilmenel"

(Sindarin Elvish as created by J. R. R. Tolkien)

A framework for selecting stars in a target field that meet complex criteria defined by a telescope or instrument.

Given coordinates on-sky and a basic definition of a science instrument (basic instruments, along with some from the Southern African Large Telescope are included) stars can be selected for a specific purpose. The example is the output of the salt_guidestars.py script when pointed at the Jewel Box and with the --png flag enabled.

Diagram of the Jewel Box

Installation

pip install gilmenel

Dependencies

For Ubuntu 18.04 and Python3:

# apt-get install python3-dev

$ sudo -H pip install -U pipenv

Libraries that might be required are:

# apt-get install default-libmysqlclient-dev
# apt-get install libssl-dev

Primary Python packages:

  • astropy
  • astroquery
  • sqlalchemy
  • matplotlib

Install DS9 for additional debugging:

# apt-get install saods9

Setup

$ make install

Place the config file 'docs/config.py' into the main project directory. Edit the file as required.

Removal

$ make uninstall

Testing

To run unit tests, execute:

$ make check

To run unit tests on source code change, execute:

$ make watch-check

To run coverage test, execute:

$ make coverage

Examples

Minimal example:

from astropy import units as u
from astropy.coordinates import SkyCoord

from gilmenel import gilmenel
from gilmenel import salt

gilmenel.init()

tarantula = SkyCoord(
    '05h 38m 38s', '−69:05.7', unit=(u.hourangle, u.deg)
)  # Tarantula Nebula

instr = salt.fif
instr.point_to(tarantula, pa=0 * u.deg)

stars = gilmenel.view_sky(instr)
guide_stars = gilmenel.find_best_stars(instr, stars)

print(guide_stars)

A full usage example can be found in salt_guidestars.py

Usage: salt_guidestars.py field [OPTIONS] [jewel_box|near_jewel|somewhere|boot es_void|unittest|regular|centre|offset|null|mb xgpS201906130009|mbxgpP201906130039|tarantula| sunflower|m83] PA [pfgs|fif]

eg:

$ ./salt_guidestars.py field jewel_box 0 pfgs

DS9

When using ds9 for debugging, there appears to be two different versions that interpret the command string differently.

ds9 -dsseso "00:42:44.404 +41:16:08.78"

Versus

ds9 -dsseso coord "00:42:44.404 +41:16:08.78"

The code might need to be changed to reflect the version locally installed.

Catalogue

Asteria is designed to be run for a local or remote catalogue.

To download the whole-sky catalogue for SALT, run the command below. Please note that this is not recommended as A LOT of data (we're talking gigabytes here) will be downloaded.

$ ./catalogue/drop_db.sky
$ ./catalogue/create_db.py
$ ./catalogue/download_sky.py
$ ./catalogue/prepare_db.py

Should the catalogue download fail part-way through, inspect the files succeeded.tsv and failed.tsv for more details. Additional arguments can be passed to download_sky.py to begin in the correct place. Note that since data is downloaded and only committed to the database every 30 000 sources, a simple select query WHICH MUST INCLUDE THE LIMIT KEYWORD will show the last sources committed.

To view an image of the local catalogue, run:

$ ./catalogue/view_sky.py

To run the view command on remote machines without displays:

$ export MPLBACKEND="agg"

Database Operations

To see a summary of duplicates

select dup_count, count(dup_count) as row_count from (select count(source_id) as dup_count from Sources group by source) t group by dup_count order by dup_count;

To delete duplicate rows

delete from Sources where source_id not in (select min(source_id) from Sources group by source);

Notes

This project uses Semantic Versioning, for more details see https://semver.org/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gilmenel-0.3.1.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gilmenel-0.3.1-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file gilmenel-0.3.1.tar.gz.

File metadata

  • Download URL: gilmenel-0.3.1.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for gilmenel-0.3.1.tar.gz
Algorithm Hash digest
SHA256 6ae9bb28bcac49847ab14ce2c4e6887c40863fff86ccb8c8c49e958834304f21
MD5 d44b90511ad149eb746464ba88df6bf8
BLAKE2b-256 f7bbdaccf4ce02cd9541ade5cd02d8fcd8f723b2623339521990a314af24bc1d

See more details on using hashes here.

File details

Details for the file gilmenel-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: gilmenel-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 25.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for gilmenel-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 240d76469b858b011500bba946941689c446f2cd091a4a9dcafe11ac3807d53f
MD5 8686baa71b2b4a9bdc0ca26e4f6c18a6
BLAKE2b-256 89938377d28aed9fffc4f7d1a9cadc1020c6f92c3cf7c709ef5ad800a78055ed

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page