A pure Python interface to the excellent Starlink AST library.
Project description
Cornish is a Python interface over the Starlink AST astronomical software library, part of the Starlink Software Collection. Cornish is designed and written by Demitri Muna.
The Starlink AST library is a collection of tools for working with world coordinate systems and excels at coordinate system transformations, representing and working with regions on the celestial sphere (e.g. polygons, circles, boxes, etc.), plotting, and more.
A Python interface called starlink-ast written by the library’s authors, David Berry and Tim Jenness, is available, however it thinly exposes the C interface. A working knowledge of the C API is realistically a prerequisite to using starlink-ast. Similarly, the primary documentation for the library is the that of the C version which does not refer to the Python interface.
The aim of Cornish is to be a fully Pythonic interface to the library. It doesn’t replace the existing starlink-ast Python interface; rather, it is a wrapper around that. The current development focus is defining and working with regions on the sky. It accepts and returns Astropy objects where possible.
Cornish is currently under active development and all APIs are subject to change. It is not recommended to be used in a pipeline yet, but it is becoming increasingly mature and particularly useful for interactive use. The project is being released in this state as it is a dependency of the Trillian and SciDD projects.
Many thanks to David Berry for the generous and extremely responsive help and advice in the development of the library.
Examples
The main documentation (in progress) will be the primary reference for this library. A few examples demonstrate its capabilities.
from cornish import ASTRegion
from astropy.io import fits
# read FITS HDU (assuming a 2D image with a WCS)
hdu1 = fits.open("my_file.fits")[0]
# define a polygon around the border the image
polygon = ASTRegion.fromFITSHeader(hdu1.header)
# get a circle that bounds that polygon
circle = polygon.boundingCircle()
# create a polygon from a circle region
polygon2 = circle.toPolygon(npoints=20)
# check if polygons overlap
polygon.overlaps(polygon3)
(If it seems too simple… that’s kind of the point.)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cornish-1.1.tar.gz
.
File metadata
- Download URL: cornish-1.1.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.8.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4125edb3f0bf59021334d4dfb98c87aa047dadd400d6344f66e7836638ca9edf |
|
MD5 | 994d2df59b727b4693c9f519b3974b90 |
|
BLAKE2b-256 | 8ed26f6144f3676a3cab404b3da2aea6fbe7b8f25b0ce8afa05edb882a3787c0 |
File details
Details for the file cornish-1.1-py3-none-any.whl
.
File metadata
- Download URL: cornish-1.1-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.8.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | adfdf4fae587ca66496e56203811f809aeefd2a4b7ab11ad70091e5665c84f5a |
|
MD5 | 4ed696cc07b30836f18c38d9bd475c35 |
|
BLAKE2b-256 | fdddec234abf405060eaa4fd2a000ca1c206883900a5327135553c2755486f62 |