Metadata-Version: 2.4
Name: convolve_uv
Version: 0.5.0
Summary: Perform Gaussian convolution directly in the uv-plane
Author-email: Thomas Williams <thomas.g.williams@manchester.ac.uk>
Maintainer-email: Thomas Williams <thomas.g.williams@manchester.ac.uk>
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/thomaswilliamsastro/convolve_uv
Project-URL: Documentation, https://convolve-uv.readthedocs.io/en/stable/
Project-URL: Bug Reports, https://github.com/thomaswilliamsastro/convolve_uv/issues
Project-URL: Source, https://github.com/thomaswilliamsastro/convolve_uv
Keywords: astronomy,radio astronomy,convolution,uv-plane,spectral cube,beam
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Scientific/Engineering :: Astronomy
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: astropy>=7.2.0
Requires-Dist: numpy>=2.3.5
Requires-Dist: radio-beam>=0.3.9
Requires-Dist: spectral-cube>=0.6.7
Provides-Extra: test
Requires-Dist: pytest>=9.0; extra == "test"
Requires-Dist: pytest-cov>=7.1.0; extra == "test"
Provides-Extra: test-ruff
Requires-Dist: ruff>=0.15.10; extra == "test-ruff"
Provides-Extra: test-mypy
Requires-Dist: mypy>=1.19; extra == "test-mypy"
Provides-Extra: docs
Requires-Dist: myst-parser>=5.1.0; extra == "docs"
Requires-Dist: sphinx>=9.1.0; extra == "docs"
Requires-Dist: sphinx-automodapi>=0.22.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=3.1.0; extra == "docs"
Dynamic: license-file

# convolve_uv

[![PyPI](https://img.shields.io/pypi/v/convolve-uv.svg?label=PyPI&style=flat-square)](https://pypi.org/pypi/convolve-uv/)
[![Python](https://img.shields.io/pypi/pyversions/convolve-uv.svg?label=Python&color=yellow&style=flat-square)](https://pypi.org/pypi/convolve-uv/)
[![build](https://img.shields.io/github/actions/workflow/status/thomaswilliamsastro/convolve_uv/build.yml?branch=main&style=flat-square)](https://github.com/thomaswilliamsastro/convolve_uv/actions/workflows/build.yml)
[![tests](https://img.shields.io/github/actions/workflow/status/thomaswilliamsastro/convolve_uv/tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/thomaswilliamsastro/convolve_uv/actions/workflows/tests.yml)
[![readthedocs](https://readthedocs.org/projects/convolve-uv/badge/?version=latest&style=flat-square)](https://convolve-uv.readthedocs.io/en/latest)
[![codecov](https://img.shields.io/codecov/c/gh/thomaswilliamsastro/convolve_uv?style=flat-square)](https://codecov.io/gh/thomaswilliamsastro/convolve_uv)
[![License](https://img.shields.io/badge/license-GNUv3-blue.svg?label=License&style=flat-square)](LICENSE)

`convolve-uv` is a small Python package that allows for image convolution without loss of resolution.

## Installation

```bash
pip install convolve-uv
```

## Usage

```python
import astropy.units as u
from convolve_uv import convolve_uv
from radio_beam import Beam
from spectral_cube import SpectralCube

cube = SpectralCube.read("my_cube.fits")
target_beam = Beam(major=0.86 * u.arcsec, minor=0.86 * u.arcsec, pa=0 * u.deg)

cube_conv = convolve_uv(image=cube, target_beam=target_beam)
cube_conv.write("my_convolved_cube.fits")
```

For more details, read the [documentation](https://convolve-uv.readthedocs.io/en/latest/).
