|
1 | 1 | ======= |
2 | | -vis_cpu |
| 2 | +matvis |
3 | 3 | ======= |
4 | | -.. image:: https://github.com/hera-team/vis_cpu/workflows/Tests/badge.svg |
5 | | - :target: https://github.com/hera-team/vis_cpu |
| 4 | +.. image:: https://github.com/hera-team/ matvis/workflows/Tests/badge.svg |
| 5 | + :target: https://github.com/hera-team/ matvis |
6 | 6 | .. image:: https://badge.fury.io/py/vis-cpu.svg |
7 | 7 | :target: https://badge.fury.io/py/vis-cpu |
8 | | -.. image:: https://codecov.io/gh/hera-team/vis_cpu/branch/main/graph/badge.svg |
9 | | - :target: https://codecov.io/gh/hera-team/vis_cpu |
| 8 | +.. image:: https://codecov.io/gh/hera-team/ matvis/branch/main/graph/badge.svg |
| 9 | + :target: https://codecov.io/gh/hera-team/ matvis |
10 | 10 | .. image:: https://img.shields.io/badge/code%20style-black-000000.svg |
11 | 11 | :target: https://github.com/psf/black |
12 | 12 |
|
13 | 13 |
|
14 | | -Fast visibility simulator capable of running on CPU and GPU. |
| 14 | +Fast matrix-based visibility simulator capable of running on CPU and GPU. |
15 | 15 |
|
16 | 16 |
|
17 | 17 | Description |
18 | 18 | =========== |
19 | 19 |
|
20 | | -``vis_cpu`` is a Python/numpy-based simulator for interferometer visibilities. |
21 | | -It models the sky as an ensemble of point sources, each with their own frequency |
22 | | -spectrum. Diffuse emission can be modelled by treating (e.g.) each pixel of a Healpix |
23 | | -map as a separate source. The code is capable of modelling polarized visibilities |
24 | | -and primary beams, but currently only a Stokes I sky model. |
| 20 | +``matvis`` is a fast Python matrix-based interferometric visibility simulator with both |
| 21 | +CPU and GPU implementations. |
25 | 22 |
|
26 | | -``vis_cpu`` includes a separate ``pycuda``-based implementation called ``vis_gpu``. |
27 | | -This is intended to keep feature parity with the ``vis_cpu`` code to the greatest |
28 | | -extent possible. |
| 23 | +It is applicable to wide field-of-view instruments such as the Hydrogen Epoch of |
| 24 | +Reionization Array (HERA) and the Square Kilometre Array (SKA), as it does not make |
| 25 | +any approximations of the visibility integral (such as the flat-sky approximation). |
| 26 | +The only approximation made is that the sky is a collection of point sources, which |
| 27 | +is valid for sky models that intrinsically consist of point-sources, but is an |
| 28 | +approximation for diffuse sky models. |
| 29 | + |
| 30 | +An example wrapper for the main ``matvis`` simulator function is provided in this |
| 31 | +package (``matvis.simulate_vis()``). |
| 32 | + |
| 33 | +Features |
| 34 | +-------- |
| 35 | + |
| 36 | +* Matrix-based algorithm is fast and scales well to large numbers of antennas. |
| 37 | +* Supports both CPU and GPU implementations as drop-in replacements for each other. |
| 38 | +* Supports both dense and sparse sky models. |
| 39 | +* Includes a wrapper for simulating multiple frequencies and setting up the simulation. |
| 40 | +* No approximations of the visibility integral (such as the flat-sky approximation). |
| 41 | +* Arbitrary primary beams per-antenna using the ``pyuvdata.UVBeam`` class. |
| 42 | + |
| 43 | +Limitations |
| 44 | +----------- |
| 45 | + |
| 46 | +* Currently no support for polarized sky models. |
| 47 | +* Currently no way of taking advantage of baseline redundancy to speed up simulations. |
| 48 | +* Diffuse sky models must be pixelised, which may not be the best basis-function for |
| 49 | + some sky models. |
29 | 50 |
|
30 | | -An example wrapper for the main ``vis_cpu`` simulator function is provided in this |
31 | | -package (``vis_cpu.wrapper.simulate_vis()``). |
32 | 51 |
|
33 | 52 | Installation |
34 | 53 | ============ |
35 | | -Merely do ``pip install vis_cpu``. If you want to use the GPU functions, install |
36 | | -with ``pip install vis_cpu[gpu]``. |
| 54 | +``pip install matvis``. |
| 55 | + |
| 56 | +If you want to use the GPU functions, install |
| 57 | +with ``pip install matvis[gpu]``. |
37 | 58 |
|
38 | 59 | Developers |
39 | 60 | ========== |
40 | 61 | Run ``pre-commit install`` before working on this code. |
41 | 62 |
|
42 | 63 | Read the Docs |
43 | 64 | ============= |
44 | | -https://vis-cpu.readthedocs.io/en/latest/ |
| 65 | +https://matvis.readthedocs.io/en/latest/ |
0 commit comments