Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add AnalyticBeam objects and a unified interface for UVBeams and AnalyticBeams #1383

Merged
merged 38 commits into from
Oct 17, 2024
Merged
Show file tree
Hide file tree
Changes from 33 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
23520ba
start work on refactoring AnalyticBeams from pyuvsim
bhazelton Aug 29, 2022
23d2f07
more work on the analytic beam refactoring
bhazelton Nov 7, 2022
467eea4
More work on the analytic beam implementation
bhazelton May 4, 2023
1820e85
Start adding some testing
bhazelton Jan 9, 2024
e88892d
Add Airy and Uniform beams, more testing
bhazelton Jan 16, 2024
6cddbf3
Add a short dipole analytic beam, a polarized beam
bhazelton Jan 16, 2024
e58043a
Add return typing
bhazelton Jan 16, 2024
380e9ba
add beam interface testing, fix small issues
bhazelton Jan 17, 2024
4fdf8b4
better docstrings for Gaussian beams
bhazelton Jan 18, 2024
fa489d8
Fix bug in UVBeam.new for cross power beams
bhazelton Jan 23, 2024
83d8df2
Add AnalyticBeam.to_uvbeam method
bhazelton Jan 23, 2024
1ab5752
Make name and basis_vector_type abstract attributes
bhazelton Jan 25, 2024
f268ad3
update the changelog
bhazelton Jan 25, 2024
fadec26
reduce the tolerance on uvbeam/analytic beam comparison
bhazelton Jan 25, 2024
c5e99fd
better healpix lat/lon to az/za handling
bhazelton Jan 30, 2024
d93bc46
tweak tolerance on efield to power comparison
bhazelton Jul 2, 2024
df31cca
updates for pyuvsim
bhazelton Aug 20, 2024
6898789
ruff fixes
bhazelton Aug 22, 2024
3c1e5f4
Add test coverage
bhazelton Aug 26, 2024
d80eb04
use dataclass for Analytic beams and Beam Interface objects
bhazelton Sep 8, 2024
37179a6
Better inputs and docstring for AnalyticBeam.to_uvbeam
bhazelton Sep 13, 2024
ce7c884
Add yaml constructors and representers for Analytic and UV beams
bhazelton Sep 17, 2024
1eb09a6
Fix some things in UVBeam yaml handling, add test coverage
bhazelton Sep 17, 2024
ada6d64
better dataclass setup, other PR comment fixes
bhazelton Sep 17, 2024
5e493e3
Add plugin infrastructure
bhazelton Sep 17, 2024
cd03053
Move subclass check into `__init_subclass__`
bhazelton Sep 17, 2024
af8ccd4
move analytic_beam.py and beam_interface.py to top level
bhazelton Sep 18, 2024
427311a
Add docs
bhazelton Sep 19, 2024
eb9393a
address PR comments
bhazelton Sep 20, 2024
650526e
Add a tutorial on analytic beams
bhazelton Sep 24, 2024
8f3d7d9
Add a BeamInterface tutorial
bhazelton Sep 30, 2024
9455ec5
simplify unpolarized analytic beam construction
bhazelton Oct 2, 2024
0d0e092
Make defining new analytic beams easier
bhazelton Oct 10, 2024
611ca63
Fix tutorial typos
bhazelton Oct 10, 2024
1cbf03d
go back to `feed_array` for conformity with UVBeam in BeamInterface
bhazelton Oct 10, 2024
4a67d6d
fix docs typos
bhazelton Oct 11, 2024
8b6ee44
Add support for an easier to use validation method
bhazelton Oct 14, 2024
7ed37e9
Fix docs: validation -> validate for method name
bhazelton Oct 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ parallel = true
omit =
*/tests/*
*/docs/*
*/data/*
setup.py
source =
pyuvdata
Expand All @@ -13,6 +14,7 @@ source =
omit =
*/tests/*
*/docs/*
*/data/*
setup.py

show_missing = true
Expand Down
9 changes: 7 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,13 @@ All notable changes to this project will be documented in this file.
## [Unreleased]

### Added
- New optional spatial interpolation method, ``interpolation_function="az_za_map_coordinates"`` that improves the linear
interpolation speed for data in ``az_za`` coordinates.
- New analytic beam classes: AiryBeam, GaussianBeam, ShortDipoleBeam, UniformBeam
that support evaluating either the efield or power beam in any direction and frequency.
- A new BeamInterface class that provides a unified interface to UVBeam and analytic
beam objects to get beam responses in any direction and frequency (via
interpolation or evaluation as appropriate).
- New optional spatial interpolation method, ``interpolation_function="az_za_map_coordinates"``
that improves the linear interpolation speed for data in ``az_za`` coordinates.
- New UVParameter `pol_convention` on `UVData` and `UVCal`. This specifies the convention
assumed for converting linear to stokes polarizations -- either "sum" or "avg". Also
added to `uvcalibrate` to apply from the `UVCal` to the `UVData`.
Expand Down
Binary file added docs/Images/airy_beam.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Images/dipole_mwa_power.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Images/short_dipole_beam.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading