Skip to content

Releases: MWATelescope/mwalib

mwalib 1.8.2

12 Nov 06:01
Compare
Choose a tag to compare

1.8.2 12-Nov-2024

  • Revert to published version of pyo3-stub-gen (and derive) to allow publish to crates.io.

Full Changelog: v1.8.1...v1.8.2

mwalib 1.8.1

12 Nov 05:22
Compare
Choose a tag to compare

1.8.1 12-Nov-2024

  • Ensure only one version of pyo3-stub-gen-derive is used in the project.

Full Changelog: v1.8.0...v1.8.1

mwalib 1.8.0

12 Nov 04:39
Compare
Choose a tag to compare

1.8.0 11-Nov-2024

  • mwalib now will detect and raise an error (MwalibError::Fits.CfitsioIsNotReentrant) if the CFITSIO library that mwalib is linked with has been built without the -D_REENTRANT directive (github issue #82).
  • Expose the FITS BSCALE in image HDUs as a single value bscale in CorrelatorContext (github issue #85).
    • For most Legacy MWA observations, this may be a value other than 1.0. For MWAX correlator this will always be 1.0.
    • This is mainly of interest to EoR researchers who are trying to implement Van Vleck corrections.
  • Python type stubs:
    • Fixed pyo3 decorators to allow stub_gen to work properly / generate python stubs correctly.
    • Used prerelease version of pyo3_stub_gen to ensure Chrono::FixedTimeOffset can have a stub generated in MetafitsContext.

Full Changelog: v1.7.2...v1.8.0

mwalib 1.7.2

08 Nov 02:21
Compare
Choose a tag to compare

1.7.2 8-Nov-2024

  • Update to fitsio 0.21.6 - provides FitsFile.file_path() method.
  • Reverted MWAFitsFile to FitsFile as the subclass is no longer required.

Full Changelog: v1.7.1...v1.7.2

mwalib 1.7.1

23 Oct 06:12
Compare
Choose a tag to compare

NOTE this release has been yanked. The MWAFitsFile changes are reverted in the latest release. Please use version >=1.7.2

Full Changelog: v1.7.0...v1.7.1

mwalib 1.7.0

23 Oct 03:52
Compare
Choose a tag to compare

NOTE this release has been yanked. The MWAFitsFile changes are reverted in the latest release. Please use version >=1.7.2

1.7.0 23-Oct-2024

  • Bumped MSRV to 1.65.
  • Update fitsio to 0.21 and fitsio-sys to 0.5. To make v0.21 work, a new struct, MWAFitsFile is used inplace of FitsFile, as FitsFile no longer carries the filename property which is needed by mwalib.
  • Removed Rust Report Card from README status badges. Looks like this service is abandonded.
  • Added Python .pyi stub generation to provide mwalib Python users with type and docstring information. The mwalib.pyi should get baked into the python wheels released to github and Pypi. See bin/README.md for caveats and more details.
  • Added CI to test compilation against cfitsio 3.x and 4.x when not using the cfitsio-static feature.

Full Changelog: v1.6.0...v1.7.0

mwalib 1.6.0

17 Oct 23:47
Compare
Choose a tag to compare

1.6.0 18-Oct-2024

  • Updated ndarray to 0.16
  • Upgraded dependencies: clap to 0.4, pyo3 to 0.21
  • Updated CI to use maturin actions for python wheel building
  • Fixed test that was failing under Arm64
  • Removed Python 3.8 support as it is now end of life
  • Added tests for Python 3.13
  • Removed tests for macos-12 as it will be unsupported by github actions by end of 2024
  • Added tests for macos-15

Full Changelog: v1.5.0...v1.6.0

mwalib 1.5.0

21 Aug 03:01
a24fad6
Compare
Choose a tag to compare

1.5.0 20-Aug-2024

  • Fixed potential bug with various flavours of metafits files because mwalib was making assumptions about the HDU index/position of each HDU. mwalib now uses HDU names to correctly identify the presence of, and read from, metafits files.
  • Moved FITS table reading functions from rf_input to fits_read module. This changes some error types from RfInputError to FitsError.
  • Added best calibration info to the output when you display a MetafitsContext or via the C function mwalib_metafits_context_display.
  • Added signal chain correction table data to the MetafitsContext.
  • The RFInput struct will expose a signal_chain_corrections_index which will be the index into the signal_chain_corrections vector or None.
    • via FFI, a None for RfInput.signal_chain_corrections_index is translated as the constant MAX_RECEIVER_CHANNELS.

Full Changelog: v1.4.0...v1.5.0

mwalib 1.4.0

24 Jul 10:52
9170068
Compare
Choose a tag to compare

1.4.0 24-Jul-2024

  • mwalib now exposes the calibration solution information in a metafits file (if present). When the metafits is generated by a call to the webservice, the metafits file will attempt to populate calibration solution information for the specified observation. The newest produced calibration solution from a calibrator with the same frequency channels and proximity in time will be added to the CALIBDATA hdu which is exposed by mwalib in the structs and attributes below. see: Metafits files Wiki article for more information about metafits files.
    • RfInput struct now contains the following new fields. If calibration solution information is not present in the metafits they will be None.
      • calib_delay - Calibration delay in meters
      • calib_gains - Calibration gains vector: 1 f32 per coarse channel. Channels are in MetafitsContext.course_chans order.
    • When calibration solution information is present, some values of calib_delay and calib_gains may be NaN. Make sure you understand how NaNs work in Rust if you will be using these columns!
    • Via C, if the calibration solution information is not present, the values will be NaN (or an array of NaNs in the case of calib_gains):
    • MetafitsContext struct now contains the following new fields.
      • best_cal_fit_id - Best calibration fit ID. If not present in the metafits it will be None; via C, the value will be 0.
      • best_cal_obs_id - Best calibration observation ID. If not present in the metafits it will be None; via C, the value will be 0.
      • best_cal_code_ver - Best calibration fit code version. If not present in the metafits it will be None; via C, the value will be an empty string.
      • best_cal_fit_timestamp - Best calibration fit timestamp. If not present in the metafits it will be None; via C, the value will be an empty string.
      • best_cal_creator - Best calibration fit creator. If not present in the metafits it will be None; via C, the value will be an empty string.
      • best_cal_fit_iters - Best calibration fit iterations. If not present in the metafits it will be None; via C, the value will be 0.
      • best_cal_fit_iter_limit - Best calibration fit iteration limit. If not present in the metafits it will be None; via C, the value will be 0.
  • When populating RfInput::has_whitening_filter, mwalib will use the Whitening_Filter key/value if present in the metafits, instead of deducing it from cable_flavour. If whitening_filter is not present, the existing deduction logic will be used.
  • MetafitsContext::deripple_applied- modified mwalib to use DERIPPLE metafits key (it still supports DR_FLAG just in case it is an old metafits)
  • When using the Display trait of MetafitsContext or the C function mwalib_metafits_context_display, limit the printing of fine channels - for better readability.
  • Added simple Rust example "mwalib-print-context" which does what it says on the tin.

PR(s)

  • Metafits cal info, deripple, whitening filter by @gsleap in #75

Full Changelog of commits: v1.3.3...v1.4.0

mwalib 1.3.3

14 May 01:00
Compare
Choose a tag to compare

1.3.3 10-May-2024

  • Bumped MSRV to 1.64
  • Updates dependencies
  • Fixed some clippy lints

Full Changelog of commits: v1.3.2...v1.3.3