Gilmenel
Sindarin. noun. meaning Star of the Heavens
(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.
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|bootes_void|
unittest|regular|centre|offset|null|mbxgpS201906130009|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);
Commits
As of v0.4.0, this project will use the git commit message format outlined below:
[optional breaking ]<type>[ optional (<scope>)]: <description>
[optional body]
<type> is recommended to be one of:
fix
feat
build
chore
ci
docs
style
refactor
perf
test
<scope> is recommended to be a module, file, or folder name as appropiate.
This is a simpler version of https://www.conventionalcommits.org/
Versions
This project uses Semantic Versioning, for more details see https://semver.org/
Metadata
Release files for gilmenel 0.8.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gilmenel-0.8.1.tar.gz | 25.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gilmenel-0.8.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.3 kB
Release files / gilmenel-0.8.1.tar.gz
| Download URL | gilmenel-0.8.1.tar.gz |
|---|---|
| Size | 25.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d87db85fd2da54f7be62a607e36703b4f01541fea9cd8db26f17a1dafebddb0b
|
|
BLAKE2b-256 checksum How to use checksums |
c45e000761477c71832724f18a77884b9e1085386a63c941170a17e90cec7639
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / gilmenel-0.8.1-py3-none-any.whl
| Download URL | gilmenel-0.8.1-py3-none-any.whl |
|---|---|
| Size | 32.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ed4ed2f010035c4121cafbc40cffb97970c550ea37d2f0f15c13d75d419eedb0
|
|
BLAKE2b-256 checksum How to use checksums |
c01f98397e10e5cb7166beb84fdc67e847e0aba0fb8445162db3b0afe060c42f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|