Skip to main content

Plate solving and plotting exoplanets on your astronomy image.

Project description

exoplot

Plotting exoplanets on your astronomy image . This is a commandline tool in Python does the following:

  • plate solving by uploading your image to http://nova.astrometry.net and downloads the results.
  • plotting all confirmed exoplanets (as of july 2023) on a copy of your image.

Important! you need to request an api_key for the plate solving functionality: https://nova.astrometry.net/api_help

Resources

Install

> virtualenv env
> source env/bin/activate
> pip install astropy Pillow
> pip install -i https://test.pypi.org/simple/ exoplot

Usage

exoplot -h

usage: main.py [-h] [--astrometry_api_key ASTROMETRY_API_KEY]
               [--astrometry_url ASTROMETRY_URL]
               [--exoplanets_db EXOPLANETS_DB] [--source SOURCE]
               [--submission_id SUBMISSION_ID] [--title TITLE] [--size SIZE]
               [--path_to_image PATH_TO_IMAGE] [--output_dir OUTPUT_DIR]
               [--argfile [ARGFILE]]

options:
  -h, --help            show this help message and exit
  --astrometry_api_key ASTROMETRY_API_KEY
                        the api_key that you requested at
                        https://nova.astrometry.net/api_help
  --astrometry_url ASTROMETRY_URL
                        astrometry instance for plate solving. If not provided
                        http://nova.astrometry.net will be used
  --exoplanets_db EXOPLANETS_DB
                        path to exoplanets sqlite3 database. If not provided
                        the onboard (july 2023) database will be used
  --source SOURCE       Background image to draw exoplanets on? Options are:
                        'raw', 'annotated', 'grid'
  --submission_id SUBMISSION_ID
                        if the submission_id is known then no new job is
                        submitted, but instead the existing job is checked for
                        results. Useful for playing with the other parameters
                        while keeping the existing plate solving results.
  --title TITLE         display your title on the output image
  --size SIZE           circle size in pixels
  --path_to_image PATH_TO_IMAGE
                        input image, if not provided the onboard example image
                        will be used
  --output_dir OUTPUT_DIR
                        directory where the output results will be stored
  --argfile [ARGFILE]   Ascii file with arguments (overrides all other
                        arguments

The most important options

--astrometry_api_key

you need to request an api_key for the plate solving functionality: https://nova.astrometry.net/api_help

--path_to_image

This is the path to your .jpg or .png file. If not provided, it will use an example image of Lyra

--output_dir

The directory where the results of the plate solving and image drawing are stored. All files start with a job_id. The following files will be there after a run. (note: for size considerations, the following images are partial screenshots)

  • <job_id>.fits : the original input image converted to fits
  • <job_id>_annotated.jpg : constellation lines, stars and dso names, downloaded from astrometry.net
  • <job_id>_grid.jpg : the previous annotated image, but with a coordinate grid drawn (by the exoplot tool)
  • <job_id>_sky_globe.jpg : a global skymap showing the location of your image
  • <job_id>_sky_plot.jpg : a more detailed skymap showing the location of your image
  • <job_id>_exoplanets.jpg : a copy of your image with all currently known confirmed exoplanets plotted.

--source

You can choose on which image you plot the exoplanets:

  • your raw image
  • the plate solved annotated image
  • the annotated image with a RA/dec grid drawn on it.

For Developers

clone the repo

clone https://github.com/nvermaas/exoplot.git

run locally (like in PyCharm)

  • Execute the main.py file
  • Required parameter: --astrometry_api_key <your-api-key>
  • See the options: -h

build

py -m build

upload to (test) pypi

py -m twine upload --repository testpypi dist/*

deploy

pip install -i https://test.pypi.org/simple/ exoplot

disclaimer: I originally used an old version of an astrometry.net client, but I cannot remember where I found it. So the following class was not written by me, but by some anonymous hero. https://github.com/nvermaas/exoplot/blob/master/exoplot/astrometry/astrometry_client.py

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

exoplot-0.2.0.tar.gz (23.8 MB view details)

Uploaded Source

Built Distribution

exoplot-0.2.0-py3-none-any.whl (13.2 MB view details)

Uploaded Python 3

File details

Details for the file exoplot-0.2.0.tar.gz.

File metadata

  • Download URL: exoplot-0.2.0.tar.gz
  • Upload date:
  • Size: 23.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for exoplot-0.2.0.tar.gz
Algorithm Hash digest
SHA256 52a53789009a4e7a7990f4b8da10b7102431249219c3b4cc8b182ce9fd2096ed
MD5 4cbe8be9c3ff2aed51971284fc659856
BLAKE2b-256 b04702494b4ccf8c261c66460a245cd3a6fe99e3324fcb6a3f2a6a0d6e02d69c

See more details on using hashes here.

File details

Details for the file exoplot-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: exoplot-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 13.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for exoplot-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dd25b27562819aaa523d12286733e384b0450dfcbf8d925f218c42c36439e01d
MD5 6be2c13e92f870ddece63a90069140ac
BLAKE2b-256 9ea784d1af780ad08fdc1d3f1329f369b72e28a00d122279ce9d836eff1b9804

See more details on using hashes here.

Supported by

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