All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- `SinglePulse`'s `component_fitting()` now shows a difference plot between the template and the data if `residualsplot=True`. By default it is `False`.
- 'Archive.getDyanmicSpectrum()
now correctly reads a string as an argument fortemplate` and parses the number of phase bins.
- Allow parsing of par file values in "NAME VALUE ERROR" format rather than "NAME VALUE FIT" format for some fold ephemerides inside the PSRFITS files.
- Default behavior of
Archive'sfitPulses()now returns all values fromSinglePulse'sfitPulse()command. Users can still supply specific indices with thenumargument tofitPulses() - Filled out more of
Calibrator'spacv()plot with correct labeling and sizing. - Removed numpy warnings from
NaNs in data array combination - Removed unnecessary reference to
scipy.fftpack, which is in legacy. - Default behavior of
DynamicSpectrum'sgetData()now hasremove_baseline=Falseand the internal data array is returned as is. - Improved error handling on loading a PSRFITS file. PyPulse first checks to see if the file exists, then if it fails in
pyfits.open(), raises an exception noting the problem lies internally there. pypavscript allows for centering of the pulse in the format ofpavwith the-Cflag.SinglePulse'sUscale()now normalizes the pulse by default, as per the definition.
- In
Archive'simshow(), the y-axis can now be flipped with theflip=Trueargument. This allows inverted frequency axes to be turned right-side up. Atitleargument can now be supplied as well. Archive'splot()now takes arguments ofsubint,pol, andchanto specifically select individual profile rather than requiring the data be 1D. By default, these arguments are0.SinglePulse.getOffpulseRMS()convenience function added, which callsSinglePulse.getOffpulseNoise()- Individual phase plot implemented in Calibrator class as
phaseplot(). This can also be called withplot(mode="phase"). SinglePulse.component_fitting()now offers the ability to output to PSRCHIVE's paas text file format for von Mises components.- In
DynamicSpectrum'sremove_baseline()command, two flags have been added. By default,ignorezapped=Trueand so data with a value ofzapvalueare ignored. Such dynamic spectra can result from the less-robust generation methods, i.e., not specifying a template shape, thus resulting in a spike of 0.0 values for zapped data. This should be overhauled in the future. - Allow
DynamicSpectrum'simshow()to take**kwargsnow. Par'sgetPM()function (also used to get the transverse velocity) parsesPMELONGandPMELAT.- Added a
nonnegative=Trueflag toArchive'sgetDynamicSpectrum(). By default, if provided a template shape to match against the data, this will enforce non-negative (flux) dynamic spectrum values DynamicSpectrum'simshow()now allows acbarlabelargument to provide a basic label to the colorbar, and abadcolorargument as an additional method to recolor instead of onlyalpha.Parcan now return an SWX model timeseries withgetSWX().
- The
DMXclass now correctly parses PINT-style.dmxfiles with noF1orF2columns. Archive.bscrunch()'snbinsargument now works.
0.1.1 - 2021-06-15
- Fitting errors on the 1D scintillation parameters are now added. This changes the underlying
functionfitoutput but this is not part of the public API.
- Converted multiple internal
mapcalls to list comprehensions. DynamicSpectrumnow copies colormaps withcopy.copyto removeMatplotlibDeprecationWarning- Fixed scrunching and waterfall plot limits due to updates in numpy in the handling of NaNs. In waterfall plot, duplicate calls to set axis limits have been removed.
- Fixed pointers to
np.strtonp.str_due to updates in numpy.
0.1.0 - 2021-05-03
- Added CHANGELOG.md following Keep a Changelog.
- Start following SemVer properly.