Skip to content

Releases: RadioAstronomySoftwareGroup/pyuvdata

Version 3.1.2

21 Nov 18:36
Compare
Choose a tag to compare

This version adds several new features including:

  • support for partial read for MWA correlator FITS files
  • New convenience methods on BeamInterface to simplify the handling of analytic vs UVBeam objects.
  • Improvements to UVData.new() that allow for faster object creation including the new check_kw to new_uvdata keywords.

Full details below and in our changelog:

What's Changed

Full Changelog: v3.1.1...v3.1.2

Version 3.1.1

30 Oct 18:34
Compare
Choose a tag to compare

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

22 Oct 18:50
Compare
Choose a tag to compare

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_convention parameter on UVData and UVCal to specify 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.
  • Adds a new optional spatial interpolation method, interpolation_function="az_za_map_coordinates"
    that improves the linear interpolation speed for data in az_za coordinates.

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

New Contributors

Full Changelog: v3.0.0...v3.1.0

Version 3.0

01 Jul 22:09
Compare
Choose a tag to compare

This is a major new version with many new features and some breaking API changes. Highlights include:

Added/Changed:

  • Telescope-related metadata (including antenna metadata) on UVData, UVCal and UVFlag objects have been refactored into a Telescope object (attached to these objects as the telescope attribute)
  • Restructured utils.py into a new sub package utils with functions split among several submodules. Utility functions used widely are still available from pyuvdata.utils, although this access pattern is deprecated for some of them.
  • Require keyword arguments rather than allowing for passing arguments by position for
    functions and methods with many parameters.

UVCal:

  • Introduced CalH5, a new HDF5 based file format for calibration solutions.
  • Add reading and writing calibration solutions from measurement sets.
  • Improved support for calibration solutions that apply over a range of times, using the time_range parameter to give the start and stop times for each solutions instead of time_array (which is used for calibration solutions that are calculated per integration).
  • Support for "flexible-Jones" UVCal objects -- where different spectral windows can contain different Jones vectors/polarization information -- has been added, along with methods for converting UVCal objects to and from flex-Jones format and reading and writing to and from measurement sets and CalH5 files.

UVData:

  • Changed the way files are passed for reading FHD files to make it more similar to the API for reading FHD calibration solutions.
  • Support for writing "MODEL_DATA" and "CORRECTED_DATA" columns has been added to the UVData.write_ms method.
  • Improved performance for antpair2ind and _key2inds by using the blts_are_rectangular parameter, and also by caching the results. To improve performance of the cache, the resulting indices are returned as slices whenever possible.

Deprecated:

  • The future_array_shapes attribute on UVBase objects has been deprecated, as pyuvdata now exclusively uses future array shapes.
  • The use_future_array_shapes keyword in several different class methods, as well as the use_future_array_shapes method on UVBase objects.
  • Accessing the telescope-related metadata through their old attribute names on UVData, UVCal and UVFlag rather than via their attributes on the attached Telescope object (e.g. UVData.telescope_name -> UVData.telescope.name and UVData.antenna_positions -> UVData.telescope.antenna_positions).
  • Passing telescope-related metadata as separate parameters to UVData.new and UVCal.new rather than Telescope objects.
  • The UVData.get_ENU_antpos method in favor of UVData.telescope.get_enu_antpos.
  • The Telescope.telescope_location and Telescope.telescope_name attributes in favor of Telescope.location and Telescope.name.
  • The get_telescope function in favor of the known_telescope_location function and the Telescope.from_known_telescopes classmethod.
  • The KNOWN_TELESCOPE dict in favor of the known_telescope_location function and the Telescope.from_known_telescopes classmethod.

Removed:

  • Support for current array shapes has been removed on UVData, UVCal, UVFlag, and UVBeam objects, as well as the use_current_array_shapes method for these classes.
  • The flex_spw attribute has been removed on UVData and UVCal objects.
  • Support for using the old phasing attributes (phase_center_ra, phase_center_dec, phase_center_frame, phase_center_epoch, phase_type, and object_name) in UVData.
  • Support for handling of the input_flag_array parameter for UVCal objects.
  • Support for 'unknown' cal type in UVCal objects.

Full details below and in our changelog:

What's Changed

Full Changelog: v2.4.5...v3.0.0

Version 2.4.5

28 Jun 22:38
Compare
Choose a tag to compare

This is the last release before version 3.0.

Primarily, it fixes compatibility with numpy v2.0.

It also fixed a bug in UVData.new() where in some corner cases the UVData.ant1_array and UVData.ant2_array were not correctly set as integer arrays.

Full details below and in our changelog:

What's Changed

Full Changelog: v2.4.4...v2.4.5

Version 2.4.4

07 Jun 21:53
Compare
Choose a tag to compare

This fixes a few bugs and updates the following dependencies:

  • cython >= 3.0
  • astropy-healpix>=1.0.2

Full details below and in our changelog:

What's Changed

New Contributors

Full Changelog: v2.4.3...v2.4.4

Version 2.4.3

25 Mar 22:45
Compare
Choose a tag to compare

This version has several improvements, the most notable are:

  • Adds support for the new lunar ellipsoids recently added to lunarsky.
  • A significant speed up for reading MWA correlator FITS files.
  • Support for v.6 of the MIR data format

There are a number of dependency version changes, pyuvdata now requires:

  • python >= 3.10
  • astropy>=6.0
  • h5py>=3.4
  • numpy>=1.23
  • pyerfa>=2.0.1.1
  • scipy>=1.7.3

And optional dependecy version changes include:

  • hdf5plugin>=3.2.0
  • pytest>=6.2.5
  • pytest-cases>=3.8.3
  • python-casacore>=3.5.2
  • pyyaml>=5.4.1
  • lunarsky>=0.2.2

Full changes detailed below and in our changelog:

Full Changelog: v2.4.3...v2.4.3

Version 2.4.2

22 Feb 18:46
Compare
Choose a tag to compare

This version has several improvements, the most notable are:

  • Improvements to the MIR reader and interface.
  • A new gridding-based baseline redundancy finding algorithm that is now used by default (the older algorithm is still available).
  • A new UVBeam.new() method that creates a new, self-consistent UVBeam object from scratch from a set of flexible input parameters.
  • Improvements for handling of telescopes on the moon.

Full changes detailed below and in our changelog:

What's Changed

Full Changelog: v2.4.1...v2.4.2

Version 2.4.1

13 Oct 23:57
Compare
Choose a tag to compare

This version has several improvements, the most notable are:

  • New uvw_track_generator utility method for calculating the expected uvws (and a few other values) without needing to instantiate a whole UVData object.
  • Proper round-tripping of the telescope frame through UVH5, UVFITS and MS files.
  • New options to UVFlag.read and UVFlag.__init__ to help with setting telescope metadata for old UVFlag files that are missing it.
  • Support for recarrays in UVParameter objects and in UVBase.

Full changes detailed below and in our changelog:

What's Changed

New Contributors

Full Changelog: v2.4.0...v2.4.1

Version 2.4

12 Jul 21:11
Compare
Choose a tag to compare

This version has several improvements, the most notable are:

  • More flexibility in the UVData.frequency_average method, including support for multiple spectral windows and better handling in when averaging by a number of channels that does not divide evenly into the number of channels in each spectral window.
  • Fixed a bug in LST calculation that led to small discontinuities in LSTs calculated using the erfa (the default) or novas astrometry libraries.
  • The quality_array on UVCal objects is no longer required.
  • Fixed a bug in reading mwa_corr_fits files from the new MWAX correlator
  • Added compatibility with Python 3.11

There are also a number of breaking changes, including changes associated with:

  • Removing support for old style phasing
  • Full support for multiple phase centers (so rephrasing when adding/concatenating is not required)
  • A number of telescope metadata parameters are now required on UVFlag objects.

Full changes detailed below and in our changelog:

What's Changed

Full Changelog: v2.3.3...v2.4.0