Full Changelog

Version 0.3.0

Functionality & Enhancements

  • Handling of Doppler frames and conventions
    • A GBT Spectrum has a spectral axis derived from the WCS of the spectrum (which in turn is created from meta data in the SDFITS file). The default Doppler frame for this axis is topocentric. The spectral axis of a Spectrum can be converted to standard frames recognized by astropy: LSRK, HCRS, ICRS, GCRS, ITRS, GalactoCentric. See Spectrum.set_frame, Spectrum.with_frame, and also the xaxis_unit and vel_frame keywords to SpecPlot.plot.

    • The Doppler conventions radio, optical, relativistic are recognized by dysh. Users can convert a Spectrum to different conventions with Spectrum.set_convention and Spectrum.with_velocity_convention. See also, the doppler_convention keyword of SpecPlot.plot

  • Data Selection
    • The Selection class implements a very flexible way of selecting data rows from an SDFITS file using any column name. (Column name aliases are also supported). Multiple selection rules are logically combined to a final selection.

    • Data selection is implemented on GBTFITSLoad via delegation to a Selection attribute.

  • Frequency switching calibration
    • FS data can be calibrated using GBTFITSLoad.getfs() with the option to fold the signal and reference spectra.

    • The Scan class for calibrating frequency switching, FSScan, has been implemented. Users should not need to create these directly, but rather through getfs().

  • ScanBlock API change
    • timeaverage() now returns a Spectrum instead of a list. Previously the list contained the time average of each Scan within the ScanBlock. Now the time average across all Scans in the ScanBlock is returned.

Bug Fixes