Releases: RadioAstronomySoftwareGroup/pyuvdata
Version 3.2.5
This version has a number of fixes and improvements:
- Added a
UVData.flip_conjugationmethod and more detail to the uvw check warning
message to inform users when a conjugation flip might be needed. - Improved handling for MWA correlator fits files responding to recent updates to the MWA digital system.
- Better colormap defaulting and a new parameter to set the color map in beam plotting methods.
- Compatibility with numpy>=2.3
full details below and in our changelog:
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1620
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1622
- Error when attempting to read fringe stopped data by @ldress in #1621
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1623
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1626
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1627
- Change
remove_coarse_bandsetting when reading derippled MWA data by @ldress in #1628 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1630
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1635
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1636
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1637
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1640
- Fix backwards compatibility issues with feed arrays in beamfits files by @bhazelton in #1638
- Beam plotting tweaks by @bhazelton in #1639
- Add
flip_conjugationmethod and user info if it would reduce the uvw discrepancy by @bhazelton in #1634 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1642
- [pre-commit.ci] pre-commit autoupdate, pin numba in pyproject.toml by @pre-commit-ci[bot] in #1644
- Making uvcalibrate work w/ wideband gains solns by @kartographer in #1643
- prepare for v3.2.5 by @bhazelton in #1645
New Contributors
Full Changelog: v3.2.4...v3.2.5
Version 3.2.4
This release adds some new beam plotting methods and some improved tutorial content.
It also:
- Changes how the test data is managed. The test data has been moved out of this repo to a new repo (https://github.com/RadioAstronomySoftwareGroup/rasg-datasets/) and pooch is used to download it as needed in the tests and tutorial.
- Fixes a bug that caused an error when setting the pixel_coordinate_system in
UVBeam.newandAnalyticBeam.to_uvbeam.
full details below and in our changelog:
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1600
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1601
- Use pooch and put test data in rasg_datasets repo by @bhazelton in #1603
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1605
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1608
- Don't use asserts in non-testing code by @bhazelton in #1607
- Fix test now that ATCA is in astropy sites by @bhazelton in #1610
- Fix some issues in typing for numpy arrays by @bhazelton in #1609
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1611
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1614
- Clean up and improve tutorials for Sybil testing, add missing content by @bhazelton in #1612
- Add uvbeam plotting by @bhazelton in #1613
- update changelog for new beam plotting by @bhazelton in #1616
- fix our branch scheme to handle slashes in branch names by @bhazelton in #1615
- Fix a bug when setting pixel_coordinate_system in to_uvbeam by @bhazelton in #1617
- prepare for v3.2.4 by @bhazelton in #1618
Full Changelog: v3.2.3...v3.2.4
Version 3.2.3
This release adds support for reading FEKO ffe files into a UVBeam object.
It also has a number of small improvements and bug fixes:
- Analytic ShortDipoleBeam objects can now accept arbitrary wraps of 2pi in
their feed angles. The feed angles that are stored on the object have their
feed angles normalized to be between 0 and pi/2. - A bug in the UVBeam yaml constructor that caused the
freq_rangeoption to be ignored. - A bug in
utils.io.ms.read_ms_historywhere reading the table caused an IndexError
due to the "APP_PARAMS" and "CLI_COMMAND" columns being populated in a non-standard
fashion. - A bug in UVBeam's CST reader that caused the bandpass array to be incorrectly
set to 0 except for the first frequency. - A bug in
UVParameter.get_from_formandUVParameter.set_from_formthat caused
errors when using astropy SkyCoord, Quantity or Time objects in UVParameters,
arose when usingUVBase._select_along_param_axis.
full details below and in our changelog:
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1581
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1584
- Implement a check of pyuvsim cache for fallback file inside _uvbeam_constructor by @burdorfmitchell in #1583
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1585
- Fix UVBase._select_along_param_axis for SkyCood by @bhazelton in #1582
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1586
- Cleanup a bunch of small things by @bhazelton in #1589
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1593
- Fix to MS History table reader by @kartographer in #1596
- Fix a bug in the UVBeam yaml constructor by @bhazelton in #1594
- Add feko read by @nmahesh1412 in #1328
- Prep for v3.2.3 by @bhazelton in #1599
New Contributors
- @burdorfmitchell made their first contribution in #1583
- @nmahesh1412 made their first contribution in #1328
Full Changelog: v3.2.2...v3.2.3
Version 3.2.2
Primarily, this version fixes incompatibilities with cython 3.1. It also includes converting some utils from cython to numba for improved performance and maintainability.
Dependency changes:
- Added numba>=0.57.0 as a dependency
- Updated minimum dependency versions: h5py>=3.7, python>=3.11, scipy>=1.9
- Updated minimum optional dependency versions: hdf5plugin>=3.3.1, pytest-cases>=3.9.1
Full details below and in our changelog:
What's Changed
- Pin version of cython for installation and CI jobs by @kartographer in #1561
- Initial editorial tweaks for JOSS paper by @warrickball in #1560
- Fixing minor typo in JOSS paper title by @kartographer in #1564
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1563
- Test against python 3.13, drop support for python 3.10 by @bhazelton in #1565
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1567
- First adventures in numba by @kartographer in #1566
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1569
- JOSS v3 paper integration by @kartographer in #1570
- pin pytest<8.4 because pytest-cases is not yet compatible with 8.4 by @bhazelton in #1574
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1573
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1577
- unpin pytest, increase pytest-cases minimum version by @bhazelton in #1578
- Unpin cython by @mkolopanis in #1576
- test data cleanup by @bhazelton in #1568
- Prepare for a new release because of cython issues by @bhazelton in #1580
New Contributors
- @warrickball made their first contribution in #1560
Full Changelog: v3.2.1...v3.2.2
Version 3.2.1
This is the release associated with our new JOSS paper 🎉
It also fixes a few bugs:
- A bug where the
Telescope.get_x_orientationwould not return"east"or"north"
if the feed angles if outside of the range of 0 to 90 degrees (e.g. 180 and 270 degrees
for x- and y-polarization should return "north".). - A bug in reading in uvfits files with baseline coordinates that have the '--' suffix,
which is allowed in uvfits files. - A bug in reading in uvfits files where the antenna frame is given by an arbitrary
number of repeated '?', which is allowed in uvfits.
Full details below and in our changelog:
What's Changed
- Fix some typos I found writing release notes for v3.2 by @bhazelton in #1553
- VLBI-related UVFITS fixes by @kartographer in #1557
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1555
- Fix to x-orientation determination feed wrapped values of
Telescope.feed_arrayby @kartographer in #1558 - JOSS paper on v3 by @kartographer in #1461
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1559
Full Changelog: v3.2.0...v3.2.1
Version 3.2
This version has a number of significant changes and improvements. Highlights include:
Feed angle support
The biggest change is improved support for specifying feed orientations. To support this, three new parameters, feed_array (e.g. ["x", "y"]), feed_angle and mount_type have been added to the Telescope object. Each of these have an axis of length Nants, so they can be specified per antenna. The feed_array and feed_angle also have another axis of length Nfeed (commonly equal to 2). The mount_type determines the meaning of the feed_angle and the feed_array specifies which angle applies to which feed. See the new Conventions page in the docs for a full description of these new parameters as well as detailed documentation of a number of other conventions in the pyuvdata package and radio astronomy in general. UVBeam and the AnalyticBeam based objects already had a feed_array parameter, but it has now been made required and the feed_angle and mount_type parameters have also been added as required parameters.
Other additions
- Near-field phasing: Support for near-field phasing has been added to UVData.
- Inverting selections: A new
invertkeyword added toUVData.select,UVBeam.select,UVCal.select, and
UVFlag.select, which allows the user to specify data to deselect rather than select. - MSCal improvements: Support for MeasurementSet calibration subtypes "T Jones" (non-pol-specific antenna gains) and "D Jones" (polarization leakages) has been added to
MSCal. - Telescope methods: Several new methods have been added to the Telescope object including
__add__,reorder_antennasandreorder_feeds. - More control over warnings and errors on numerous methods and functions.
Bug fixes
- A bug in
UVData.write_mswhere datasets with a single spectral window were being written with the wrong conjugation when settingflip_conj=True. - A bug in
UVData.write_mswhere the baseline conjugation scheme did not conform to what CASA nominally expects. - A bug in MWA beams that caused beams pointed away from zenith to be wrong because the delays were not assigned to the right dipoles.
- A bug in
UVBeam.selectwherepolarization_arraycould be incorrectly ordered after selection (if input topolarizationskeyword was unordered). - A bug in
UVData.sum_viswhere it errored if there were different filenames on the input objects. Now the filename lists are combined on the output object. - A bug in
utils.tools.slicifyandutils.tools._convert_to_sliceswhere reverse-ordered slices (i.e., where the step was negative) were not correctly handled.
Deprecated
- The
x_orientationparameter, which was used to specify feed orientation but with much less flexibility has been deprecated, but some convenience functions to convert betweenx_orientationandfeed_anglewhen possible have been added (Telescope.set_feeds_from_x_orientationandTelescope.get_x_orientation_from_feeds). - The options
"e"and"n"for elements offeed_arrayin andUVBeamhave also been deprecated.
Removed
- The
future_array_shapesattribute onUVBaseobjects. - The
use_future_array_shapeskeyword in various class methods. - The
use_future_array_shapesmethod onUVBaseobjects. - Support for accessing the telescope-related metadata through their old attribute names on
UVData,UVCalandUVFlagrather than via their attributes on the attachedTelescopeobject (e.g.UVData.telescope_name->UVData.telescope.nameandUVData.antenna_positions->UVData.telescope.antenna_positions). - Support for passing telescope-related metadata as separate parameters to
UVData.newandUVCal.newrather thanTelescopeobjects. - The
UVData.get_ENU_antposmethod in favor ofUVData.telescope.get_enu_antpos. - The
Telescope.telescope_locationandTelescope.telescope_nameattributes in favor ofTelescope.locationandTelescope.name. - The
get_telescopefunction in favor of theknown_telescope_locationfunction and theTelescope.from_known_telescopesclassmethod. - The KNOWN_TELESCOPE dict in favor of the
known_telescope_locationfunction and theTelescope.from_known_telescopesclassmethod.
Full details below and in our changelog:
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1520
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1522
- remove benchmarking CI by @mkolopanis in #1524
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1525
- Select refactor by @kartographer in #1523
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1526
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1527
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1528
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1530
- Fix version for editable (developer) installs by @bhazelton in #1531
- refactor the uvbeam._convert_feeds_to_pols into a utility function by @bhazelton in #1529
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1533
- Fixed sum_vis handling of different filenames by @bhazelton in #1532
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1536
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1538
- Add optional near-field corrections to the phasing function by @baron-de-montblanc in #1482
- only import lunarsky if it's actually needed by @bhazelton in #1535
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1549
- Fix bug in constructing off-zenith MWA beams by @bhazelton in #1541
- Fix readme badge, update AIPS memo to pdf by @bhazelton in #1539
- [WIP] Update uvdata tutorial by @jpober in #1534
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1550
- Adding new Telescope attributes for feeds and mounts by @kartographer in #1521
- Several docs fixes for open issues and outdated readme information by @bhazelton in #1551
- update changelog, remove deprecated code for v3.2 by @bhazelton in #1552
New Contributors
- @baron-de-montblanc made their first contribution in #1482
Full Changelog: v3.1.3...v3.2.0
Version 3.1.3
This version has several additions, the most notable are:
- ATA has been added to the list of known telescopes.
- uvws are written to uvfits files as doubles by default now even when the data array are single precision (this behavior can be altered with a new keyword).
This version also fixes some bugs including:
- A bug in
calc_frame_pa_angleaffecting positions close to the Southern celestial pole. - A sign flip of the MWA beam response to azimuthally aligned polarization.
- Bugs in the
look_in_catalogutility function anduvh5._addmethod where optional phase_center_catalog entries were required. - Bug in selecting baselines on a UVData object using
blskeyword with 3-tuples and more than one polarization (introduced in 3.1.2).
Full changes detailed below and in our changelog:
What's Changed
- Adding ATA to known telecsopes by @kartographer in #1502
- Minor fixes to #1502 by @kartographer in #1503
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1504
- Fix bls 3tuple by @steven-murray in #1507
- +^ look_in_catalog avoid unrelated keys for cat_type by @radonnachie in #1506
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1509
- Add option to write uvw_array as double precision in UVFITS when data_array is single precision by @bhazelton in #1508
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1512
- ^ uvh5 addition by @radonnachie in #1511
- Fix MWA Efield beam sign by @bhazelton in #1510
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1513
- Fix
calc_frame_pos_angleto work correctly near celestial poles by @kartographer in #1516 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1518
- Prepare for version 3.1.3 by @bhazelton in #1517
Full Changelog: v3.1.2...v3.1.3
Version 3.1.2
This version adds several new features including:
- support for partial read for MWA correlator FITS files
- New convenience methods on
BeamInterfaceto simplify the handling of analytic vs UVBeam objects. - Improvements to
UVData.new()that allow for faster object creation including the newcheck_kwtonew_uvdatakeywords.
Full details below and in our changelog:
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1493
- perf: don't always return basis-vector array by @steven-murray in #1483
- Add select on read for MWA correlator FITS files by @bhazelton in #1458
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1494
- fix: set include_cross_pols to False if feed_array has length 1 by @steven-murray in #1495
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1497
- feat: new convenience methods on BeamInterface by @steven-murray in #1496
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1500
- Add comments and code updates to clarify that the real part of the xy autos is corrected by @bhazelton in #1491
- Faster-unprojected-new by @steven-murray in #1488
- Prepare for v3.1.2 by @bhazelton in #1501
Full Changelog: v3.1.1...v3.1.2
Version 3.1.1
This is a patch release that fixes some floating point comparison issues in our tests to enable conda releases.
Full details below and in our changelog:
What's Changed
- Set tolerances for floating point comparisons in tests by @bhazelton in #1492
Full Changelog: v3.1.0...v3.1.1
Version 3.1.0
This version has several additions, the most notable are:
- Adds new analytic beam objects.
- Adds a new BeamInterface object that unifies the interface for analytic and UVBeam objects.
- Adds a new
pol_conventionparameter onUVDataandUVCalto specify the convention assumed for converting linear to stokes polarizations -- either "sum" or "avg". Also added touvcalibrateto apply from theUVCalto theUVData. - Adds a new optional spatial interpolation method,
interpolation_function="az_za_map_coordinates"
that improves the linear interpolation speed for data inaz_zacoordinates.
This version also fixes some bugs including:
- Fixes a bug in the MWA beam reader that resulted in the wrong polarization response.
- Fixes a bug in reading UVH5 files with antenna names saved as variable length strings that was introduced in v3.0.0.
There are a some new optional dependency version changes:
- lunarsky>=0.2.5
- pytest>=8.2.0
Full changes detailed below and in our changelog:
What's Changed
- Add UVData.get_enu_data_ants to get ENU positions for antennas with data by @bhazelton in #1457
- feat: add Telescope object to FastUVH5Meta by @steven-murray in #1456
- feat: ignore_telescope_param_update_warnings_for by @steven-murray in #1459
- Pol convention by @steven-murray in #1455
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1465
- Fix uvh5 ant names bug by @bhazelton in #1468
- Use Ruff for linting (replaces flake8, black and isort) by @bhazelton in #1466
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1471
- CalH5 Memo by @bhazelton in #1462
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1472
- Faster interpolation in
UVBeam.interpby @tyler-a-cox in #1464 - Correctly pass spline_opts to new uvbeam interpolator by @tyler-a-cox in #1474
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1475
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1476
- CI fix: Mambaforge is deprecated and mamba in now the default installer by @bhazelton in #1478
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1479
- Benchmark by @mkolopanis in #1463
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1480
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1481
- Add AnalyticBeam objects and a unified interface for UVBeams and AnalyticBeams by @bhazelton in #1383
- Fix a bug in the MWA beams where the polarization responses were swapped by @bhazelton in #1485
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1489
- benchmark against the compiled extension explicitly by @mkolopanis in #1484
- Prepare for version 3.1.0 by @bhazelton in #1490
New Contributors
- @tyler-a-cox made their first contribution in #1464
Full Changelog: v3.0.0...v3.1.0