plotastrodata
Python package to make figures from radio astronomical data by astropy and matplotlib. The API, examples, and gallery are available in readthedocs. The PDF manual is available here.
Highlights
- Read, write, and process astronomical FITS images, spectral cubes, position-velocity diagrams, and NumPy arrays, including WCS coordinates, spectral axes, beam information, and brightness-temperature conversion.
- Create 2D maps, channel maps, position-velocity diagrams, RGB composites, line profiles, spatial slices, and interactive 3D isosurface visualizations.
- Overlay color, contour, polarization-vector, and RGB data from different spatial grids, with astronomical coordinates, beams, scale bars, regions, markers, and other annotations.
- Prepare data through trimming, interpolation, binning, masking, centering, rotation, deprojection, beam circularization, and profile extraction.
- Estimate image noise, including support for primary-beam-corrected data.
- Fit Gaussian models to line profiles and two-dimensional image components.
- Use supporting tools for coordinate and line-of-sight transformations, centered Fourier transforms and visibility sampling, and Bayesian or grid-based parameter estimation.
Installation
Released version
Install from conda-forge:
conda install conda-forge::plotastrodata
or from PyPI:
pip install plotastrodata
Development version from GitHub
Clone the repository to install the latest development version, which may include changes not yet available in the published releases:
git clone https://github.com/yusukeaso-astron/plotastrodata
(cd plotastrodata)
(python -m pip install .)
To update the development version, run the following commands in the cloned repository:
git pull
(python -m pip install --upgrade .)
Demo and Usage
The repository includes example.py, which demonstrates the main plotting and analysis features. After cloning the repository and installing the package, run:
python example.py
More examples and the complete API reference are available in the online documentation.
Generate plotting scripts
from plotastrodata.script_utils import generate_image_script
script = generate_image_script(
"image.fits", output="image.py",
)
Review the inline values, then run python image.py. The script uses existing
library APIs to visualize a hist-pbcor noise fit, fit a 2D Gaussian and report
its sky center and east/north uncertainties, and plot a logarithmic image
with contours, a beam, and RA/Dec axes. It saves separate noise and image PNGs.
Noise estimation uses the full image. Fitting and plotting ranges are estimated automatically and written inline
with three significant digits for editing.
For a spectral cube, use generate_cube_script("cube.fits", output="cube.py")
from the same module. It generates an edge-channel noise visualization, a flux-integrated line
profile and 3D channel maps over estimated spatial and velocity ranges,
with intrinsic channel spacing. The flux profile assumes Jy/beam data with beam metadata.
Both generators return an absolute pathlib.Path and write the script
without executing it.
See the script-generation guide.
Requirement
- Python >= 3.11
- astropy >= 7.2
- corner (only for fitting)
- dynesty (only for fitting)
- emcee >= 3.1.5 (only for fitting)
- ffmpeg (only for movie)
- matplotlib
- numpy >= 2.0
- pillow (only for RGB figures)
- plotly (only for html cube)
- ptemcee (only for fitting)
- pydantic >= 2
- scikit-image (only for html cube)
- scipy
- tqdm (only for fitting)
Conventions and Limitations
See Conventions and usage notes for data formats, coordinate and angle conventions, runtime types, input validation, and usage limitations.
Author
- Name: Yusuke Aso
- Affiliation: Korea Astronomy and Space Science Institute
- E-mail: yaso@kasi.re.kr
License
"plotastrodata" is under GNU General Public License Version 3.
Metadata
Release files for plotastrodata 1.12.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 | Provenance | |
|---|---|---|---|---|
| plotastrodata-1.12.1.tar.gz | 110.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plotastrodata-1.12.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 226.1 kB
Release files / plotastrodata-1.12.1.tar.gz
| Download URL | plotastrodata-1.12.1.tar.gz |
|---|---|
| Size | 110.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
13bca88958978a56ee5bceb232e286b673a993c1ecb9de0e91ae17d31c84e4c9
|
|
BLAKE2b-256 checksum How to use checksums |
214b739d59a0a434f9ce58e6400ae2dacd66b8e46bbac7e20c3114388556173e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / plotastrodata-1.12.1-py3-none-any.whl
| Download URL | plotastrodata-1.12.1-py3-none-any.whl |
|---|---|
| Size | 115.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8e1f68be8e159e23510cf70b9b4c45b03c2af843ad1c812a602262a92bb177ff
|
|
BLAKE2b-256 checksum How to use checksums |
444bfa803465e35919a1a5b0612db9b7a2841059e95cc1c870d17617ecec4de7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Security for plotastrodata 1.12.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.