uvcombine 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- uvcombine-1.0.0/.github/workflows/main.yml +36 -0
- uvcombine-1.0.0/.github/workflows/pre-commit.yml +17 -0
- uvcombine-1.0.0/.github/workflows/publish.yml +49 -0
- uvcombine-1.0.0/.gitignore +66 -0
- uvcombine-1.0.0/.pre-commit-config.yaml +5 -0
- uvcombine-1.0.0/.readthedocs.yml +19 -0
- uvcombine-1.0.0/CHANGES.rst +28 -0
- uvcombine-1.0.0/LICENSE.rst +34 -0
- uvcombine-1.0.0/MANIFEST.in +16 -0
- uvcombine-1.0.0/PKG-INFO +87 -0
- uvcombine-1.0.0/README.rst +37 -0
- uvcombine-1.0.0/config_template.py +6 -0
- uvcombine-1.0.0/docs/Makefile +134 -0
- uvcombine-1.0.0/docs/_static/radiosnakes_nostruts2.svg +361 -0
- uvcombine-1.0.0/docs/_static/spectralcube.css +9 -0
- uvcombine-1.0.0/docs/_templates/autosummary/base.rst +2 -0
- uvcombine-1.0.0/docs/_templates/autosummary/class.rst +2 -0
- uvcombine-1.0.0/docs/_templates/autosummary/module.rst +2 -0
- uvcombine-1.0.0/docs/api.rst +6 -0
- uvcombine-1.0.0/docs/conf.py +147 -0
- uvcombine-1.0.0/docs/diagnostics.rst +56 -0
- uvcombine-1.0.0/docs/feathering_cubes.rst +82 -0
- uvcombine-1.0.0/docs/feathering_images.rst +45 -0
- uvcombine-1.0.0/docs/index.rst +29 -0
- uvcombine-1.0.0/docs/install.rst +59 -0
- uvcombine-1.0.0/docs/make.bat +170 -0
- uvcombine-1.0.0/examples/Compare Linear to UV.ipynb +243 -0
- uvcombine-1.0.0/examples/DeconvolutionTests.ipynb +433 -0
- uvcombine-1.0.0/examples/FeatheringTests.ipynb +1655 -0
- uvcombine-1.0.0/examples/ScaleFactors.ipynb +729 -0
- uvcombine-1.0.0/examples/deconvolution_experiments.py +73 -0
- uvcombine-1.0.0/examples/example_uvcombine_casa_feather_comparison.py +236 -0
- uvcombine-1.0.0/examples/test_examples.py +131 -0
- uvcombine-1.0.0/pyproject.toml +142 -0
- uvcombine-1.0.0/setup.cfg +4 -0
- uvcombine-1.0.0/setup.py +39 -0
- uvcombine-1.0.0/tox.ini +66 -0
- uvcombine-1.0.0/uvcombine/__init__.py +10 -0
- uvcombine-1.0.0/uvcombine/conftest.py +160 -0
- uvcombine-1.0.0/uvcombine/plot_utilities.py +118 -0
- uvcombine-1.0.0/uvcombine/pspec.py +244 -0
- uvcombine-1.0.0/uvcombine/realspace_combine.py +169 -0
- uvcombine-1.0.0/uvcombine/scale_factor.py +271 -0
- uvcombine-1.0.0/uvcombine/tests/__init__.py +8 -0
- uvcombine-1.0.0/uvcombine/tests/coveragerc +31 -0
- uvcombine-1.0.0/uvcombine/tests/data/make_test_cubes.py +52 -0
- uvcombine-1.0.0/uvcombine/tests/setup_package.py +6 -0
- uvcombine-1.0.0/uvcombine/tests/test_casa.py +80 -0
- uvcombine-1.0.0/uvcombine/tests/test_feather.py +323 -0
- uvcombine-1.0.0/uvcombine/tests/test_scale_factor.py +97 -0
- uvcombine-1.0.0/uvcombine/utils.py +422 -0
- uvcombine-1.0.0/uvcombine/uvcombine.py +1198 -0
- uvcombine-1.0.0/uvcombine/version.py +24 -0
- uvcombine-1.0.0/uvcombine.egg-info/PKG-INFO +87 -0
- uvcombine-1.0.0/uvcombine.egg-info/SOURCES.txt +59 -0
- uvcombine-1.0.0/uvcombine.egg-info/dependency_links.txt +1 -0
- uvcombine-1.0.0/uvcombine.egg-info/not-zip-safe +1 -0
- uvcombine-1.0.0/uvcombine.egg-info/requires.txt +35 -0
- uvcombine-1.0.0/uvcombine.egg-info/scm_file_list.json +54 -0
- uvcombine-1.0.0/uvcombine.egg-info/scm_version.json +8 -0
- uvcombine-1.0.0/uvcombine.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
name: Run tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
tags:
|
|
8
|
+
- '*'
|
|
9
|
+
pull_request:
|
|
10
|
+
workflow_dispatch:
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
tests:
|
|
14
|
+
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v3
|
|
15
|
+
with:
|
|
16
|
+
display: true
|
|
17
|
+
libraries: |
|
|
18
|
+
apt:
|
|
19
|
+
- '^libxcb.*-dev'
|
|
20
|
+
- libxkbcommon-x11-dev
|
|
21
|
+
- libegl1
|
|
22
|
+
envs: |
|
|
23
|
+
- linux: build_docs
|
|
24
|
+
- linux: py310-test
|
|
25
|
+
- linux: py310-test-casa
|
|
26
|
+
- linux: py312-test-dev
|
|
27
|
+
- linux: py313-test-all
|
|
28
|
+
- macos: py310-test-all
|
|
29
|
+
- macos: py311-test-all
|
|
30
|
+
- macos: py312-test-all
|
|
31
|
+
- macos: py313-test-dev
|
|
32
|
+
- windows: py310-test-all
|
|
33
|
+
- windows: py311-test-all
|
|
34
|
+
- windows: py312-test-all
|
|
35
|
+
- windows: py313-test-dev
|
|
36
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name: pre-commit
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
pull_request:
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
pre-commit:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- uses: actions/setup-python@v5
|
|
15
|
+
with:
|
|
16
|
+
python-version: '3.x'
|
|
17
|
+
- uses: pre-commit/action@v3.0.1
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
name: Build and upload to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
tags:
|
|
8
|
+
- '*'
|
|
9
|
+
pull_request:
|
|
10
|
+
workflow_dispatch:
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
build_sdist_and_wheel:
|
|
14
|
+
name: Build distribution
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
with:
|
|
19
|
+
fetch-depth: 0
|
|
20
|
+
fetch-tags: true
|
|
21
|
+
- uses: actions/setup-python@v5
|
|
22
|
+
name: Install Python
|
|
23
|
+
with:
|
|
24
|
+
python-version: '3.12'
|
|
25
|
+
- name: Install build
|
|
26
|
+
run: python -m pip install build
|
|
27
|
+
- name: Build sdist and wheel
|
|
28
|
+
run: python -m build --sdist --wheel --outdir dist/ .
|
|
29
|
+
- uses: actions/upload-artifact@v4
|
|
30
|
+
with:
|
|
31
|
+
name: dist
|
|
32
|
+
path: dist/*
|
|
33
|
+
|
|
34
|
+
upload_pypi:
|
|
35
|
+
name: Upload to PyPI
|
|
36
|
+
needs: [build_sdist_and_wheel]
|
|
37
|
+
runs-on: ubuntu-latest
|
|
38
|
+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
|
39
|
+
environment:
|
|
40
|
+
name: pypi
|
|
41
|
+
url: https://pypi.org/p/uvcombine
|
|
42
|
+
permissions:
|
|
43
|
+
id-token: write # required for PyPI trusted publishing (OIDC)
|
|
44
|
+
steps:
|
|
45
|
+
- uses: actions/download-artifact@v4
|
|
46
|
+
with:
|
|
47
|
+
name: dist
|
|
48
|
+
path: dist
|
|
49
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Compiled files
|
|
2
|
+
*.py[cod]
|
|
3
|
+
*.a
|
|
4
|
+
*.o
|
|
5
|
+
*.so
|
|
6
|
+
__pycache__
|
|
7
|
+
|
|
8
|
+
# Ignore .c files by default to avoid including generated code. If you want to
|
|
9
|
+
# add a non-generated .c extension, use `git add -f filename.c`.
|
|
10
|
+
*.c
|
|
11
|
+
|
|
12
|
+
# Other generated files
|
|
13
|
+
*/version.py
|
|
14
|
+
*/cython_version.py
|
|
15
|
+
htmlcov
|
|
16
|
+
.coverage
|
|
17
|
+
MANIFEST
|
|
18
|
+
|
|
19
|
+
# Sphinx
|
|
20
|
+
docs/api
|
|
21
|
+
docs/_build
|
|
22
|
+
|
|
23
|
+
# Eclipse editor project files
|
|
24
|
+
.project
|
|
25
|
+
.pydevproject
|
|
26
|
+
.settings
|
|
27
|
+
|
|
28
|
+
# Pycharm editor project files
|
|
29
|
+
.idea
|
|
30
|
+
|
|
31
|
+
# Packages/installer info
|
|
32
|
+
*.egg
|
|
33
|
+
*.egg-info
|
|
34
|
+
dist
|
|
35
|
+
build
|
|
36
|
+
eggs
|
|
37
|
+
parts
|
|
38
|
+
bin
|
|
39
|
+
var
|
|
40
|
+
sdist
|
|
41
|
+
develop-eggs
|
|
42
|
+
.installed.cfg
|
|
43
|
+
distribute-*.tar.gz
|
|
44
|
+
|
|
45
|
+
# Other
|
|
46
|
+
.cache
|
|
47
|
+
.tox
|
|
48
|
+
.*.sw[op]
|
|
49
|
+
*~
|
|
50
|
+
|
|
51
|
+
# Mac OSX
|
|
52
|
+
.DS_Store
|
|
53
|
+
|
|
54
|
+
*.ipynb_checkpoints
|
|
55
|
+
examples/*.png
|
|
56
|
+
*.png
|
|
57
|
+
|
|
58
|
+
# Backup files left behind by editors/CASA sessions
|
|
59
|
+
*.pybck
|
|
60
|
+
*.ipynbbck
|
|
61
|
+
*.orig
|
|
62
|
+
casapy-*.log
|
|
63
|
+
casa-*.log
|
|
64
|
+
ipython-*.log
|
|
65
|
+
ipython_log_*.py
|
|
66
|
+
*.last
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
|
|
3
|
+
build:
|
|
4
|
+
os: "ubuntu-22.04"
|
|
5
|
+
tools:
|
|
6
|
+
python: "3.12"
|
|
7
|
+
|
|
8
|
+
# Install regular dependencies.
|
|
9
|
+
python:
|
|
10
|
+
install:
|
|
11
|
+
- method: pip
|
|
12
|
+
path: .
|
|
13
|
+
extra_requirements:
|
|
14
|
+
- docs
|
|
15
|
+
|
|
16
|
+
sphinx:
|
|
17
|
+
configuration: docs/conf.py
|
|
18
|
+
builder: html
|
|
19
|
+
fail_on_warning: true
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
1.0.0 (2026-09-10)
|
|
2
|
+
------------------
|
|
3
|
+
First release on PyPI. Requires Python 3.10+ and astropy 6.1+.
|
|
4
|
+
|
|
5
|
+
Highlights:
|
|
6
|
+
|
|
7
|
+
- Feathering of high-resolution (interferometric) and low-resolution
|
|
8
|
+
(single-dish) images with ``feather_simple``, and of spectral cubes with
|
|
9
|
+
``feather_simple_cube``, including dask-backed, memory-limited processing of
|
|
10
|
+
large cubes (#25, #34)
|
|
11
|
+
- uv-overlap consistency checks and single-dish flux scale factors with
|
|
12
|
+
``feather_compare``, ``feather_plot`` and ``uvcombine.scale_factor`` (#16)
|
|
13
|
+
- Tests comparing ``feather_simple`` with CASA's ``feather`` task (#23)
|
|
14
|
+
|
|
15
|
+
Changes leading up to 1.0.0:
|
|
16
|
+
|
|
17
|
+
- Remove the remaining ``turbustat`` imports and make ``statsmodels`` an
|
|
18
|
+
optional dependency, installed with ``pip install "uvcombine[stats]"`` (#58)
|
|
19
|
+
- Fix ``find_scale_factor(method='distrib')`` returning exp(scale factor)
|
|
20
|
+
when the likelihood fit is not used, including when statsmodels is not
|
|
21
|
+
installed (#58)
|
|
22
|
+
- Vendor TurbuStat's ``pspec`` to drop the runtime ``turbustat`` dependency (#57)
|
|
23
|
+
- Handle unitless axes in ``feather_plot`` (#54)
|
|
24
|
+
- Remove old deprecated code (#48)
|
|
25
|
+
- Replace astropy's defunct ``ProgressBar`` with ``tqdm`` (#44)
|
|
26
|
+
- Switch PyPI publishing to trusted publishing (OIDC) and add the missing
|
|
27
|
+
``LICENSE.rst`` (#52)
|
|
28
|
+
- Docs, CI and packaging maintenance (#29, #30, #38, #47, #51, #53, #55, #56)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
Copyright (c) 2015-2026, uvcombine developers
|
|
2
|
+
All rights reserved.
|
|
3
|
+
|
|
4
|
+
Redistribution and use in source and binary forms, with or without
|
|
5
|
+
modification, are permitted provided that the following conditions are met:
|
|
6
|
+
|
|
7
|
+
* Redistributions of source code must retain the above copyright notice, this
|
|
8
|
+
list of conditions and the following disclaimer.
|
|
9
|
+
|
|
10
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
|
11
|
+
this list of conditions and the following disclaimer in the documentation
|
|
12
|
+
and/or other materials provided with the distribution.
|
|
13
|
+
|
|
14
|
+
* Neither the name of the copyright holder nor the names of its
|
|
15
|
+
contributors may be used to endorse or promote products derived from
|
|
16
|
+
this software without specific prior written permission.
|
|
17
|
+
|
|
18
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
19
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
20
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
21
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
22
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
23
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
24
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
25
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
26
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
27
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
+
|
|
29
|
+
Licenses of bundled code
|
|
30
|
+
=========================
|
|
31
|
+
|
|
32
|
+
``uvcombine/pspec.py`` is adapted from TurbuStat
|
|
33
|
+
(https://github.com/Astroua/TurbuStat), which is distributed under the
|
|
34
|
+
MIT license reproduced at the top of that file.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
include README.md
|
|
2
|
+
include CHANGES.rst
|
|
3
|
+
include LICENSE.rst
|
|
4
|
+
include pyproject.toml
|
|
5
|
+
|
|
6
|
+
recursive-include *.pyx *.c *.pxd
|
|
7
|
+
recursive-include docs *
|
|
8
|
+
recursive-include licenses *
|
|
9
|
+
recursive-include cextern *
|
|
10
|
+
recursive-include scripts *
|
|
11
|
+
|
|
12
|
+
prune build
|
|
13
|
+
prune docs/_build
|
|
14
|
+
prune docs/api
|
|
15
|
+
|
|
16
|
+
global-exclude *.pyc *.o
|
uvcombine-1.0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: uvcombine
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Combination of high- and low-resolution radio astronomical data.
|
|
5
|
+
Author: Adam Ginsburg
|
|
6
|
+
Author-email: Eric Koch <koch.eric.w@gmail.com>
|
|
7
|
+
License-Expression: BSD-3-Clause
|
|
8
|
+
Project-URL: homepage, https://uvcombine.readthedocs.org
|
|
9
|
+
Project-URL: documentation, https://uvcombine.readthedocs.org
|
|
10
|
+
Project-URL: repository, https://github.com/radio-astro-tools/uvcombine
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Requires-Python: >=3.10
|
|
18
|
+
Description-Content-Type: text/x-rst
|
|
19
|
+
License-File: LICENSE.rst
|
|
20
|
+
Requires-Dist: astropy>=6.1
|
|
21
|
+
Requires-Dist: numpy>=1.8
|
|
22
|
+
Requires-Dist: scipy
|
|
23
|
+
Requires-Dist: packaging>=19
|
|
24
|
+
Requires-Dist: setuptools>=62.3.3
|
|
25
|
+
Requires-Dist: matplotlib>=3.5
|
|
26
|
+
Requires-Dist: reproject>=0.13
|
|
27
|
+
Requires-Dist: spectral-cube>=0.4.0
|
|
28
|
+
Requires-Dist: radio-beam>=0.3.5
|
|
29
|
+
Requires-Dist: tqdm
|
|
30
|
+
Provides-Extra: docs
|
|
31
|
+
Requires-Dist: sphinx-astropy; extra == "docs"
|
|
32
|
+
Provides-Extra: test
|
|
33
|
+
Requires-Dist: pytest>=5; extra == "test"
|
|
34
|
+
Requires-Dist: pytest-astropy>=0.10; extra == "test"
|
|
35
|
+
Requires-Dist: pytest-cov>=3; extra == "test"
|
|
36
|
+
Requires-Dist: scikit-image>=0.24; extra == "test"
|
|
37
|
+
Provides-Extra: dev
|
|
38
|
+
Requires-Dist: numpy>=0.0.dev0; extra == "dev"
|
|
39
|
+
Requires-Dist: astropy>=0.0.dev0; extra == "dev"
|
|
40
|
+
Requires-Dist: spectral-cube>=0.0.dev0; extra == "dev"
|
|
41
|
+
Requires-Dist: radio-beam>=0.0.dev0; extra == "dev"
|
|
42
|
+
Provides-Extra: notebooks
|
|
43
|
+
Requires-Dist: pre-commit; extra == "notebooks"
|
|
44
|
+
Requires-Dist: nbstripout; extra == "notebooks"
|
|
45
|
+
Provides-Extra: stats
|
|
46
|
+
Requires-Dist: statsmodels; extra == "stats"
|
|
47
|
+
Provides-Extra: all
|
|
48
|
+
Requires-Dist: uvcombine[docs,stats,test]; extra == "all"
|
|
49
|
+
Dynamic: license-file
|
|
50
|
+
|
|
51
|
+
uvcombine
|
|
52
|
+
=========
|
|
53
|
+
|
|
54
|
+
uvcombine provides tools for combining high-resolution images with missing large angular scales (Fourier-domain short-spacings)
|
|
55
|
+
with low-resolution images containing the short/zero spacing, including:
|
|
56
|
+
|
|
57
|
+
* Feathering two images
|
|
58
|
+
* Feathering two cubes (including for large cubes using spectral-cube's dask implementation)
|
|
59
|
+
* uv-overlap consistency tests and measuring the single dish flux scaling factor.
|
|
60
|
+
|
|
61
|
+
See the `documentation <https://uvcombine.readthedocs.io/en/latest/>`_ for more information.
|
|
62
|
+
Worked notebook examples of the uvcombine functionality can be found in the `examples <https://github.com/radio-astro-tools/uvcombine/tree/main/examples>`_ directory.
|
|
63
|
+
|
|
64
|
+
Install the latest release from PyPI with::
|
|
65
|
+
|
|
66
|
+
pip install uvcombine
|
|
67
|
+
|
|
68
|
+
Development
|
|
69
|
+
^^^^^^^^^^^
|
|
70
|
+
|
|
71
|
+
Example notebooks under ``examples/`` are kept free of cell outputs on ``main`` so
|
|
72
|
+
diffs stay reviewable. This is enforced by a ``pre-commit`` hook (`nbstripout
|
|
73
|
+
<https://github.com/kynan/nbstripout>`_) plus a CI check that fails if a notebook
|
|
74
|
+
with outputs is pushed. To set up the hook locally::
|
|
75
|
+
|
|
76
|
+
pip install -e ".[notebooks]"
|
|
77
|
+
pre-commit install
|
|
78
|
+
|
|
79
|
+
Notebooks with their outputs executed are kept on the ``with-output`` branch
|
|
80
|
+
instead; it is refreshed manually (not by CI) whenever an example notebook changes.
|
|
81
|
+
|
|
82
|
+
radio-astro-tools
|
|
83
|
+
^^^^^^^^^^^^^^^^^
|
|
84
|
+
|
|
85
|
+
This package is part of the radio-astro-tools project. See
|
|
86
|
+
`radio-astro-tools <https://radio-astro-tools.github.io/>`_ for more information.
|
|
87
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
uvcombine
|
|
2
|
+
=========
|
|
3
|
+
|
|
4
|
+
uvcombine provides tools for combining high-resolution images with missing large angular scales (Fourier-domain short-spacings)
|
|
5
|
+
with low-resolution images containing the short/zero spacing, including:
|
|
6
|
+
|
|
7
|
+
* Feathering two images
|
|
8
|
+
* Feathering two cubes (including for large cubes using spectral-cube's dask implementation)
|
|
9
|
+
* uv-overlap consistency tests and measuring the single dish flux scaling factor.
|
|
10
|
+
|
|
11
|
+
See the `documentation <https://uvcombine.readthedocs.io/en/latest/>`_ for more information.
|
|
12
|
+
Worked notebook examples of the uvcombine functionality can be found in the `examples <https://github.com/radio-astro-tools/uvcombine/tree/main/examples>`_ directory.
|
|
13
|
+
|
|
14
|
+
Install the latest release from PyPI with::
|
|
15
|
+
|
|
16
|
+
pip install uvcombine
|
|
17
|
+
|
|
18
|
+
Development
|
|
19
|
+
^^^^^^^^^^^
|
|
20
|
+
|
|
21
|
+
Example notebooks under ``examples/`` are kept free of cell outputs on ``main`` so
|
|
22
|
+
diffs stay reviewable. This is enforced by a ``pre-commit`` hook (`nbstripout
|
|
23
|
+
<https://github.com/kynan/nbstripout>`_) plus a CI check that fails if a notebook
|
|
24
|
+
with outputs is pushed. To set up the hook locally::
|
|
25
|
+
|
|
26
|
+
pip install -e ".[notebooks]"
|
|
27
|
+
pre-commit install
|
|
28
|
+
|
|
29
|
+
Notebooks with their outputs executed are kept on the ``with-output`` branch
|
|
30
|
+
instead; it is refreshed manually (not by CI) whenever an example notebook changes.
|
|
31
|
+
|
|
32
|
+
radio-astro-tools
|
|
33
|
+
^^^^^^^^^^^^^^^^^
|
|
34
|
+
|
|
35
|
+
This package is part of the radio-astro-tools project. See
|
|
36
|
+
`radio-astro-tools <https://radio-astro-tools.github.io/>`_ for more information.
|
|
37
|
+
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Makefile for Sphinx documentation
|
|
2
|
+
#
|
|
3
|
+
|
|
4
|
+
# You can set these variables from the command line.
|
|
5
|
+
SPHINXOPTS =
|
|
6
|
+
SPHINXBUILD = sphinx-build
|
|
7
|
+
PAPER =
|
|
8
|
+
BUILDDIR = _build
|
|
9
|
+
|
|
10
|
+
# Internal variables.
|
|
11
|
+
PAPEROPT_a4 = -D latex_paper_size=a4
|
|
12
|
+
PAPEROPT_letter = -D latex_paper_size=letter
|
|
13
|
+
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
|
14
|
+
|
|
15
|
+
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
|
|
16
|
+
|
|
17
|
+
#This is needed with git because git doesn't create a dir if it's empty
|
|
18
|
+
$(shell [ -d "_static" ] || mkdir -p _static)
|
|
19
|
+
|
|
20
|
+
help:
|
|
21
|
+
@echo "Please use \`make <target>' where <target> is one of"
|
|
22
|
+
@echo " html to make standalone HTML files"
|
|
23
|
+
@echo " dirhtml to make HTML files named index.html in directories"
|
|
24
|
+
@echo " singlehtml to make a single large HTML file"
|
|
25
|
+
@echo " pickle to make pickle files"
|
|
26
|
+
@echo " json to make JSON files"
|
|
27
|
+
@echo " htmlhelp to make HTML files and a HTML help project"
|
|
28
|
+
@echo " qthelp to make HTML files and a qthelp project"
|
|
29
|
+
@echo " devhelp to make HTML files and a Devhelp project"
|
|
30
|
+
@echo " epub to make an epub"
|
|
31
|
+
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
|
32
|
+
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
|
33
|
+
@echo " text to make text files"
|
|
34
|
+
@echo " man to make manual pages"
|
|
35
|
+
@echo " changes to make an overview of all changed/added/deprecated items"
|
|
36
|
+
@echo " linkcheck to check all external links for integrity"
|
|
37
|
+
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
|
38
|
+
|
|
39
|
+
clean:
|
|
40
|
+
-rm -rf $(BUILDDIR)
|
|
41
|
+
-rm -rf api
|
|
42
|
+
|
|
43
|
+
html:
|
|
44
|
+
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
|
45
|
+
@echo
|
|
46
|
+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
|
47
|
+
|
|
48
|
+
dirhtml:
|
|
49
|
+
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
|
50
|
+
@echo
|
|
51
|
+
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
|
52
|
+
|
|
53
|
+
singlehtml:
|
|
54
|
+
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
|
55
|
+
@echo
|
|
56
|
+
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
|
57
|
+
|
|
58
|
+
pickle:
|
|
59
|
+
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
|
60
|
+
@echo
|
|
61
|
+
@echo "Build finished; now you can process the pickle files."
|
|
62
|
+
|
|
63
|
+
json:
|
|
64
|
+
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
|
65
|
+
@echo
|
|
66
|
+
@echo "Build finished; now you can process the JSON files."
|
|
67
|
+
|
|
68
|
+
htmlhelp:
|
|
69
|
+
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
|
70
|
+
@echo
|
|
71
|
+
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
|
72
|
+
".hhp project file in $(BUILDDIR)/htmlhelp."
|
|
73
|
+
|
|
74
|
+
qthelp:
|
|
75
|
+
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
|
76
|
+
@echo
|
|
77
|
+
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
|
78
|
+
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
|
79
|
+
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Astropy.qhcp"
|
|
80
|
+
@echo "To view the help file:"
|
|
81
|
+
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Astropy.qhc"
|
|
82
|
+
|
|
83
|
+
devhelp:
|
|
84
|
+
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
|
85
|
+
@echo
|
|
86
|
+
@echo "Build finished."
|
|
87
|
+
@echo "To view the help file:"
|
|
88
|
+
@echo "# mkdir -p $$HOME/.local/share/devhelp/Astropy"
|
|
89
|
+
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Astropy"
|
|
90
|
+
@echo "# devhelp"
|
|
91
|
+
|
|
92
|
+
epub:
|
|
93
|
+
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
|
94
|
+
@echo
|
|
95
|
+
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
|
96
|
+
|
|
97
|
+
latex:
|
|
98
|
+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
|
99
|
+
@echo
|
|
100
|
+
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
|
101
|
+
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
|
102
|
+
"(use \`make latexpdf' here to do that automatically)."
|
|
103
|
+
|
|
104
|
+
latexpdf:
|
|
105
|
+
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
|
106
|
+
@echo "Running LaTeX files through pdflatex..."
|
|
107
|
+
make -C $(BUILDDIR)/latex all-pdf
|
|
108
|
+
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
|
109
|
+
|
|
110
|
+
text:
|
|
111
|
+
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
|
112
|
+
@echo
|
|
113
|
+
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
|
114
|
+
|
|
115
|
+
man:
|
|
116
|
+
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
|
117
|
+
@echo
|
|
118
|
+
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
|
119
|
+
|
|
120
|
+
changes:
|
|
121
|
+
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
|
122
|
+
@echo
|
|
123
|
+
@echo "The overview file is in $(BUILDDIR)/changes."
|
|
124
|
+
|
|
125
|
+
linkcheck:
|
|
126
|
+
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
|
127
|
+
@echo
|
|
128
|
+
@echo "Link check complete; look for any errors in the above output " \
|
|
129
|
+
"or in $(BUILDDIR)/linkcheck/output.txt."
|
|
130
|
+
|
|
131
|
+
doctest:
|
|
132
|
+
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
|
133
|
+
@echo "Testing of doctests in the sources finished, look at the " \
|
|
134
|
+
"results in $(BUILDDIR)/doctest/output.txt."
|