Skip to content

Stingray Version 2.0

Compare
Choose a tag to compare
@matteobachetti matteobachetti released this 13 Mar 11:17
· 302 commits to main since this release

v2.0 (2024-03-13)

New Features

  • Power colors à la Heil et al. 2015
    (#780)
  • Calculate colors and intensities on a segment-by-segment basis in
    event lists
    (#781)
  • A function to randomize data in small bad time intervals
    (#782)
  • The Lomb Scargle Fourier Transform (fast and slow versions) and the
    corresponding LombScargleCrossspectrum{.interpreted-text
    role="class"} and LombScarglePowerspectrum{.interpreted-text
    role="class"}
    (#737)
  • A JAX implementation of the Gaussian Process tool by Hubener et
    al
    for QPO detection and
    parameter analysis.
    (#739)
  • Extend join operation for events to arbitrary array attributes, not
    just pi and energy
    (#742)
  • Allow the creation of empty light curves.
    (#745)
  • Make StingrayTimeseries into a generalized light curve, with a less
    strict naming but implementing much of the underlying computing
    useful for Lightcurve as well.
    (#754)
  • Our fast implementation of histograms is now safer (failing safely
    to the equivalent numpy histogram functions), more consistent
    (ranges moved to range, for consistency with numpy), and accept
    complex weights as well!
    (#764)

Bug Fixes

  • When rms is low, the calculation in compute_rms often gave
    [NaN]{.title-ref}. We now check for this situation and give 0 with
    an uncertainty as a result.
    (#736)
  • Eliminates deprecated call to
    [enable_deprecations_as_warnings]{.title-ref}, and contextually,
    changes the code to be much more robust in catching harmful
    warnings.
    (#738)
  • Changes Crossspectrum.plot() function to plot the actual real and
    imaginary parts instead of their absolute values.
    (#747)
  • Make commits marked as [docs only] skip all CI but the docs build
    (#749)
  • Update tstart and tseg when using Lightcurve.truncate()
    (#753)
  • Changed list comprehension to generator expression to reduce memory
    usage.
    (#756)
  • Fix a bug with segment sizes not exact multiples of dt when dealing
    with light curves
    (#760)
  • Fix a bug when light curve segments contain complex values
    (#760)
  • Crossspectrum had "real" as default value. This meant that, for
    example, lags could not be calculated. Now the default value is
    "all", as it should be.
    (#762)
  • Fix plotting of spectra, avoiding the plot of imaginary parts of
    real numbers
    (#763)
  • Various bugfixes in [gti.py]{.title-ref}, and a new function to
    interpret the mix of multiple GTIs.
    (#774)
  • Fixed subcs duplication by adding a check in the for loop that
    copies the attributes from table's meta items.
    (#776)
  • Various bug fixes in DynamicalPowerspectrum, on event loading and
    time rebinning
    (#779)
  • Fix issue with the Poisson noise calculation in lag spectra, that
    produced NaN errors under some conditions
    (#789)
  • Fix rms computation and error bars
    (#792)
  • Fix issue with Powerspectrum of a single light curve
    (#663)
  • Fix nphots estimate in accelsearch, that lead to an underestimation
    of the power of candidates
    (#807)

Breaking Changes

  • Eliminate deprecated format_ keyword from read and write methods.
    (#729)
  • Remove legacy interface and obsolete large data machinery.
    (#755)
  • Eliminate deprecated white_noise_level keyword from compute_rms.
    (#792)

Internal Changes

  • Speedup creation of events in EventList.from_lc
    (#757)
  • Separate slow tests from quick ones
    (#758)
  • Use Readthedocs for documentation building
    (#769)
  • More informative GTI messages
    (#787)
  • Eliminated the usage of astropy logging
    (#799)