Full Changelog#
Version 0.4.0#
Functionality & Enhancements#
- Calibration of Nod observations
Nod observations can be calibrated using GBTFITSLoad.getnod(). By default
dyshwill identify which beams were used for the nodding, but these can be specified via thefdnumargument.
- Metadata management
SDFITSLoadandGBTFITSLoadobjects now have access to their column data via their get and set methods. For an example see the metadata management recipes.
- Smoothing
Spectrumobjects can now be smoothed using their smooth method.Current smoothing kernels include a Gaussian, boxcar and Hanning windows. Their widths are specified in channels.
By default the
Spectrumwill be decimated by the kernel width. This can be changed with thedecimateargument.
- Alignment of
Spectrumobjects Spectrumobjects can now be aligned with respect to each other to match their spectral axes.The alignment matches the first channel of the
Spectrumbeing aligned.The alignment can be done in frequency or velocity space.
- Alignment of
- Data IO
dyshcan now write and readSDFITSLoad,ScanBlockandSpectrumobjects to a variety of formats. For an example see data IO recipes.
- Logging
dyshnow useslogging. The logging level can be set at startup using the-voption or at runtime using dysh.log.init_logging.
- Data reduction history
dyshobjects now keep track of their history in theirhistoryattribute. This is written to disk to enhance data reduction reproducibility.
- Online/Offline mode
dyshcan now access the latest spectral line observations using GBTOnline. This will also automatically update the contents of theGBTFITSLoadobject as new data is written to disk. This mode is only available when working from a GBO data reduction host.GBTOffline will fetch the data for an observations by specifying the session id (e.g., AGBT24A_999_01).
- Drop support for
Python3.8andPython3.9 dyshnow is only available forPython3.10and above.
- Drop support for
- Gain correction classes
Gain correction classes for computing gain correction as a function of elevation, aperture efficiency, surface error, and airmass. (See GBTGainCorrection).
Bug Fixes#
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_unitandvel_framekeywords 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, thedoppler_conventionkeyword 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.