summaryrefslogtreecommitdiff
path: root/gnu/packages/astronomy.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/astronomy.scm')
-rw-r--r--gnu/packages/astronomy.scm205
1 files changed, 205 insertions, 0 deletions
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 764a674a6d..908c3ada3a 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -493,6 +493,60 @@ in FITS files.")
(license (license:non-copyleft "file://License.txt"
"See License.txt in the distribution."))))
+(define-public python-aplpy
+ (package
+ (name "python-aplpy")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "aplpy" version))
+ (sha256
+ (base32 "0ph9jhv4q4i4z6nkqr6hjw9148kdlnayxsn83qgv5dqn0h3nc9r8"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs
+ (list python-astropy
+ python-matplotlib
+ python-numpy
+ python-pillow
+ python-pyavm
+ python-pyregion
+ python-reproject
+ python-scikit-image
+ python-shapely))
+ (native-inputs
+ (list python-pytest-astropy
+ python-pytest-mpl
+ python-semantic-version))
+ (home-page "http://aplpy.github.io")
+ (synopsis "Astronomical Plotting Library in Python")
+ (description
+ "@acronym{APLpy, the Astronomical Plotting Library in Python} is a Python
+module aimed at producing publication-quality plots of astronomical imaging data
+in FITS format. The module uses @code{matplotlib}, a powerful and interactive
+plotting package. It is capable of creating output files in several graphical
+formats, including EPS, PDF, PS, PNG, and SVG.
+
+Main features:
+@itemize
+@item Make plots interactively or using scripts
+@item Show grayscale, colorscale, and 3-color RGB images of FITS files
+@item Generate co-aligned FITS cubes to make 3-color RGB images
+@item Make plots from FITS files with arbitrary WCS (e.g. position-velocity)
+@item Slice multi-dimensional FITS cubes
+@item Overlay any number of contour sets
+@item Overlay markers with fully customizable symbols
+@item Plot customizable shapes like circles, ellipses, and rectangles
+@item Overlay ds9 region files
+@item Overlay coordinate grids
+@item Show colorbars, scalebars, and beams
+@item Customize the appearance of labels and ticks
+@item Hide, show, and remove different contour and marker layers
+@item Pan, zoom, and save any view as a full publication-quality plot
+@item Save plots as EPS, PDF, PS, PNG, and SVG
+@end itemize")
+ (license license:expat)))
+
(define-public python-astroml
(package
(name "python-astroml")
@@ -2166,6 +2220,29 @@ cases for which diffractive rather than geometric optics is the topic of
interest, and which require portability between platforms or ease of scripting.")
(license license:bsd-3)))
+(define-public python-pyavm
+ (package
+ (name "python-pyavm")
+ (version "0.9.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyAVM" version))
+ (sha256
+ (base32 "0vgjqvddq4a5lnmg8msm7fwqs3r6fc748xzvnhyvc387h0z8pdxk"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs
+ (list python-astropy python-numpy))
+ (native-inputs
+ (list python-pillow python-pytest python-setuptools-scm))
+ (home-page "https://astrofrog.github.io/pyavm/")
+ (synopsis "Simple pure-python AVM meta-data handling")
+ (description
+ "PyAVM is a module to represent, read, and write metadata following the
+@acronym{AVM, Astronomy Visualization Metadata} standard provided by
+@url{https://www.virtualastronomy.org/avm_metadata.php, vamp} project.")
+ (license license:expat)))
+
(define-public python-pyvo
(package
(name "python-pyvo")
@@ -2455,6 +2532,60 @@ positions of the sun: dawn, sunrise, solar noon, sunset, dusk, solar
elevation, solar azimuth, rahukaalam, and the phases of the moon.")
(license license:asl2.0)))
+(define-public python-spectral-cube
+ (package
+ (name "python-spectral-cube")
+ (version "0.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "spectral-cube" version))
+ (sha256
+ (base32 "10q76rsgf9w4j7y68mfa870bpxf06m6kqvivj4340jmgnsrfy1zg"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs
+ (list python-astropy
+ python-aplpy
+ python-casa-formats-io
+ python-dask
+ python-distributed
+ python-fsspec
+ ;; python-glue-core ; Not packed http://glueviz.org/, optional.
+ python-joblib
+ python-matplotlib
+ python-numpy
+ python-radio-beam
+ python-reproject
+ python-scipy
+ python-six
+ ;; python-yt ; Not packed https://yt-project.org/, optional.
+ python-zarr))
+ (native-inputs
+ (list ;; XXX: Introduce cycle with pvextractor, listed as extra requiremnts
+ ;; in [noviz] option.
+ ;; python-pvextractor
+ python-pytest-astropy
+ python-regions
+ python-semantic-version
+ python-setuptools-scm))
+ (home-page "https://spectral-cube.readthedocs.io/en/latest/")
+ (synopsis "Library for reading and analyzing astrophysical spectral data cubes")
+ (description
+ "The spectral-cube package provides an easy way to read, manipulate,
+analyze, and write data cubes with two positional dimensions and one spectral
+dimension, optionally with Stokes parameters.
+
+It provides the following main features:
+@itemize
+@item A uniform interface to spectral cubes, robust to the wide range of conventions
+of axis order, spatial projections, and spectral units that exist in the wild.
+@item Easy extraction of cube sub-regions using physical coordinates.
+@item Ability to easily create, combine, and apply masks to datasets.
+@item Basic summary statistic methods like moments and array aggregates.
+@item Designed to work with datasets too large to load into memory.
+@end itemize")
+ (license license:bsd-3)))
+
(define-public python-spherical-geometry
(package
(name "python-spherical-geometry")
@@ -3471,6 +3602,46 @@ astrophysical simulations supporting PKDGRAV/Gasoline, Gadget, Gadget4/Arepo,
N-Chilada and RAMSES AMR outputs.")
(license license:gpl3+)))
+(define-public python-pyregion
+ (package
+ (name "python-pyregion")
+ (version "2.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyregion" version))
+ (sha256
+ (base32 "0l7qb7r8fnv46mdih4m5b8jaxixgpw6m7v37dpikjkblgh0vigaw"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'build-extensions
+ (lambda _
+ ;; Cython extensions have to be built before running the tests.
+ (invoke "python" "setup.py" "build_ext" "--inplace"))))))
+ (propagated-inputs
+ (list python-astropy python-numpy python-pyparsing))
+ (native-inputs
+ (list python-cython
+ python-pytest
+ python-pytest-astropy-header
+ python-setuptools-scm))
+ (home-page "https://github.com/astropy/pyregion")
+ (synopsis "Python parser for ds9 region files")
+ (description
+ "@code{pyregion} is a python module to parse ds9 region files. It also
+supports ciao region files.
+Features:
+@itemize
+@item ds9 and ciao region files.
+@item (physical, WCS) coordinate conversion to the image coordinate.
+@item convert regions to matplotlib patches.
+@item convert regions to spatial filter (i.e., generate mask images)
+@end itemize")
+ (license license:expat)))
+
(define-public python-pysynphot
(package
(name "python-pysynphot")
@@ -3955,6 +4126,40 @@ format, which are used by ASDF to serialize and deserialize data for the Nancy
Grace Roman Space Telescope.")
(license license:bsd-3)))
+(define-public python-radio-beam
+ (package
+ (name "python-radio-beam")
+ (version "0.3.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "radio-beam" version))
+ (sha256
+ (base32 "19c6gmm1wvyp5nn1yfbzl428rkysdq273j2yaarxpivv7cwj7qjk"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs
+ (list python-astropy
+ python-matplotlib
+ python-numpy
+ python-scipy
+ python-six))
+ (native-inputs (list python-pytest-astropy python-setuptools-scm))
+ (home-page "https://radio-beam.readthedocs.io/en/latest/")
+ (synopsis "Operations for radio astronomy beams with Astropy")
+ (description
+ "Radio Beam is a simple toolkit for reading beam information from FITS
+headers and manipulating beams.
+Some example applications include:
+@itemize
+@item Convolution and deconvolution
+@item Unit conversion (Jy to/from K)
+@item Handle sets of beams for spectral cubes with varying resolution between
+channels
+@item Find the smallest common beam from a set of beams
+@item Add the beam shape to a matplotlib plot
+@end itemize")
+ (license license:bsd-3)))
+
(define-public python-roman-datamodels
(package
(name "python-roman-datamodels")