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 use a centered
field whose width is one quarter of the estimated valid image width.
The estimated rmax is written inline 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 over the spatial quarter-size, and 3D channel maps at the 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.0
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.0.tar.gz | 106.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plotastrodata-1.12.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 218.5 kB
Release files / plotastrodata-1.12.0.tar.gz
| Download URL | plotastrodata-1.12.0.tar.gz |
|---|---|
| Size | 106.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cbba6ee7870c1bb2c10686373af434b38ba833ffac4e689447f6c387a0c448d8
|
|
BLAKE2b-256 checksum How to use checksums |
26e158c6daad0e4a7a4fbb7610b2aaf6a844be726fdfa1b31a60d030d78d4169
|
| 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.0-py3-none-any.whl
| Download URL | plotastrodata-1.12.0-py3-none-any.whl |
|---|---|
| Size | 111.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
38b759f156320bcfa2e51552ce9715fec143cca2afece55a31f4b8e840ccaa9d
|
|
BLAKE2b-256 checksum How to use checksums |
239eb6420943cc8c67b10d7c1afe0aecc69d1113b99e6d37089078c3d52a55d6
|
| 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.0
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.