Skip to content

Releases: RadioAstronomySoftwareGroup/pyuvdata

Version 3.2.5

12 Dec 18:12

Choose a tag to compare

This version has a number of fixes and improvements:

  • Added a UVData.flip_conjugation method 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

New Contributors

Full Changelog: v3.2.4...v3.2.5

Version 3.2.4

15 Sep 19:31

Choose a tag to compare

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.new and AnalyticBeam.to_uvbeam.

full details below and in our changelog:

What's Changed

Full Changelog: v3.2.3...v3.2.4

Version 3.2.3

22 Jul 17:12

Choose a tag to compare

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_range option to be ignored.
  • A bug in utils.io.ms.read_ms_history where 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_form and UVParameter.set_from_form that caused
    errors when using astropy SkyCoord, Quantity or Time objects in UVParameters,
    arose when using UVBase._select_along_param_axis.

full details below and in our changelog:

What's Changed

New Contributors

Full Changelog: v3.2.2...v3.2.3

Version 3.2.2

12 Jun 20:10

Choose a tag to compare

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

New Contributors

Full Changelog: v3.2.1...v3.2.2

Version 3.2.1

05 May 23:19

Choose a tag to compare

This is the release associated with our new JOSS paper 🎉

It also fixes a few bugs:

  • A bug where the Telescope.get_x_orientation would 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

Full Changelog: v3.2.0...v3.2.1

Version 3.2

28 Apr 18:01

Choose a tag to compare

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 invert keyword added to UVData.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_antennas and reorder_feeds.
  • More control over warnings and errors on numerous methods and functions.

Bug fixes

  • A bug in UVData.write_ms where datasets with a single spectral window were being written with the wrong conjugation when setting flip_conj=True.
  • A bug in UVData.write_ms where 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.select where polarization_array could be incorrectly ordered after selection (if input to polarizations keyword was unordered).
  • A bug in UVData.sum_vis where 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.slicify and utils.tools._convert_to_slices where reverse-ordered slices (i.e., where the step was negative) were not correctly handled.

Deprecated

  • The x_orientation parameter, which was used to specify feed orientation but with much less flexibility has been deprecated, but some convenience functions to convert between x_orientation and feed_angle when possible have been added (Telescope.set_feeds_from_x_orientation and Telescope.get_x_orientation_from_feeds).
  • The options "e" and "n" for elements of feed_array in and UVBeam have also been deprecated.

Removed

  • The future_array_shapes attribute on UVBase objects.
  • The use_future_array_shapes keyword in various class methods.
  • The use_future_array_shapes method on UVBase objects.
  • Support for 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).
  • Support for 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.

Full details below and in our changelog:

What's Changed

New Contributors

Full Changelog: v3.1.3...v3.2.0

Version 3.1.3

14 Jan 02:17

Choose a tag to compare

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_angle affecting positions close to the Southern celestial pole.
  • A sign flip of the MWA beam response to azimuthally aligned polarization.
  • Bugs in the look_in_catalog utility function and uvh5._add method where optional phase_center_catalog entries were required.
  • Bug in selecting baselines on a UVData object using bls keyword with 3-tuples and more than one polarization (introduced in 3.1.2).

Full changes detailed below and in our changelog:

What's Changed

Full Changelog: v3.1.2...v3.1.3

Version 3.1.2

21 Nov 18:36

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

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

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