What’s New?#
Version 0.8.3#
Functionality & Enhancements#
Spectral line query interface
Waterfall plots
Plotting multiple spectra in the same figure through
oshowargumentImproved performance (loading and writing data)
Custom column selection for
summaryNew on-the-fly calibration tutorial
New data selection tutorial
getfsworks on data without noise diode(s)Adds
calibratorsubmoduleAdds
tcalsubmoduleAdds
gettcalmethod. See HI survey tutorial for an exampleEnables selection of SIG and CAL columns using booleans
The brightness scale (antenna temperature, antenna temperature corrected for atmospheric opacity or flux) is now documented in
Spectrum,ScanandScanBlockobjects astscaleSwitches to
specutils2.0
Bug Fixes#
Fixes an issue that would cause
getspecto always assign units of K to the outputSpectrum(Issue #663)dyshnow writes SDFITS files with the DATA column in position 6 (Issue #639)summaryseparates rows that have different BINTABLE or FITSINDEX values (Issue #718)summaryis sorted by scan number (Issue #648)summaryworks with repeated scan numbers (Issue #638)ScanBlockno longer writes the first Scan twice (Issue #617)Spectrumcan be sliced in any order (Issue #360)baseline exclusion regions should work regardless of order of spectral axis and units (Issue #654)
fluxattribute now contains NaN values for masked channels (Issue #575)cognow returns the correct widths (before they were approximately half the widths)Fixes an issue where trying to select data from a different binary table would result in an error
plotnow produces the correct y-axis labelChanges the default
dyshshell colors (Issue #522)
Version 0.7.0#
Functionality & Enhancements#
Bug Fixes#
Fixes a bug where using
proc=...withgetpswould result in an error.Fixes a bug where unpaired OnOff or OffOn observing procedures would result in an error.
Fixes a bug where using an exclude region with a boundary equal to the number of channels would produce an error.
Version 0.6.2#
Bug Fixes#
Fixes a bug where
Spectrum.averagewould not mask the data, if there was anything to be masked.Fixes a bug where
Spectrum.averagewould not propagate the data reduction history to the resultingSpectrum.Fixes a bug where the integration number for files with multiple binary tables would have bogus values. See Issue #425.
Version 0.6.1#
Bug Fixes#
Fixes a bug where calibration routines would not fetch the correct data when the input SDFITS had multiple binary tables.
Fixes a bug where calibration routines would not work if there was no noise diode being fired. This is still an issue for
getfs.
Version 0.6.0#
Functionality & Enhancements#
- Baseline plotting
dysh.spectra.spectrum.Spectrum.plotwill now update when usingdysh.spectra.spectrum.Spectrum.baseline. Ifremove=Falsethe plot will show the baseline solution, ifremove=Truethe plot will update to show the baseline subtracted data.
Version 0.5.0#
Functionality & Enhancements#
Calibration with a flexible Off - Implements GBTFITSLoad.getsigref.
Calibration of W-Band and Argus observations - There are now
GBTFITSLoad.calseqandGBTFITSLoad.vanecalfunctions to derive system temperatures for W-Band and Argus observations, respectively.
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.