Releases: fjankowsk/scatfit
v0.5.0
This is a major feature release that implements a multi-component mode for scatfit.
This allows one to simulate and fit bursts or pulses that consist of several individual profile sub-components. There is no limit on the number of components included in the model. The practical restrictions come from the quality of the input data and how well the MCMC can sample the larger parameter hyperspace. Using up to three profile components has been thoroughly tested.
Various metrics have been added to reliably estimate the dispersion measure (DM) from multi-component profile data.
Additionally, there have been significant feature additions in the pulse simulation part of the software. This includes simulating multiple pulse components and coherent dedispersion.
Issues resolved
Multi-profile component support: #6
Full Changelog: v0.3.2...v0.5.0
v0.3.2
This version has improved performance for wide FRBs or pulsar pulses. It is faster and more flexible in terms of input data.
Please upgrade your local installation.
- Set the minimum parameter hints from the data sampling time. This approach is much better and more flexible than hard-coding the values.
- Added additional regression tests.
- Squeezed out another ~20 % of runtime performance from the already highly optimised
Cython/Ccode. - Improved the profiling code.
- Added the command line option "-o" or "--output" to output all the diagnostic plots to PDF files to speed up the runs on busy machines. Running with the "-o" option and using
evince *.pdflater is much faster. - The code now displays the autocorrelation times of the Markov chain for each parameter.
- Added the new and forgotten modules to the API documentation.
- Evaluate the "bandintegrated" model once for each MHz of sub-band bandwidth, up to a given maximum number of frequencies.
- Do not show the individual points on the corner plots to speed up the processing.
- Sorted command line arguments into sections.
- Labelled the diagnostic plots with the sub-band numbers for easier diagnostics.
- Added an improved S/N computation algorithm that uses the boxcar equivalent pulse width Weq of the data.
scatfitdisplays both the old peak S/N ("S/N peak") and the new S/N based on the boxcar equivalent width ("S/N Weq"). It uses the latter internally. - Added f-strings and improved docstrings.
- Dropped
Python2.7+ support. Please upgrade.
Full Changelog: v0.3.1...v0.3.2
v0.3.1
- Additions and tweaks to the documentation.
Scatfittested on further telescope data (LOFAR & NRT).- Tweaks for very low-frequency data.
- Adjustments to the test runner configuration. Python 3.7 was removed as a test target.
Full Changelog: v0.3.0...v0.3.1
v0.3.0
State of the software after implementing and testing the pulsar fold-mode profile data fitting.
scatfit works well on pulsar fold-mode data now. I tested the code on data from several radio telescopes (MeerKAT, NenuFAR, and uGMRT).
- Various other documentation improvements.
- Documented how to fit pulsar and FRB data.
- Mentioned the data formats supported.
- Added code to correctly load pre-dedispersed data, such as from a single-pulse pipeline.
- Added code to correctly load full-polarisation data.
- Added a --norfi command line option to skip all internal RFI excision methods. This is useful for pre-cleaned data.
- Improvements to the output plots.
- Tweaked the plots and output for low-frequency NenuFAR data.
- Performed significant verification of the code on data from several radio telescopes.
- Made the code sideband order agnostic. It flips the band, if required.
- Edits so archive.py handles tsamp and freqs correctly by @jamesdturner in #3
- Described what to do for voltage data.
- Explained how to determine a scattering-corrected DM reliably.
Pull Requests Merged
- Edits so archive.py handles tsamp and freqs correctly by @jamesdturner in #3
New Contributors
- @jamesdturner made their first contribution in #3
Full Changelog: v0.2.23...v0.3.0
v0.2.23
Software after adding the PSRCHIVE loader class and various smaller tweaks.
- Switched to own forks for some of the dependencies until the issues can be fixed upstream.
- Made software install and work correctly on Python 3.12. Extended the regression tests to this Python version.
- Cleanup of the code.
- Reading PSRCHIVE files and new overview plots by @InesPM in #1.
- Added the NenuFAR telescope as a simulation target to
simpulse. - Improved the integer quantization code in
simpulse. - Removed redundant output.
New Contributors
- @InesPM made their first contribution in #1.
- Contributions to that by @jamesdturner.
Full Changelog: v0.2.21...v0.2.23
v0.2.21
Software after adding Readthedocs online documentation and CI/CD actions to build and deploy manylinux platform wheels on the PyPI software index.
- Switched to Cython 3.0.0 release.
- Added GitHub Action to build manylinux platform wheels on demand.
- Moved CI/CD actions into reusable workflows.
- Added Sphinx-generated documentation on Readthedocs.
Full Changelog: v0.2.20...v0.2.21
v0.2.20
Software after improvements to the pulse simulation code.
- Added NenuFAR simulation target.
- Added commandline switch to let the user select the data included in the fit.
- Switched to
pytesttest runner. - Added CI tests using GitHub Actions.
- Correctly simulate intrachannel dispersive smearing in the
simpulsecode. - Various other small tweaks.
Full Changelog: v0.2.19...v0.2.20
v0.2.19
Code after adding scatfit to the PyPI software index.
Changes:
- You can now install
scatfitby running:pip install scatfit. - Various improvements to the output plots.
- Updated citation files and link to the now published paper.
- Several other minor tweaks.
Full Changelog: v0.2.18...v0.2.19
v0.2.17
- Added example plots.
- Implemented a true band-integrated profile model.
- Implemented the most important profile models using Cython, resulting in a ~1.8x speed improvement over the pure Python/Numpy implementations.
- Improved the processing speed considerably.
- Added regression tests to ensure that the Cython and Python/Numpy implementations are numerically identical.
- Switched to a standard exponentially-modified Gaussian function as profile model as default.
- Referred to the exponentially-modified Gaussian model as 'analytical' model.
- Added a short FAQ section.
- Tweaked output plots.
This software version was extensively verified using fake and MeerTRAP filterbank data.
Full Changelog: v0.2.16...v0.2.17