Astropy
Developer(s) | The Astropy Collaboration |
---|---|
Stable release | 1.0.3 / June 5, 2015 |
Written in | Python, C |
Operating system | Cross-platform |
Type | Technical computing |
License | BSD-new license |
Website |
www |
The Astropy Project is a collection of software packages written in the Python programming language and designed for use in astronomy.[1] The software is a single, free, core package for astronomical utilities due to the increasingly widespread usage of Python by astronomers, and to foster interoperability between various extant Python astronomy packages.[2] Astropy is included in several large Python distributions; it is part of package managers for Linux and OS X,[3][4][5] the Anaconda Python Distribution, Enthought Canopy and Ureka.[6]
Core functionality
Core data structures and operations
- generalized container classes for representing gridded and tabular data as multidimensional arrays or tables[7]
- unit and physical quantity conversions
- physical constants specific to astronomy
- celestial coordinate and time transformations
- world coordinate system (WCS) support, implementing PyWCS, the Python wrapper to WCSLIB. WCSLIB is a C Library which implements the WCS standard in the Flexible Image Transport System (FITS) standard.[8][9]
File I/O
- FITS files, implementing the former standalone PyFITS interface[10]
- Virtual Observatory (VO) tables
- common ASCII table formats, e.g. for online catalogues or data supplements of scientific publications
- Hierarchical Data Format (HDF5) files
Computational utilities
- framework for cosmology transformations and conversions
- toolset for statistical analyses
Affiliated packages
A major part of the Astropy project is the concept of "affiliated packages”. An affiliated package is an astronomy-related Python package that is not part of the astropy core but has been suggested for inclusion as part of the project’s community. Such packages are intended to improve reuse, interoperability, and interface standards for Python astronomy and astrophysics packages. Current affiliated packages include:[11]
- montage-wrapper
- ginga
- APLpy
- astroML: tools for machine learning and data mining in astronomy
- Astropysics: library of IDL astronomy routines converted to Python.
A few additional affiliated packages are currently in development, including:
- photutils: photometry tools
- astroquery: online database querying
- specutils: spectroscopic analysis utilities
- kcorrect: Python bindings to kcorrect code of Blanton et al. 2007
- gammapy: A high level gamma-ray astronomy data analysis package
Development
Around the turn of the millennium the Space Telescope Science Institute started development of Python-based utilities to extend or substitute existing astronomical data analysis tools on a modern, object-oriented platform. Among the first projects were a replacement of the Command Language for IRAF with the Pyraf frontend,[12] and the PyFITS interface to the Flexible Image Transport System.[13] Since the existing Numeric module for handling vectors and arrays in Python turned out to be inadequate for large astronomical datasets, a new library better tuned for large array sizes was subsequently developed at STScI. Both libraries were merged into a new array package by Travis Oliphant in 2005-2006, creating NumPy, the now de facto standard for numerical data handling in Python.[14] In the following years the existing software packages maintained by STScI as part of their stsci_python suite were ported to Numpy as well. This together with the more extensive SciPy computing environment provided a platform to develop customized scripts and applications for a variety of astronomical tasks.
By 2011, the use of Python in astronomy had reached significant levels. At the 2012 .Astronomy meeting, 42% of attendees (a plurality) preferred Python according to an informal survey.[2] Many astronomy-related Python packages have been developed over the years, however without cooperation or coordination, which led to duplication and difficult interoperability between packages. There was also no easy way install all the required packages needed in an astronomer’s toolkit. A number of smaller packages are sometimes no longer maintained or unavailable, detrimental to long-term research programs and reproducibility. The Astropy project started in 2011, motivated by these existing difficulties and a desire to unite developers throughout the field of astronomy to coordinate the development of a unified set of Python modules for astronomers and reduce the confusion of available packages.[1]
The Space Telescope Science Institute, operators of the Hubble Space Telescope, are merging the work on Astropy into stsci_python releases. PyFITS and PyWCS will be maintained solely within Astropy, with separate releases of these packages stopping, after the next release. PyFITS has been included as part of the Astropy project, as a result, the next release of STScI_Python will depend on Astropy for the PyFITS library instead of using this standalone release. Thus, future Hubble Space Telescope science and images will depend upon Astropy.[15]
Use
- The National Virtual Observatory Python integration includes support for the Astropy VOTable class[16]
- The Hyper Suprime-Cam, a 900-megapixel ultra-wide-field camera[17]
- A data mining toolkit for exploring large data cubes in radioastronomy from facilities like ALMA or CARMA.[18]
- pcigale, the port to Python of CIGALE (Code Investigating Galaxy Emission)[19]
- Analyzing the optical afterglow of gamma-ray bursters[20]
- The High Energy Astrophysics Science Archive Research Center (HEASARC) refers to Astropy as "A single core package for Astronomy in Python"
- Project PANOPTES "makes extensive use of the Astropy package"
- Astropy has been accepted to the Astrophysics Source Code Library - Starship Asterisk*[21]
Video sources
There are several videos recorded in seminars and conferences. These are intended to help beginners learn how Astropy works. The July 9–11, 2012 .Astronomy 4 meeting held a session on Astropy.[22]
Institutional users and developers
- Max-Planck-Institut für Astronomie, Germany
- Max-Planck-Institut für Kernphysik, Germany
- Department of Astronomy, Yale University, USA
- Space Telescope Science Institute, USA
- Harvard-Smithsonian Center for Astrophysics, USA
- Center for Astrophysics and Space Astronomy, University of Colorado, USA
- Department of Astronomy, Columbia University, USA
- Department of Astronomy and Astrophysics, University of Toronto, Canada
- Argonne National Laboratory, High Energy Physics Division, USA
- Department of Astronomy, Ohio State University, USA
- S.V. National Institute of Technology, India
- European Southern Observatory, Germany
- Laboratoire d’Astrophysique de Marseille, Université Aix-Marseille et CNRS, France
- ETH Zürich, Institute for Astronomy, Switzerland
- Gemini Observatory, Chile and USA
- LIGO Laboratory, California Institute of Technology, USA
- Center for Cosmology and Particle Physics, New York University, USA
- Department of Physics and Astronomy, Louisiana State University, USA
- Research School of Astronomy and Astrophysics, Australian National University, Mount Stromlo Observatory, Australia
- South African Astronomical Observatory, Cape Town, South Africa*Joint Astronomy Centre, USA
- Department of Astronomy, Cornell University, USA
- Oxford Astrophysics, University of Oxford, UK
- Department of Physics and Astronomy, University College London, UK
- NASA Goddard Space Flight Center, X-ray Astrophysics Lab, USA
- Laboratoire AIM, CEA Saclay, France
- Leibniz Institute for Astrophysics Potsdam, Germany
- Centre for Astrophysics and Supercomputing, Swinburne University, Australia
- Department of Astronomy, University of Virginia, USA
See also
References
- 1 2 Astropy Collaboration (2013). "Astropy: A community Python package for astronomy". Astronomy & Astrophysics 558: A33. arXiv:1307.6212. Bibcode:2013A&A...558A..33A. doi:10.1051/0004-6361/201322068.
- 1 2 Simpson, Robert A.; et al. (2013). "Unproceedings of the Fourth .Astronomy Conference, Heidelberg, Germany, July 9-11 2012". arXiv:1301.5193 [astro-ph.IM].
- ↑ "Package: python-astropy (0.2.4-3)". Debian.
- ↑ "py-astropy 0.2.5". MacPorts.
- ↑ "astropy-py33". Fink.
- ↑ "Ureka Sources". Gemini Observatory/Space Telescope Science Institute.
- ↑ "ATPy". Retrieved 2013-11-05.
- ↑ Greisen, E. W.; Calabretta, M. R. (2002). "Representations of world coordinates in FITS". Astronomy and Astrophysics 395 (3): 1061. arXiv:astro-ph/0207407. Bibcode:2002A&A...395.1061G. doi:10.1051/0004-6361:20021326.
- ↑ Mark Calabretta. "WCSLIB". CSIRO Australia Telescope National Facility. Retrieved November 15, 2013.
- ↑ "PyFITS". Space Telescope Science Institute.
- ↑ The Astropy collaboration (2012). "About affiliated packages". astropy. Retrieved November 6, 2013.
- ↑ Greenfield, P.; White, R. L. (2000). "A New CL for IRAF Based On Python". ASP Conference Series 216: 59. Bibcode:2000ASPC..216...59G. ISBN 1-58381-047-1.
- ↑ Barrett, P. E.; Bridgman, W. T. (2000). "PyFITS, a Python FITS Module". ASP Conference Series 216: 67. Bibcode:2000ASPC..216...67B. ISBN 1-58381-047-1.
- ↑ "History of SciPy". scipy.org.
- ↑ "STScI_Python 2.14 Release Notes". Space Telescope Science Institute.
- ↑ Tody, D.; Fitzpatrick, M. J.; Graham, M.; Young, W. (2013). "Scripting the Virtual Observatory in Python" (PDF). American Astronomical Society Meeting Abstracts 221: #240.34. Bibcode:2013AAS...22124034T.
- ↑ "Subaru Telescope HSC Wide Field Corrector completed".
- ↑ "AStute".
- ↑ Roehlly, Y.; Burgarella, D.; Buat, V.; Boquien, M.; Ciesla, L.; Heinis, S. (2013). "pcigale: porting Code Investigating Galaxy Emission to Python". arXiv:1309.6366 [astro-ph.IM].
- ↑ Singer, L. P.; et al. (2013). "Discovery and redshift of an optical afterglow in 71 square degrees: iPTF13bxl and GRB 130702A". The Astrophysical Journal Letters 776 (2): L34. arXiv:1307.5851. Bibcode:2013ApJ...776L..34S. doi:10.1088/2041-8205/776/2/L34.
- ↑ Allen, A.; et al. (2013). "Using the Astrophysics Source Code Library". American Astronomical Society Meeting Abstracts 221: #240.01. Bibcode:2013AAS...22124001A.
- ↑ ".Astronomy 4". Retrieved 2012-07-11.
External links
- Official website
- Github repository
- Scipy2013 presentation video
- ADASS Poster abstract
- MPIK Astropy workshop
- Topical software – scipy.org
Publications
Books and scientific publications citing Astropy
- Tollerud, E. J.; Greenfield, P. E.; Robitaille, T. P. (2013). "Astropy: A community Python package for astronomy". ASP Conference Series 475: 241. Bibcode:2013ASPC..475..241T.
- Simpson, Robert A.; et al. (2013). "Unproceedings of the Fourth .Astronomy Conference, Heidelberg, Germany, July 9-11 2012". arXiv:1301.5193 [astro-ph.IM].
- Allen, A.; et al. (2013). "Bring out your codes! Bring out your codes! (Increasing Software Visibility and Re-use)". ASP Conference Series 475: 383. arXiv:1212.1915. Bibcode:2013ASPC..475..383A.