diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 46eb3ae2e..2b0d1f8c2 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,3 +1,20 @@ +v2.2.2 (2024-10-25) +------------------- + +Docs +^^^^ + +- Add newly-accepted JOSS paper to docs, update citation information, and fresh new badges (`#829 `__) + +v2.2.1 (2024-10-23) +------------------- + +Bug Fixes +^^^^^^^^^ + +- Fix issue with FITS headers, especially for RXTE data (`#853 `__) + + v2.2 (2024-10-22) ----------------- diff --git a/README.rst b/README.rst index eabf01ded..4114354b7 100644 --- a/README.rst +++ b/README.rst @@ -89,8 +89,8 @@ The code is distributed under the MIT license; see `LICENSE.rst `_ :target: https://codecov.io/gh/StingraySoftware/stingray .. |GitHub release| image:: https://img.shields.io/github/v/release/StingraySoftware/stingray :target: https://github.com/StingraySoftware/stingray/releases/latest -.. |joss| image:: http://joss.theoj.org/papers/10.21105/joss.01393/status.svg - :target: https://doi.org/10.21105/joss.01393 +.. |joss| image:: https://joss.theoj.org/papers/10.21105/joss.07389/status.svg + :target: https://doi.org/10.21105/joss.07389 .. |doi| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1490116.svg :target: https://doi.org/10.5281/zenodo.1490116 .. |Repo status| image:: https://www.repostatus.org/badges/latest/active.svg @@ -98,7 +98,7 @@ The code is distributed under the MIT license; see `LICENSE.rst `_ :target: https://www.repostatus.org/#active .. |License| image:: https://img.shields.io/badge/License-MIT-yellow.svg :target: https://opensource.org/licenses/MIT -.. |pyOpenSci Peer-Reviewed| image:: https://pyopensci.org/badges/peer-reviewed.svg +.. |pyOpenSci Peer-Reviewed| image:: https://pyopensci.org/badges/peer-reviewed.svg :target: https://github.com/pyOpenSci/software-review/issues/201 .. _Astropy: https://www.github.com/astropy/astropy diff --git a/docs/changes/853.bugfix.rst b/docs/changes/853.bugfix.rst deleted file mode 100644 index c3e29978d..000000000 --- a/docs/changes/853.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix issue with FITS headers, especially for RXTE data diff --git a/docs/citing.rst b/docs/citing.rst index c3952bb00..3752d6c2a 100644 --- a/docs/citing.rst +++ b/docs/citing.rst @@ -17,7 +17,7 @@ If this isn't possible — for example, because you worked with an unreleased v Papers ====== -Please cite both of the following papers: +If you are using Stingray 2.0 or newer, please cite both of the following papers: .. raw:: html @@ -54,17 +54,21 @@ Please cite both of the following papers: } function copyJossBib() { - var bibtex = `@ARTICLE{Huppenkothen2019, - doi = {10.21105/joss.01393}, - url = {https://doi.org/10.21105/joss.01393}, - year = {2019}, - publisher = {The Open Journal}, - volume = {4}, - number = {38}, - pages = {1393}, - author = {Daniela Huppenkothen and Matteo Bachetti and Abigail Stevens and Simone Migliari and Paul Balm and Omar Hammad and Usman Mahmood Khan and Himanshu Mishra and Haroon Rashid and Swapnil Sharma and Evandro Martinez Ribeiro and Ricardo Valles Blanco}, - title = {stingray: A modern Python library for spectral timing}, - journal = {Journal of Open Source Software} + var bibtex = `@article{bachettiStingrayFastModern2024, + title = {Stingray 2: {{A}} Fast and Modern {{Python}} Library for Spectral Timing}, + shorttitle = {Stingray 2}, + author = {Bachetti, Matteo and Huppenkothen, Daniela and Stevens, Abigail and Swinbank, John and Mastroserio, Guglielmo and Lucchini, Matteo and Lai, Eleonora Veronica and Buchner, Johannes and Desai, Amogh and Joshi, Gaurav and Pisanu, Francesco and Pisupati, Sri Guru Datta and Sharma, Swapnil and Tripathi, Mihir and Vats, Dhruv}, + year = {2024}, + month = oct, + journal = {Journal of Open Source Software}, + volume = {9}, + number = {102}, + pages = {7389}, + issn = {2475-9066}, + doi = {10.21105/joss.07389}, + urldate = {2024-10-25}, + abstract = {Bachetti et al., (2024). Stingray 2: A fast and modern Python library for spectral timing. Journal of Open Source Software, 9(102), 7389, https://doi.org/10.21105/joss.07389}, + langid = {english} }`; const el = document.createElement('textarea'); el.value = bibtex; @@ -82,9 +86,9 @@ Please cite both of the following papers: [ADS] [Copy BibTeX to clipboard] -
  • Huppenkothen et al., 2019. Journal of Open Source Software, 4(38), 1393. - [DOI] - [JOSS] +
  • Bachetti et al., 2024. Journal of Open Source Software, 9(102), 7389. + [DOI] + [JOSS] [Copy BibTeX to clipboard]
  • @@ -93,5 +97,53 @@ Other Useful References .. raw:: html + Stingray is listed in the Astrophysics Source Code Library. Copy the corresponding BibTeX to clipboard. + + Our first JOSS paper, describing the development until 2019, is Huppenkothen et al. 2019b, "Stingray: a modern python library for spectral timing", JOSS; DOI: 10.21105/joss.01393'. + Copy the corresponding BibTeX to clipboard. diff --git a/docs/conf.py b/docs/conf.py index 7b24d9417..2441a5cf5 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -164,6 +164,7 @@ r"https://arxiv.org/", r"https://.*adsabs.harvard.edu/", r"https://zenodo.org/", + r"https://opensource.org/", ] # -- Options for the edit_on_github extension --------------------------------- @@ -236,6 +237,8 @@ def bibtex_url(self): f.write(" - DOI\n") f.write(" - Citation\n") for r in sorted(releases, key=lambda r: r.version, reverse=True): + if "beta" in r.version or "rc" in r.version: + continue f.write(f" * - `{r.version} <{r.github_url}>`__\n") f.write(f" - `{r.doi} <{r.zenodo_url}>`__\n") f.write(f" - `[Link to BibTeX] <{r.bibtex_url}>`__\n") diff --git a/docs/index.rst b/docs/index.rst index 052eb9303..2af030e40 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -8,6 +8,16 @@ Stingray: Next-Generation Spectral Timing :alt: Stingray logo, outline of a stingray on top of a graph of the power spectrum of an X-ray binary :align: center +.. csv-table:: + :header: "Usage", "Release", "Development", "Community" + :widths: auto + :align: center + + |Python version|, |GitHub release|, |Build Status Master|, |Slack| + |Docs|, |joss|, |Repo status|, |pyOpenSci Peer-Reviewed| + |License|, |doi|, |Coverage Status Master|, " " + + Stingray is a Python library designed to perform times series analysis and related tasks on astronomical light curves. It supports a range of commonly-used Fourier analysis techniques, as well as extensions for analyzing pulsar data, simulating data sets, and statistical modelling. Stingray is designed to be easy to extend, and easy to incorporate into data analysis workflows and pipelines. @@ -33,7 +43,7 @@ Current Capabilities * Good Time Interval operations * Filling gaps in light curves with statistically sound fake data -1. Fourier methods +2. Fourier methods ~~~~~~~~~~~~~~~~~~ * power spectra and cross spectra in Leahy, rms normalization, absolute rms and no normalization * averaged power spectra and cross spectra @@ -328,3 +338,27 @@ Indices and tables * :ref:`genindex` * :ref:`modindex` * :ref:`search` + +.. |Python version| image:: https://img.shields.io/python/required-version-toml?tomlFilePath=https://raw.githubusercontent.com/stingraysoftware/stingray/main/pyproject.toml + :alt: Python Version from PEP 621 TOML +.. |Build Status Master| image:: https://github.com/StingraySoftware/stingray/workflows/CI%20Tests/badge.svg + :target: https://github.com/StingraySoftware/stingray/actions/ +.. |Docs| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat + :target: https://docs.stingray.science/ +.. |Slack| image:: https://img.shields.io/badge/Join%20Our%20Community-Slack-blue + :target: https://join.slack.com/t/stingraysoftware/shared_invite/zt-49kv4kba-mD1Y~s~rlrOOmvqM7mZugQ +.. |Coverage Status Master| image:: https://codecov.io/gh/StingraySoftware/stingray/branch/master/graph/badge.svg?token=FjWeFfhU9F + :target: https://codecov.io/gh/StingraySoftware/stingray +.. |GitHub release| image:: https://img.shields.io/github/v/release/StingraySoftware/stingray + :target: https://github.com/StingraySoftware/stingray/releases/latest +.. |joss| image:: https://joss.theoj.org/papers/10.21105/joss.07389/status.svg + :target: https://doi.org/10.21105/joss.07389 +.. |doi| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1490116.svg + :target: https://doi.org/10.5281/zenodo.1490116 +.. |Repo status| image:: https://www.repostatus.org/badges/latest/active.svg + :alt: Project Status: Active – The project has reached a stable, usable state and is being actively developed. + :target: https://www.repostatus.org/#active +.. |License| image:: https://img.shields.io/badge/License-MIT-yellow.svg + :target: https://opensource.org/licenses/MIT +.. |pyOpenSci Peer-Reviewed| image:: https://pyopensci.org/badges/peer-reviewed.svg + :target: https://github.com/pyOpenSci/software-review/issues/201 diff --git a/joss/joss.bib b/joss/joss.bib index 81f17e48f..d00f7248d 100644 --- a/joss/joss.bib +++ b/joss/joss.bib @@ -1,192 +1,199 @@ -@Misc{scipy, - author = {Eric Jones and Travis Oliphant and Pearu Peterson and others}, - title = {{SciPy}: Open source scientific tools for {Python}}, - year = {2001--}, - url = "http://www.scipy.org/", - note = {[Online; accessed ]} +@article{astropy2013, + title = {Astropy: {{A}} Community {{Python}} Package for Astronomy}, + shorttitle = {Astropy}, + author = {{Astropy Collaboration} and Robitaille, Thomas P. and Tollerud, Erik J. and Greenfield, Perry and Droettboom, Michael and Bray, Erik and Aldcroft, Tom and Davis, Matt and Ginsburg, Adam and {Price-Whelan}, Adrian M. and Kerzendorf, Wolfgang E. and Conley, Alexander and Crighton, Neil and Barbary, Kyle and Muna, Demitri and Ferguson, Henry and Grollier, Fr{\'e}d{\'e}ric and Parikh, Madhura M. and Nair, Prasanth H. and Unther, Hans M. and Deil, Christoph and Woillez, Julien and Conseil, Simon and Kramer, Roban and Turner, James E. H. and Singer, Leo and Fox, Ryan and Weaver, Benjamin A. and Zabalza, Victor and Edwards, Zachary I. and Azalee Bostroem, K. and Burke, D. J. and Casey, Andrew R. and Crawford, Steven M. and Dencheva, Nadia and Ely, Justin and Jenness, Tim and Labrie, Kathleen and Lim, Pey Lian and Pierfederici, Francesco and Pontzen, Andrew and Ptak, Andy and Refsdal, Brian and Servillat, Mathieu and Streicher, Ole}, + year = {2013}, + month = oct, + journal = {Astronomy \& Astrophysics}, + volume = {558}, + pages = {A33}, + issn = {0004-6361}, + doi = {10.1051/0004-6361/201322068}, + urldate = {2024-06-17}, + abstract = {We present the first public version (v0.2) of the open-source and community-developed Python package, Astropy. This package provides core astronomy-related functionality to the community, including support for domain-specific file formats such as flexible image transport system (FITS) files, Virtual Observatory (VO) tables, and common ASCII table formats, unit and physical quantity conversions, physical constants specific to astronomy, celestial coordinate and time transformations, world coordinate system (WCS) support, generalized containers for representing gridded as well as tabular data, and a framework for cosmological transformations and conversions. Significant functionality is under activedevelopment, such as a model fitting framework, VO client and server tools, and aperture and point spread function (PSF) photometry tools. The core development team is actively making additions and enhancements to the current code base, and we encourage anyone interested to participate in the development of future Astropy versions.}, + keywords = {Astrophysics - Instrumentation and Methods for Astrophysics,methods: data analysis,methods: miscellaneous,virtual observatory tools}, + annotation = {ADS Bibcode: 2013A\&A...558A..33A} } -@ARTICLE{numpy, -author={K. J. {Millman} and M. {Aivazis}}, -journal={Computing in Science Engineering}, -title={Python for Scientists and Engineers}, -year={2011}, -volume={13}, -number={2}, -pages={9-12}, -keywords={Special issues and sections;Computer languages;Programming;Scientific computing;Numerical models;Programming languages;Python;Scientific computing;interactive research;Python libraries;Python tools}, -doi={10.1109/MCSE.2011.36}, -ISSN={1521-9615}, -month={March},} - -@ARTICLE{2019arXiv190107681H, - author = {{Huppenkothen}, D. and {Bachetti}, M. and {Stevens}, A.~L. and - {Migliari}, S. and {Balm}, P. and {Hammad}, O. and {Khan}, U.~M. and - {Mishra}, H. and {Rashid}, H. and {Sharma}, S. and {Blanco}, R.~V. and - {Ribeiro}, E.~M.}, - title = "{Stingray: A Modern Python Library For Spectral Timing}", - journal = {arXiv e-prints}, - keywords = {Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - High Energy Astrophysical Phenomena}, - year = "in press", - month = "Jan", - eid = {arXiv:1901.07681}, - pages = {arXiv:1901.07681}, -archivePrefix = {arXiv}, - eprint = {1901.07681}, - primaryClass = {astro-ph.IM}, - adsurl = {https://ui.adsabs.harvard.edu/\#abs/2019arXiv190107681H}, - adsnote = {Provided by the SAO/NASA Astrophysics Data System} +@article{astropy2022, + title = {The {{Astropy Project}}: Sustaining and Growing a Community-oriented Open-source Project and the Latest Major Release (v5.0) of the Core Package}, + shorttitle = {The {{Astropy Project}}}, + author = {{Astropy Collaboration} and {Price-Whelan}, Adrian M. and Lim, Pey Lian and Earl, Nicholas and Starkman, Nathaniel and Bradley, Larry and Shupe, David L. and Patil, Aarya A. and Corrales, Lia and Brasseur, C. E. and N{\"o}the, Maximilian and Donath, Axel and Tollerud, Erik and Morris, Brett M. and Ginsburg, Adam and Vaher, Eero and Weaver, Benjamin A. and Tocknell, James and Jamieson, William and {van Kerkwijk}, Marten H. and Robitaille, Thomas P. and Merry, Bruce and Bachetti, Matteo and G{\"u}nther, H. Moritz and Aldcroft, Thomas L. and {Alvarado-Montes}, Jaime A. and Archibald, Anne M. and B{\'o}di, Attila and Bapat, Shreyas and Barentsen, Geert and Baz{\'a}n, Juanjo and Biswas, Manish and Boquien, M{\'e}d{\'e}ric and Burke, D. J. and Cara, Daria and Cara, Mihai and Conroy, Kyle E. and Conseil, Simon and Craig, Matthew W. and Cross, Robert M. and Cruz, Kelle L. and D'Eugenio, Francesco and Dencheva, Nadia and Devillepoix, Hadrien A. R. and Dietrich, J{\"o}rg P. and Eigenbrot, Arthur Davis and Erben, Thomas and Ferreira, Leonardo and {Foreman-Mackey}, Daniel and Fox, Ryan and Freij, Nabil and Garg, Suyog and Geda, Robel and Glattly, Lauren and Gondhalekar, Yash and Gordon, Karl D. and Grant, David and Greenfield, Perry and Groener, Austen M. and Guest, Steve and Gurovich, Sebastian and Handberg, Rasmus and Hart, Akeem and {Hatfield-Dodds}, Zac and Homeier, Derek and Hosseinzadeh, Griffin and Jenness, Tim and Jones, Craig K. and Joseph, Prajwel and Kalmbach, J. Bryce and Karamehmetoglu, Emir and Ka{\l}uszy{\'n}ski, Miko{\l}aj and Kelley, Michael S. P. and Kern, Nicholas and Kerzendorf, Wolfgang E. and Koch, Eric W. and Kulumani, Shankar and Lee, Antony and Ly, Chun and Ma, Zhiyuan and MacBride, Conor and Maljaars, Jakob M. and Muna, Demitri and Murphy, N. A. and Norman, Henrik and O'Steen, Richard and Oman, Kyle A. and Pacifici, Camilla and Pascual, Sergio and {Pascual-Granado}, J. and Patil, Rohit R. and Perren, Gabriel I. and Pickering, Timothy E. and Rastogi, Tanuj and Roulston, Benjamin R. and Ryan, Daniel F. and Rykoff, Eli S. and Sabater, Jose and Sakurikar, Parikshit and Salgado, Jes{\'u}s and Sanghi, Aniket and Saunders, Nicholas and Savchenko, Volodymyr and Schwardt, Ludwig and {Seifert-Eckert}, Michael and Shih, Albert Y. and Jain, Anany Shrey and Shukla, Gyanendra and Sick, Jonathan and Simpson, Chris and Singanamalla, Sudheesh and Singer, Leo P. and Singhal, Jaladh and Sinha, Manodeep and Sip{\H o}cz, Brigitta M. and Spitler, Lee R. and Stansby, David and Streicher, Ole and {\v S}umak, Jani and Swinbank, John D. and Taranu, Dan S. and Tewary, Nikita and Tremblay, Grant R. and {de Val-Borro}, Miguel and Van Kooten, Samuel J. and Vasovi{\'c}, Zlatan and Verma, Shresth and {de Miranda Cardoso}, Jos{\'e} Vin{\'i}cius and Williams, Peter K. G. and Wilson, Tom J. and Winkel, Benjamin and {Wood-Vasey}, W. M. and Xue, Rui and Yoachim, Peter and Zhang, Chen and Zonca, Andrea and {Astropy Project Contributors}}, + year = {2022}, + month = aug, + journal = {The Astrophysical Journal}, + volume = {935}, + pages = {167}, + publisher = {IOP}, + issn = {0004-637X}, + doi = {10.3847/1538-4357/ac7c74}, + urldate = {2024-06-17}, + abstract = {The Astropy Project supports and fosters the development of open-source and openly developed Python packages that provide commonly needed functionality to the astronomical community. A key element of the Astropy Project is the core package astropy, which serves as the foundation for more specialized projects and packages. In this article, we summarize key features in the core package as of the recent major release, version 5.0, and provide major updates on the Project. We then discuss supporting a broader ecosystem of interoperable packages, including connections with several astronomical observatories and missions. We also revisit the future outlook of the Astropy Project and the current status of Learn Astropy. We conclude by raising and discussing the current and future challenges facing the Project.}, + keywords = {1855,1858,1866,Astronomy data analysis,Astronomy software,Astrophysics - Instrumentation and Methods for Astrophysics,Open source software}, + annotation = {ADS Bibcode: 2022ApJ...935..167A} } -@article{astropy, - author = {{Astropy Collaboration}}, - title = "{Astropy: A community Python package for astronomy}", - journal = {\aap}, - archivePrefix = "arXiv", - eprint = {1307.6212}, - primaryClass = "astro-ph.IM", - keywords = {methods: data analysis, methods: miscellaneous, virtual observatory tools}, - year = 2013, - month = oct, - volume = 558, - doi = {10.1051/0004-6361/201322068}, - adsurl = {http://adsabs.harvard.edu/abs/2013A%26A...558A..33A} +@incollection{bachettihuppenkothen, + title = {Fourier Methods}, + booktitle = {Handbook of {{X-ray}} and Gamma-ray Astrophysics}, + author = {Bachetti, Matteo and Huppenkothen, Daniela}, + editor = {Bambi, Cosimo and Santangelo, Andrea}, + year = {2022}, + pages = {1--47}, + publisher = {Springer Nature}, + address = {Singapore}, + doi = {10.1007/978-981-16-4544-0_137-1}, + urldate = {2023-08-06}, + abstract = {The changes in brightness of an astronomical source as a function of time are key probes into that source's physics. Periodic and quasi-periodic signals are indicators of fundamental time (and length) scales in the system, while stochastic processes help uncover the nature of turbulent accretion processes. A key method of studying time variability is through Fourier methods, the decomposition of the signal into sine waves, which yields a representation of the data in frequency space. With the extension into spectral timing, the methods built on the Fourier transform can not only help us characterize (quasi-)periodicities and stochastic processes but also uncover the complex relationships between time, photon energy, and flux in order to help build better models of accretion processes and other high-energy dynamical physics. In this chapter, we provide a broad but practical overview of the most important relevant methods.}, + isbn = {9789811645440}, + langid = {english}, + keywords = {Fourier analysis,Pulsars,Spectral Timing,Time lags,Time series analysis,X-ray oscillations} } -@ARTICLE{astropy2, - author = {{Astropy Collaboration} and {Price-Whelan}, A.~M. and - {Sip{\H{o}}cz}, B.~M. and {G{\"u}nther}, H.~M. and {Lim}, P.~L. and - {Crawford}, S.~M. and {Conseil}, S. and {Shupe}, D.~L. and - {Craig}, M.~W. and {Dencheva}, N.}, - title = "{The Astropy Project: Building an Open-science Project and Status of the v2.0 Core Package}", - journal = {\aj}, - keywords = {methods: data analysis, methods: miscellaneous, methods: statistical, reference systems, Astrophysics - Instrumentation and Methods for Astrophysics}, - year = "2018", - month = "Sep", - volume = {156}, - number = {3}, - eid = {123}, - pages = {123}, - doi = {10.3847/1538-3881/aabc4f}, -archivePrefix = {arXiv}, - eprint = {1801.02634}, - primaryClass = {astro-ph.IM}, - adsurl = {https://ui.adsabs.harvard.edu/abs/2018AJ....156..123A}, - adsnote = {Provided by the SAO/NASA Astrophysics Data System} +@article{dejager, + title = {A Powerful Test for Weak Periodic Signals with Unknown Light Curve Shape in Sparse Data}, + author = {{de Jager}, O C and Raubenheimer, B C and Swanepoel, J W H}, + year = {1989}, + month = aug, + journal = {Astronomy \& Astrophysics}, + volume = {221}, + pages = {180--190}, + abstract = {A problem with most tests for periodicity is that they are powerful enough to detect only certain kinds of periodic shapes (or 'light curves') in the case of weak signals. This causes a selection effect with the identification of weak periodic signals. Furthermore, the subjective choice of a test after inspection of the data can cause the identification of false sources. A new test for uniformity called the 'H-test' is derived for which the probability distribution is an exponential function. This test is shown to have a very good power against most light curve shapes encountered in X- and gamma-ray astronomy and therefore makes the detection of sources with a larger variety of shapes possible. The use of the H-test is suggested if no a priori information about the light curve shape is available. It is also shown how the probability distribution of the test statistics changes when a periodicity search is conducted using very small steps in the period or frequency range. The flux sensitivity for various light curve shapes is also derived for a few tests and this flux is on average a minimum for the H-test.} } - - -@ARTICLE{nustar13, - author = {{Harrison}, Fiona A. and {Craig}, William W. and {Christensen}, Finn E. and - {Hailey}, Charles J. and {Zhang}, William W. and {Boggs}, Steven E. and - {Stern}, Daniel and {Cook}, W. Rick and {Forster}, Karl and - {Giommi}, Paolo}, - title = "{The Nuclear Spectroscopic Telescope Array (NuSTAR) High-energy X-Ray Mission}", - journal = {\apj}, - keywords = {space vehicles: instruments, X-rays: general, Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - High Energy Astrophysical Phenomena}, - year = "2013", - month = "Jun", - volume = {770}, - number = {2}, - eid = {103}, - pages = {103}, - doi = {10.1088/0004-637X/770/2/103}, -archivePrefix = {arXiv}, - eprint = {1301.7307}, - primaryClass = {astro-ph.IM}, - adsurl = {https://ui.adsabs.harvard.edu/abs/2013ApJ...770..103H}, - adsnote = {Provided by the SAO/NASA Astrophysics Data System} +@article{heil, + title = {Power Colours: Simple {{X-ray}} Binary Variability Comparison}, + author = {Heil, L M and Uttley, P and {Klein-Wolt}, M}, + year = {2015}, + month = apr, + journal = {Monthly Notices of the Royal Astronomical Society}, + volume = {448}, + number = {4}, + pages = {3339--3347}, + doi = {10.1093/mnras/stv191}, + abstract = {We demonstrate a new method of variability classification using observations of black hole X-ray binaries. Using `power colours' - ratios of integrated power in different Fourier frequency bands - we can clearly differentiate different canonical black hole states as the objects evolve during outburst. We analyse ({$\sim$} 2400) Rossi X-ray Timing Explorer observations of 12 transient low-mass black hole X-ray binaries and find that the path taken around the power colour-colour diagram as the sources evolve is highly consistent from object to object. We discuss how the consistency observed in the power colour-colour diagram between different objects allows for easy state classification based on only a few observations, and show how the power-spectral shapes can be simply classified using a single parameter, the power-spectral `hue'. To illustrate the benefits of our simple model-independent approach, we show that the persistent high-mass X-ray binary Cyg X-1 shows very similar power-spectral evolution to the transient black hole sources, with the main difference being caused by a combination of a lack of quasi-periodic oscillations and an excess of low-frequency power-law noise in the Cyg X-1 power spectra during the transitional state. We also compare the transient objects to the neutron star atoll source Aquila X-1, demonstrating that it traces a different path in the power colour-colour plot. Thus, power colours could be an effective method to classify newly discovered X-ray binaries.}, + langid = {english} } -@ARTICLE{Bradtetal93, - author = {{Bradt}, H.~V. and {Rothschild}, R.~E. and {Swank}, J.~H.}, - title = "{X-ray timing explorer mission}", - journal = {Astronomy and Astrophysics Supplement Series}, - keywords = {Cosmology, Sky Surveys (Astronomy), X Ray Astronomy, X Ray Timing Explorer, Active Galactic Nuclei, Astronomical Observatories, Data Processing, Neutron Stars, Proportional Counters, Spaceborne Astronomy, X Ray Sources}, - year = 1993, - month = jan, - volume = 97, - pages = {355-360}, - adsurl = {http://adsabs.harvard.edu/abs/1993A\%26AS...97..355B}, - adsnote = {Provided by the SAO/NASA Astrophysics Data System} +@article{hubner, + title = {Searching for Quasi-periodic Oscillations in Astrophysical Transients Using {{Gaussian Processes}}}, + author = {H{\"u}bner, Moritz and Huppenkothen, Daniela and Lasky, Paul D. and Inglis, Andrew R. and Ick, Christopher and Hogg, David W.}, + year = {2022}, + month = sep, + journal = {The Astrophysical Journal}, + volume = {936}, + pages = {17}, + publisher = {IOP}, + issn = {0004-637X}, + doi = {10.3847/1538-4357/ac7959}, + urldate = {2024-07-04}, + abstract = {Analyses of quasi-periodic oscillations (QPOs) are important to understanding the dynamic behavior in many astrophysical objects during transient events like gamma-ray bursts, solar flares, magnetar flares, and fast radio bursts. Astrophysicists often search for QPOs with frequency-domain methods such as (Lomb-Scargle) periodograms, which generally assume power-law models plus some excess around the QPO frequency. Time-series data can alternatively be investigated directly in the time domain using Gaussian process (GP) regression. While GP regression is computationally expensive in the general case, the properties of astrophysical data and models allow fast likelihood strategies. Heteroscedasticity and nonstationarity in data have been shown to cause bias in periodogram-based analyses. GPs can take account of these properties. Using GPs, we model QPOs as a stochastic process on top of a deterministic flare shape. Using Bayesian inference, we demonstrate how to infer GP hyperparameters and assign them physical meaning, such as the QPO frequency. We also perform model selection between QPOs and alternative models such as red noise and show that this can be used to reliably find QPOs. This method is easily applicable to a variety of different astrophysical data sets. We demonstrate the use of this method on a range of short transients: a gamma-ray burst, a magnetar flare, a magnetar giant flare, and simulated solar flare data.}, + keywords = {1496,1852,1853,1882,1886,1900,1912,1916,629,992,Astrophysics - High Energy Astrophysical Phenomena,Astrophysics - Instrumentation and Methods for Astrophysics,Astrophysics - Solar and Stellar Astrophysics,Astrostatistics,Astrostatistics techniques,Bayesian statistics,Gamma-ray bursts,Gamma-ray transient sources,Magnetars,Model selection,Solar flares,Time series analysis,X-ray transient sources}, + annotation = {ADS Bibcode: 2022ApJ...936...17H} } -@INPROCEEDINGS{gendreau2016, - author = {{Gendreau}, K.~C. and {Arzoumanian}, Z. and {Adkins}, P.~W. and - {Albert}, C.~L. and {Anders}, J.~F. and {Aylward}, A.~T. and - {Baker}, C.~L. and {Balsamo}, E.~R. and {Bamford}, W.~A. and - {Benegalrao}, S.~S. and {Berry}, D.~L. and {Bhalwani}, S. and - {Black}, J.~K. and {Blaurock}, C. and {Bronke}, G.~M. and {Brown}, G.~L. and - {Budinoff}, J.~G. and {Cantwell}, J.~D. and {Cazeau}, T. and - {Chen}, P.~T. and {Clement}, T.~G. and {Colangelo}, A.~T. and - {Coleman}, J.~S. and {Coopersmith}, J.~D. and {Dehaven}, W.~E. and - {Doty}, J.~P. and {Egan}, M.~D. and {Enoto}, T. and {Fan}, T.~W. and - {Ferro}, D.~M. and {Foster}, R. and {Galassi}, N.~M. and {Gallo}, L.~D. and - {Green}, C.~M. and {Grosh}, D. and {Ha}, K.~Q. and {Hasouneh}, M.~A. and - {Heefner}, K.~B. and {Hestnes}, P. and {Hoge}, L.~J. and {Jacobs}, T.~M. and - {J{\o}rgensen}, J.~L. and {Kaiser}, M.~A. and {Kellogg}, J.~W. and - {Kenyon}, S.~J. and {Koenecke}, R.~G. and {Kozon}, R.~P. and - {LaMarr}, B. and {Lambertson}, M.~D. and {Larson}, A.~M. and - {Lentine}, S. and {Lewis}, J.~H. and {Lilly}, M.~G. and {Liu}, K.~A. and - {Malonis}, A. and {Manthripragada}, S.~S. and {Markwardt}, C.~B. and - {Matonak}, B.~D. and {Mcginnis}, I.~E. and {Miller}, R.~L. and - {Mitchell}, A.~L. and {Mitchell}, J.~W. and {Mohammed}, J.~S. and - {Monroe}, C.~A. and {Montt de Garcia}, K.~M. and {Mul{\'e}}, P.~D. and - {Nagao}, L.~T. and {Ngo}, S.~N. and {Norris}, E.~D. and {Norwood}, D.~A. and - {Novotka}, J. and {Okajima}, T. and {Olsen}, L.~G. and {Onyeachu}, C.~O. and - {Orosco}, H.~Y. and {Peterson}, J.~R. and {Pevear}, K.~N. and - {Pham}, K.~K. and {Pollard}, S.~E. and {Pope}, J.~S. and {Powers}, D.~F. and - {Powers}, C.~E. and {Price}, S.~R. and {Prigozhin}, G.~Y. and - {Ramirez}, J.~B. and {Reid}, W.~J. and {Remillard}, R.~A. and - {Rogstad}, E.~M. and {Rosecrans}, G.~P. and {Rowe}, J.~N. and - {Sager}, J.~A. and {Sanders}, C.~A. and {Savadkin}, B. and {Saylor}, M.~R. and - {Schaeffer}, A.~F. and {Schweiss}, N.~S. and {Semper}, S.~R. and - {Serlemitsos}, P.~J. and {Shackelford}, L.~V. and {Soong}, Y. and - {Struebel}, J. and {Vezie}, M.~L. and {Villasenor}, J.~S. and - {Winternitz}, L.~B. and {Wofford}, G.~I. and {Wright}, M.~R. and - {Yang}, M.~Y. and {Yu}, W.~H.}, - title = "{The Neutron star Interior Composition Explorer (NICER): design and development}", -booktitle = {Space Telescopes and Instrumentation 2016: Ultraviolet to Gamma Ray}, - year = 2016, - series = {\procspie}, - volume = 9905, - month = jul, - eid = {99051H}, - pages = {99051H}, - doi = {10.1117/12.2231304}, - adsurl = {http://adsabs.harvard.edu/abs/2016SPIE.9905E..1HG}, - adsnote = {Provided by the SAO/NASA Astrophysics Data System} +@article{stingrayapj, + title = {Stingray : {{A Modern Python Library}} for {{Spectral Timing}}}, + shorttitle = {Stingray}, + author = {Huppenkothen, Daniela and Bachetti, Matteo and Stevens, Abigail L. and Migliari, Simone and Balm, Paul and Hammad, Omar and Khan, Usman Mahmood and Mishra, Himanshu and Rashid, Haroon and Sharma, Swapnil and Ribeiro, Evandro Martinez and Blanco, Ricardo Valles}, + year = {2019}, + month = aug, + journal = {ApJ}, + volume = {881}, + number = {1}, + pages = {39}, + issn = {1538-4357}, + doi = {10.3847/1538-4357/ab258d}, + urldate = {2019-08-29}, + abstract = {This paper describes the design and implementation of stingray, a library in Python built to perform time series analysis and related tasks on astronomical light curves. Its core functionality comprises a range of Fourier analysis techniques commonly used in spectral-timing analysis, as well as extensions for analyzing pulsar data, simulating data sets, and statistical modeling. Its modular build allows for easy extensions and incorporation of its methods into data analysis workflows and pipelines. We aim for the library to be a platform for the implementation of future spectral-timing techniques. We describe the overall vision and framework, core functionality, extensions, and connections to high-level command-line and graphical interfaces. The code is well tested, with a test coverage of currently 95\%, and is accompanied by extensive Application Program Interface (API) documentation and a set of step-by-step tutorials.}, + copyright = {All rights reserved}, + langid = {english}, + keywords = {Astrophysics - High Energy Astrophysical Phenomena,Astrophysics - Instrumentation and Methods for Astrophysics} } -@MISC{hendrics, - author = {{Bachetti}, M.}, - title = "{HENDRICS: High ENergy Data Reduction Interface from the Command Shell}", - keywords = {Software }, -howpublished = {Astrophysics Source Code Library}, - year = 2018, - month = may, -archivePrefix = "ascl", - eprint = {1805.019}, - adsurl = {http://adsabs.harvard.edu/abs/2018ascl.soft05019B}, - adsnote = {Provided by the SAO/NASA Astrophysics Data System} +@article{stingrayjoss, + title = {Stingray: {{A}} Modern {{Python}} Library for Spectral Timing}, + shorttitle = {Stingray}, + author = {Huppenkothen, Daniela and Bachetti, Matteo and Stevens, Abigail and Migliari, Simone and Balm, Paul and Hammad, Omar and Khan, Usman Mahmood and Mishra, Himanshu and Rashid, Haroon and Sharma, Swapnil and Ribeiro, Evandro Martinez and Blanco, Ricardo Valles}, + year = {2019}, + month = jun, + journal = {Journal of Open Source Software}, + volume = {4}, + number = {38}, + pages = {1393}, + issn = {2475-9066}, + doi = {10.21105/joss.01393}, + urldate = {2024-07-04}, + abstract = {Huppenkothen et al., (2019). stingray: A modern Python library for spectral timing. Journal of Open Source Software, 4(38), 1393, https://doi.org/10.21105/joss.01393}, + langid = {english} } +@article{lomb, + title = {Least-Squares Frequency Analysis of Unequally Spaced Data}, + author = {Lomb, N R}, + year = {1976}, + month = feb, + journal = {Ap\&SS}, + volume = {39}, + number = {2}, + pages = {447--462}, + doi = {10.1007/BF00648343}, + abstract = {The statistical properties of least-squares frequency analysis of unequally spaced data are examined. It is shown that, in the least-squares spectrum of gaussian noise, the reduction in the sum of squares at a particular frequency is a chi2-squared variable. The reductions at different frequencies are not independent, as there is a correlation between the height of the spectrum at any two frequencies, f1 and f2, which is equal to the mean height of the spectrum due to a sinusoidal signal of frequency f1, at the frequency f2. These correlations reduce the distortion in the spectrum of a signal affected by noise. Some numerical illustrations of the properties of least-squares frequency spectra are given.}, + langid = {english} +} +@article{ransom, + title = {Fourier Techniques for Very Long Astrophysical Time-Series Analysis}, + author = {Ransom, Scott M and Eikenberry, Stephen S and Middleditch, John}, + year = {2002}, + month = sep, + journal = {The Astronomical Journal}, + volume = {124}, + pages = {1788}, + doi = {10.1086/342285}, + abstract = {We present an assortment of both standard and advanced Fourier techniques that are useful in the analysis of astrophysical time series of very long duration-where the observation time is much greater than the time resolution of the individual data points. We begin by reviewing the operational characteristics of Fourier transforms of time-series data, including power-spectral statistics, discussing some of the differences between analyses of binned data, sampled data, and event data, and we briefly discuss algorithms for calculating discrete Fourier transforms (DFTs) of very long time series. We then discuss the response of DFTs to periodic signals and present techniques to recover Fourier amplitude ``lost'' during simple traditional analyses if the periodicities change frequency during the observation. These techniques include Fourier interpolation, which allows us to correct the response for signals that occur between Fourier frequency bins. We then present techniques for estimating additional signal properties such as the signal's centroid and duration in time, the first and second derivatives of the frequency, the pulsed fraction, and an overall estimate of the significance of a detection. Finally, we present a recipe for a basic but thorough Fourier analysis of a time series for well-behaved pulsations.}, + keywords = {Methods: Data Analysis} +} -@MISC{stingraysoftware, - author = {{Huppenkothen}, D. and {Bachetti}, M. and {Stevens}, A.~L. and - {Migliari}, S. and {Balm}, P. and {Hammad}, O. and {Khan}, U.~M. and - {Mishra}, H. and {Rashid}, H. and {Sharma}, S. and {Blanco}, R.~V. and - {Ribeiro}, E.~M.}, - title = "{Stingray: A Modern Python Library For Spectral Timing}", - year = {2018}, - month = {Feb}, - keywords = {Software}, - Date-Modified = {2018-02-12}, - Publisher = {GitHub}, - Title = {stingraysoftware/stingray: v0.1}, - doi = {10.5281/zenodo.3239519} +@article{scargle, + title = {Studies in Astronomical Time Series Analysis. {{III}} - {{Fourier}} Transforms, Autocorrelation Functions, and Cross-Correlation Functions of Unevenly Spaced Data}, + author = {Scargle, Jeffrey D}, + year = {1989}, + month = aug, + journal = {The Astrophysical Journal}, + volume = {343}, + pages = {874--887}, + doi = {10.1086/167757}, + abstract = {This paper develops techniques to evaluate the discrete Fourier transform (DFT), the autocorrelation function (ACF), and the cross-correlation function (CCF) of time series which are not evenly sampled. The series may consist of quantized point data (e.g., yes/no processes such as photon arrival). The DFT, which can be inverted to recover the original data and the sampling, is used to compute correlation functions by means of a procedure which is effectively, but not explicitly, an interpolation. The CCF can be computed for two time series not even sampled at the same set of times. Techniques for removing the distortion of the correlation functions caused by the sampling, determining the value of a constant component to the data, and treating unequally weighted data are also discussed. FORTRAN code for the Fourier transform algorithm and numerical examples of the techniques are given.} } +@article{stellingwerf, + title = {Period Determination Using Phase Dispersion Minimization.}, + author = {Stellingwerf, R. F.}, + year = {1978}, + month = sep, + journal = {The Astrophysical Journal}, + volume = {224}, + pages = {953--960}, + publisher = {IOP}, + issn = {0004-637X}, + doi = {10.1086/156444}, + urldate = {2024-07-04}, + abstract = {We derive a period determination technique that is well suited to the case of nonsinusoidal time variation covered by only a few irregularly spaced observations. A detailed statistical analysis allows comparison with other techniques and indicates the optimum choice of parameters for a given problem. Application to the double-mode Cepheid BK Cen demonstrates the applicability of these methods to difficult cases. Using 49 photoelectric points, we obtain the two primary oscillatory components as well as the principal mode-interaction term; the derived periods are in agreement with previous estimates.}, + keywords = {Astronomy,Cepheid Variables,Cepheids:Periods,Computer Techniques,Curve Fitting,Data Smoothing,Least Squares Method,Light Curve,Period Determination,Periodic Variations,Run Time (Computers),Significance,Statistical Analysis,Variable Stars}, + annotation = {ADS Bibcode: 1978ApJ...224..953S} +} +@article{uttley, + title = {X-Ray Reverberation around Accreting Black Holes}, + author = {Uttley, P and Cackett, E M and Fabian, A C and Kara, E and Wilkins, D R}, + year = {2014}, + month = aug, + journal = {The Astronomy and Astrophysics Review}, + volume = {22}, + number = {1}, + pages = {72--66}, + doi = {10.1007/s00159-014-0072-0}, + abstract = {Luminous accreting stellar mass and supermassive black holes produce power-law continuum X-ray emission from a compact central corona. Reverberation time lags occur due to light travel time delays between changes in the direct coronal emission and corresponding variations in its reflection from the accretion flow. Reverberation is detectable using light curves made in different X-ray energy bands, since the direct and reflected components have different spectral shapes. Larger, lower frequency, lags are also seen and are identified with propagation of fluctuations through the accretion flow and associated corona. We review the evidence for X-ray reverberation in active galactic nuclei and black hole X-ray binaries, showing how it can be best measured and how it may be modelled. The timescales and energy dependence of the high-frequency reverberation lags show that much of the signal is originating from very close to the black hole in some objects, within a few gravitational radii of the event horizon. We consider how these signals can be studied in the future to carry out X-ray reverberation mapping of the regions closest to black holes.}, + langid = {english} +} diff --git a/joss/joss_v1.bib b/joss/joss_v1.bib new file mode 100644 index 000000000..81f17e48f --- /dev/null +++ b/joss/joss_v1.bib @@ -0,0 +1,192 @@ +@Misc{scipy, + author = {Eric Jones and Travis Oliphant and Pearu Peterson and others}, + title = {{SciPy}: Open source scientific tools for {Python}}, + year = {2001--}, + url = "http://www.scipy.org/", + note = {[Online; accessed ]} +} + +@ARTICLE{numpy, +author={K. J. {Millman} and M. {Aivazis}}, +journal={Computing in Science Engineering}, +title={Python for Scientists and Engineers}, +year={2011}, +volume={13}, +number={2}, +pages={9-12}, +keywords={Special issues and sections;Computer languages;Programming;Scientific computing;Numerical models;Programming languages;Python;Scientific computing;interactive research;Python libraries;Python tools}, +doi={10.1109/MCSE.2011.36}, +ISSN={1521-9615}, +month={March},} + +@ARTICLE{2019arXiv190107681H, + author = {{Huppenkothen}, D. and {Bachetti}, M. and {Stevens}, A.~L. and + {Migliari}, S. and {Balm}, P. and {Hammad}, O. and {Khan}, U.~M. and + {Mishra}, H. and {Rashid}, H. and {Sharma}, S. and {Blanco}, R.~V. and + {Ribeiro}, E.~M.}, + title = "{Stingray: A Modern Python Library For Spectral Timing}", + journal = {arXiv e-prints}, + keywords = {Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - High Energy Astrophysical Phenomena}, + year = "in press", + month = "Jan", + eid = {arXiv:1901.07681}, + pages = {arXiv:1901.07681}, +archivePrefix = {arXiv}, + eprint = {1901.07681}, + primaryClass = {astro-ph.IM}, + adsurl = {https://ui.adsabs.harvard.edu/\#abs/2019arXiv190107681H}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System} +} + +@article{astropy, + author = {{Astropy Collaboration}}, + title = "{Astropy: A community Python package for astronomy}", + journal = {\aap}, + archivePrefix = "arXiv", + eprint = {1307.6212}, + primaryClass = "astro-ph.IM", + keywords = {methods: data analysis, methods: miscellaneous, virtual observatory tools}, + year = 2013, + month = oct, + volume = 558, + doi = {10.1051/0004-6361/201322068}, + adsurl = {http://adsabs.harvard.edu/abs/2013A%26A...558A..33A} +} + +@ARTICLE{astropy2, + author = {{Astropy Collaboration} and {Price-Whelan}, A.~M. and + {Sip{\H{o}}cz}, B.~M. and {G{\"u}nther}, H.~M. and {Lim}, P.~L. and + {Crawford}, S.~M. and {Conseil}, S. and {Shupe}, D.~L. and + {Craig}, M.~W. and {Dencheva}, N.}, + title = "{The Astropy Project: Building an Open-science Project and Status of the v2.0 Core Package}", + journal = {\aj}, + keywords = {methods: data analysis, methods: miscellaneous, methods: statistical, reference systems, Astrophysics - Instrumentation and Methods for Astrophysics}, + year = "2018", + month = "Sep", + volume = {156}, + number = {3}, + eid = {123}, + pages = {123}, + doi = {10.3847/1538-3881/aabc4f}, +archivePrefix = {arXiv}, + eprint = {1801.02634}, + primaryClass = {astro-ph.IM}, + adsurl = {https://ui.adsabs.harvard.edu/abs/2018AJ....156..123A}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System} +} + + + +@ARTICLE{nustar13, + author = {{Harrison}, Fiona A. and {Craig}, William W. and {Christensen}, Finn E. and + {Hailey}, Charles J. and {Zhang}, William W. and {Boggs}, Steven E. and + {Stern}, Daniel and {Cook}, W. Rick and {Forster}, Karl and + {Giommi}, Paolo}, + title = "{The Nuclear Spectroscopic Telescope Array (NuSTAR) High-energy X-Ray Mission}", + journal = {\apj}, + keywords = {space vehicles: instruments, X-rays: general, Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - High Energy Astrophysical Phenomena}, + year = "2013", + month = "Jun", + volume = {770}, + number = {2}, + eid = {103}, + pages = {103}, + doi = {10.1088/0004-637X/770/2/103}, +archivePrefix = {arXiv}, + eprint = {1301.7307}, + primaryClass = {astro-ph.IM}, + adsurl = {https://ui.adsabs.harvard.edu/abs/2013ApJ...770..103H}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System} +} + +@ARTICLE{Bradtetal93, + author = {{Bradt}, H.~V. and {Rothschild}, R.~E. and {Swank}, J.~H.}, + title = "{X-ray timing explorer mission}", + journal = {Astronomy and Astrophysics Supplement Series}, + keywords = {Cosmology, Sky Surveys (Astronomy), X Ray Astronomy, X Ray Timing Explorer, Active Galactic Nuclei, Astronomical Observatories, Data Processing, Neutron Stars, Proportional Counters, Spaceborne Astronomy, X Ray Sources}, + year = 1993, + month = jan, + volume = 97, + pages = {355-360}, + adsurl = {http://adsabs.harvard.edu/abs/1993A\%26AS...97..355B}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System} +} + +@INPROCEEDINGS{gendreau2016, + author = {{Gendreau}, K.~C. and {Arzoumanian}, Z. and {Adkins}, P.~W. and + {Albert}, C.~L. and {Anders}, J.~F. and {Aylward}, A.~T. and + {Baker}, C.~L. and {Balsamo}, E.~R. and {Bamford}, W.~A. and + {Benegalrao}, S.~S. and {Berry}, D.~L. and {Bhalwani}, S. and + {Black}, J.~K. and {Blaurock}, C. and {Bronke}, G.~M. and {Brown}, G.~L. and + {Budinoff}, J.~G. and {Cantwell}, J.~D. and {Cazeau}, T. and + {Chen}, P.~T. and {Clement}, T.~G. and {Colangelo}, A.~T. and + {Coleman}, J.~S. and {Coopersmith}, J.~D. and {Dehaven}, W.~E. and + {Doty}, J.~P. and {Egan}, M.~D. and {Enoto}, T. and {Fan}, T.~W. and + {Ferro}, D.~M. and {Foster}, R. and {Galassi}, N.~M. and {Gallo}, L.~D. and + {Green}, C.~M. and {Grosh}, D. and {Ha}, K.~Q. and {Hasouneh}, M.~A. and + {Heefner}, K.~B. and {Hestnes}, P. and {Hoge}, L.~J. and {Jacobs}, T.~M. and + {J{\o}rgensen}, J.~L. and {Kaiser}, M.~A. and {Kellogg}, J.~W. and + {Kenyon}, S.~J. and {Koenecke}, R.~G. and {Kozon}, R.~P. and + {LaMarr}, B. and {Lambertson}, M.~D. and {Larson}, A.~M. and + {Lentine}, S. and {Lewis}, J.~H. and {Lilly}, M.~G. and {Liu}, K.~A. and + {Malonis}, A. and {Manthripragada}, S.~S. and {Markwardt}, C.~B. and + {Matonak}, B.~D. and {Mcginnis}, I.~E. and {Miller}, R.~L. and + {Mitchell}, A.~L. and {Mitchell}, J.~W. and {Mohammed}, J.~S. and + {Monroe}, C.~A. and {Montt de Garcia}, K.~M. and {Mul{\'e}}, P.~D. and + {Nagao}, L.~T. and {Ngo}, S.~N. and {Norris}, E.~D. and {Norwood}, D.~A. and + {Novotka}, J. and {Okajima}, T. and {Olsen}, L.~G. and {Onyeachu}, C.~O. and + {Orosco}, H.~Y. and {Peterson}, J.~R. and {Pevear}, K.~N. and + {Pham}, K.~K. and {Pollard}, S.~E. and {Pope}, J.~S. and {Powers}, D.~F. and + {Powers}, C.~E. and {Price}, S.~R. and {Prigozhin}, G.~Y. and + {Ramirez}, J.~B. and {Reid}, W.~J. and {Remillard}, R.~A. and + {Rogstad}, E.~M. and {Rosecrans}, G.~P. and {Rowe}, J.~N. and + {Sager}, J.~A. and {Sanders}, C.~A. and {Savadkin}, B. and {Saylor}, M.~R. and + {Schaeffer}, A.~F. and {Schweiss}, N.~S. and {Semper}, S.~R. and + {Serlemitsos}, P.~J. and {Shackelford}, L.~V. and {Soong}, Y. and + {Struebel}, J. and {Vezie}, M.~L. and {Villasenor}, J.~S. and + {Winternitz}, L.~B. and {Wofford}, G.~I. and {Wright}, M.~R. and + {Yang}, M.~Y. and {Yu}, W.~H.}, + title = "{The Neutron star Interior Composition Explorer (NICER): design and development}", +booktitle = {Space Telescopes and Instrumentation 2016: Ultraviolet to Gamma Ray}, + year = 2016, + series = {\procspie}, + volume = 9905, + month = jul, + eid = {99051H}, + pages = {99051H}, + doi = {10.1117/12.2231304}, + adsurl = {http://adsabs.harvard.edu/abs/2016SPIE.9905E..1HG}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System} +} + +@MISC{hendrics, + author = {{Bachetti}, M.}, + title = "{HENDRICS: High ENergy Data Reduction Interface from the Command Shell}", + keywords = {Software }, +howpublished = {Astrophysics Source Code Library}, + year = 2018, + month = may, +archivePrefix = "ascl", + eprint = {1805.019}, + adsurl = {http://adsabs.harvard.edu/abs/2018ascl.soft05019B}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System} +} + + + +@MISC{stingraysoftware, + author = {{Huppenkothen}, D. and {Bachetti}, M. and {Stevens}, A.~L. and + {Migliari}, S. and {Balm}, P. and {Hammad}, O. and {Khan}, U.~M. and + {Mishra}, H. and {Rashid}, H. and {Sharma}, S. and {Blanco}, R.~V. and + {Ribeiro}, E.~M.}, + title = "{Stingray: A Modern Python Library For Spectral Timing}", + year = {2018}, + month = {Feb}, + keywords = {Software}, + Date-Modified = {2018-02-12}, + Publisher = {GitHub}, + Title = {stingraysoftware/stingray: v0.1}, + doi = {10.5281/zenodo.3239519} +} + + diff --git a/joss/paper.md b/joss/paper.md index e56a3b437..97689c2a6 100644 --- a/joss/paper.md +++ b/joss/paper.md @@ -1,5 +1,5 @@ --- -title: 'stingray: A modern Python library for spectral timing' +title: 'Stingray 2: A fast and modern Python library for spectral timing' tags: - Python - astronomy @@ -7,77 +7,123 @@ tags: - black holes - neutron stars authors: -- name: Daniela Huppenkothen - orcid: 0000-0002-1169-7486 - affiliation: 1 - name: Matteo Bachetti orcid: 0000-0002-4576-9337 + affiliation: 1 +- name: Daniela Huppenkothen + orcid: 0000-0002-1169-7486 affiliation: 2 - name: Abigail Stevens orcid: 0000-0002-5041-3079 - affiliation: "3, 4" -- name: Simone Migliari - affiliation: "5, 6" -- name: Paul Balm + affiliation: 3 +- name: John Swinbank + affiliation: 4 +- name: Guglielmo Mastroserio + affiliation: 5 + orcid: 0000-0003-4216-7936 +- name: Matteo Lucchini + orcid: 0000-0002-2235-3347 + affiliation: 2 +- name: Eleonora Veronica Lai + affiliation: 1 + orcid: 0000-0002-6421-2198 +- name: Johannes Buchner affiliation: 6 -- name: Omar Hammad + orcid: 0000-0003-0426-6634 +- name: Amogh Desai affiliation: 7 -- name: Usman Mahmood Khan + orcid: 0000-0002-6015-9553 +- name: Gaurav Joshi + orcid: 0009-0009-2305-5008 affiliation: 8 -- name: Himanshu Mishra +- name: Francesco Pisanu + orcid: 0000-0003-0799-5760 affiliation: 9 -- name: Haroon Rashid +- name: Sri Guru Datta Pisupati + orcid: 0009-0006-3745-5553 affiliation: 10 - name: Swapnil Sharma affiliation: 11 -- name: Evandro Martinez Ribeiro +- name: Mihir Tripathi affiliation: 12 -- name: Ricardo Valles Blanco - affiliation: 6 + orcid: 0009-0007-2723-0315 +- name: Dhruv Vats + affiliation: 13 + orcid: 0009-0001-0542-0755 + + affiliations: -- name: DIRAC Institute, Department of Astronomy, University of Washington, 3910 15th Ave NE, Seattle, WA 98195 +- name: INAF-OACagliari, Italy index: 1 -- name: INAF-Osservatorio Astronomico di Cagliari, via della Scienza 5, I-09047 Selargius (CA), Italy +- name: UvA, The Netherlands index: 2 -- name: Department of Physics & Astronomy, Michigan State University, 567 Wilson Road, East Lansing, MI 48824, USA +- name: MSU Museum, Michigan State University, USA index: 3 -- name: Department of Astronomy, University of Michigan, 1085 South University Avenue, Ann Arbor, MI 48109, USA +- name: ASTRON, The Netherlands index: 4 -- name: ESAC/ESA, XMM-Newton Science Operations Centre, Camino Bajo del Castillo s/n, Urb. Villafranca del Castillo, 28692, Villanueva de la Caada, Madrid, Spain +- name: Dip. Fisica, Università di Milano, Italy index: 5 -- name: Timelab Technologies Ltd., 20-22 Wenlock Road, London N1 7GU, United Kingdom +- name: MPE, Garching, Germany index: 6 -- name: AinShams University, Egypt +- name: Carnegie Mellon University, USA index: 7 -- name: Department of Computer Science, North Carolina State University, Raleigh, USA +- name: Indian Institute of Technology Gandhinagar, India index: 8 -- name: Indian Institute of Technology, Kharagpur West Bengal, India 721302 +- name: LIPN-Université Sorbonne Paris Nord, France index: 9 -- name: National University of Sciences and Technology (NUST), Islamabad 44000, Pakistan +- name: Chaitanya Bharathi Institute of Technology, Hyderabad, India index: 10 -- name: Indian Institute of Technology Mandi, Mandi, Himachal Pradesh, India +- name: Indian Institute of Technology, Mandi, India index: 11 -- name: Kapteyn Astronomical Institute, University of Groningen, P.O. Box 800, NL-9700 AV Groningen, The Netherlands +- name: Academia Sinica Institute of Astronomy & Astrophysics, Taipei, Taiwan, R.O.C. index: 12 -date: 10 June 2019 +- name: Voltron Data, USA + index: 13 + +date: 01 October 2024 bibliography: joss.bib -aas-doi: 10.3847/1538-4357/ab258d -aas-journal: Astrophysical Journal --- # Summary -Many celestial objects vary in brightness on timescales of milliseconds to centuries. These ``light curves''--variations of brightness of an object as a function of time--often encode interesting physical processes that can help us learn about the nature of the celestial bodies that produced them. -In stars like our sun, typical time scales tell us about stellar rotation, starspots and internal physics like convection. In remnants of stellar explosions like neutron stars, we can use time series to learn about the densest matter known in the universe. Finally, variations in brightness of radiation emitted by gas falling into a black hole give important clues to the nature of gravity and allow us to test General Relativity to high precision. -Unravelling the underlying physical processes requires sophisticated statistical and signal processing methods, largely based on Fourier analysis, now well-established in this field. +Stingray is an Astropy-affiliated [@astropy2013; @astropy2022] Python package that brings advanced timing techniques to the wider astronomical community, with a focus on high-energy astrophysics, but built on top of general-purpose classes and methods that are designed to be easily adapted and extended to other use cases. +Stingray was previously described by @stingrayapj and @stingrayjoss. Its core functionality comprises Fourier-based analyses [@bachettihuppenkothen], but the package has expanded significantly over time in both scope and functionality. In this paper we describe the improvements to the software in the last ~5 years. + +# Background + +Time series analysis concerns the detection, characterization and modeling quantities that vary with time. +This variability might be strictly periodic like a metronome, quasi-periodic like our heart beat, or stochastic, like the vibration of the ground during an earthquake. +Celestial objects are known to be change in brightness over time, driven by a diverse range of physical processes. Time scales range from sub-milliseconds to billions of years. +For example, the rotation of some pulsars, extremely dense stellar remnants, can be tracked over time and be considered almost like a cosmic clock. Other applications require complex modeling, including the study of the signals produced by the complicated interplay, propagation and partial re-emission of the light emitted by different regions around an accreting black hole. These studies require techniques that blend together traditional time series analysis and modeling of wavelength-dependent spectra [@uttley; @bachettihuppenkothen]. + +# Statement of need -Stingray is an Astropy-affiliated [@astropy, @astropy2] Python package, making a large range of routinely used time series analysis methods available to the astronomy community. It is based on existing implementations of Fourier-space methods in Numpy [@numpy] and Scipy [@scipy], but conveniently wraps them in classes and functions that allow easy application on astronomical data sets, especially from X-ray timing telescopes like the Rossi X-ray Timing Explorer (RXTE) [@Bradtetal93], the Nuclear Spectroscopic Telescope Array (NuSTAR)[@nustar13] and the Neutron Star Interior Composition Explorer (NICER) [@gendreau2016]. -Stingray is a modular, class-based library aiming to allow users to build custom workflows for their particular data set and science problem, and implements common operations such as periodograms with standard normalizations, cross spectra and coherence, auto- and cross-correlations, as well as higher-order Fourier products such as bispectra and spectral-timing methods like covariance spectra. The latter consider both time and wavelength of the arriving radiation simultaneously and allows for more comprehensive studies of the underlying physical system. Stingray also implements submodules that allow efficient parametric modelling of periodograms, simulations of realistic time series, and specialized tools to study pulsars. +Until 2015, the techniques described above were used by competing groups using their own in-house codes. Very few of them were shared publicly, often with poor documentation and/or based on commercial or niche programming languages. Stingray brought them to the general astronomical community, and is now used worldwide, especially by young students. -Stingray was designed with a flexible and extensible API to be end-user friendly, but also lies at the core of two other packages: HENDRICS [@hendrics], which implements end-to-end versions of standard data analysis workflows, and DAVE, a graphical user interface designed to enable high-level exploratory data analysis on astronomical time series. A longer publication on the underlying methodology and implementation can be found in [@2019arXiv190107681H], while the source code itself is available on GitHub [@stingraysoftware] as part of a larger ecosystem including tutorials, as well as the repositories for HENDRICS and DAVE. +# Five years of Development +A core development goal has been to accelerate core Stingray functionality, lower the memory footprint, and refactor the code to be extensive and interoperable. +Stingray's core classes have shown dramatic increase in performance over time, as evident from [our benchmarks](https://stingray.science/stingray-benchmarks/). Stingray can now produce standard timing products +of a typical high-flux NICER observation in roughly one second. This is thanks to algorithmic improvement, and Just-In-Time compilation through Numba of many key components of the code. We reorganized the code to avoid duplication, +and created metaclasses that enable seamless integration with other popular array formats for time series (e.g. [Pandas](https://pandas.pydata.org/), [Lightkurve](https://docs.lightkurve.org/), [Astropy Timeseries](https://docs.astropy.org/en/stable/timeseries/index.html)) and data formats ([FITS](), [HDF5](https://www.hdfgroup.org/solutions/hdf5/), [extended CSV](https://docs.astropy.org/en/stable/io/ascii/ecsv.html)). + +We completed the originally planned implementation of spectral timing techniques. Newly implemented techniques include the lag spectrum, covariance, rms, and coherence spectra. These methods are now showcased in extensive tutorials exploring NICER and NuSTAR observations. + +We introduced a wide range of new techniques designed to analyze unevenly sampled data sets, responding to the growing need for these techniques from astronomical time domain surveys, subject to irregular observing constraints. Methods include Gaussian Process modeling of quasi-periodic oscillations [@hubner] and Lomb-Scargle cross spectra [@scargle]. We have introduced the Fourier-Domain Acceleration Search [@ransom], the H-test [@dejager] and Phase Dispersion Minimization [@stellingwerf] statistics into the pulsar subpackage. +We expanded the statistical capabilities of Stingray, +with particular attention to the calculation of confidence limits and upper limits on variability measures. + +Finally, we have added high-level exploratory and diagnostic functionality, such as color-color and hardness-intensity diagrams, and their equivalent diagnostics in the frequency domain, "power colors" [@heil]. + +Ongoing work funded by the Italian [National Recovery and Resilience Plan](https://www.mef.gov.it/en/focus/The-National-Recovery-and-Resilience-Plan-NRRP/) is pushing Stingray's performance further with the use of GPUs and parallel computing in anticipation of large-scale astronomical time domain surveys for example with the Vera Rubin Telescope. In addition, the near future will see an overhaul and redesign of Stingray's `modeling` subpackage in order to take advantage of recent developments in fast optimization and sampling algorithms and probabilistic programming. In order to facilitate spectral timing with state-of-the-art instruments, we are actively working to integrate Stingray with ongoing software efforts improving modeling of astronomical spectra. # Acknowledgments -D.H. acknowledges support from the DIRAC Institute in the Department of Astronomy at the University of Washington. The DIRAC Institute is supported through generous gifts from the Charles and Lisa Simonyi Fund for Arts and Sciences, and the Washington Research Foundation. M.B. is supported in part by the Italian Space Agency through agreement ASI-INAF n.2017-12-H.0 and ASI-INFN agreement n.2017-13-H.0. A.L.S. is supported by an NSF Astronomy and Astrophysics Postdoctoral Fellowship under award AST1801792. S.S. was supported by Google Summer of Code 2018. We thank Astro Hack Week for providing the venue that started this project and the Lorentz Center workshop ‘The X- ray Spectral-Timing Revolution’ (February 2016) that started the collaboration. We thank the Google Summer of Code Program for funding a total 6 students who implemented a large fraction of the various library components over three summers. + +MB and EVL are supported in part by Italian Research Center on High Performance Computing Big Data and Quantum Computing (ICSC) project funded by European Union - NextGenerationEU - and National +Recovery and Resilience Plan (NRRP) - Mission 4 Component 2 within the activities of Spoke 3 +(Astrophysics and Cosmos Observations). +MB and GM were supported in part by PRIN TEC INAF 2019 ``SpecTemPolar! -- Timing analysis in the era of high-throughput photon detectors''. +DH is supported by the Women In Science Excel (WISE) programme of the Netherlands Organisation for Scientific Research (NWO). +GM acknowledges financial support from the European Union's Horizon Europe research and innovation programme under the Marie Sk\l{}odowska-Curie grant agreement No. 101107057. # References diff --git a/joss/paper_v1.md b/joss/paper_v1.md new file mode 100644 index 000000000..e56a3b437 --- /dev/null +++ b/joss/paper_v1.md @@ -0,0 +1,83 @@ +--- +title: 'stingray: A modern Python library for spectral timing' +tags: +- Python +- astronomy +- time series +- black holes +- neutron stars +authors: +- name: Daniela Huppenkothen + orcid: 0000-0002-1169-7486 + affiliation: 1 +- name: Matteo Bachetti + orcid: 0000-0002-4576-9337 + affiliation: 2 +- name: Abigail Stevens + orcid: 0000-0002-5041-3079 + affiliation: "3, 4" +- name: Simone Migliari + affiliation: "5, 6" +- name: Paul Balm + affiliation: 6 +- name: Omar Hammad + affiliation: 7 +- name: Usman Mahmood Khan + affiliation: 8 +- name: Himanshu Mishra + affiliation: 9 +- name: Haroon Rashid + affiliation: 10 +- name: Swapnil Sharma + affiliation: 11 +- name: Evandro Martinez Ribeiro + affiliation: 12 +- name: Ricardo Valles Blanco + affiliation: 6 +affiliations: +- name: DIRAC Institute, Department of Astronomy, University of Washington, 3910 15th Ave NE, Seattle, WA 98195 + index: 1 +- name: INAF-Osservatorio Astronomico di Cagliari, via della Scienza 5, I-09047 Selargius (CA), Italy + index: 2 +- name: Department of Physics & Astronomy, Michigan State University, 567 Wilson Road, East Lansing, MI 48824, USA + index: 3 +- name: Department of Astronomy, University of Michigan, 1085 South University Avenue, Ann Arbor, MI 48109, USA + index: 4 +- name: ESAC/ESA, XMM-Newton Science Operations Centre, Camino Bajo del Castillo s/n, Urb. Villafranca del Castillo, 28692, Villanueva de la Caada, Madrid, Spain + index: 5 +- name: Timelab Technologies Ltd., 20-22 Wenlock Road, London N1 7GU, United Kingdom + index: 6 +- name: AinShams University, Egypt + index: 7 +- name: Department of Computer Science, North Carolina State University, Raleigh, USA + index: 8 +- name: Indian Institute of Technology, Kharagpur West Bengal, India 721302 + index: 9 +- name: National University of Sciences and Technology (NUST), Islamabad 44000, Pakistan + index: 10 +- name: Indian Institute of Technology Mandi, Mandi, Himachal Pradesh, India + index: 11 +- name: Kapteyn Astronomical Institute, University of Groningen, P.O. Box 800, NL-9700 AV Groningen, The Netherlands + index: 12 +date: 10 June 2019 +bibliography: joss.bib +aas-doi: 10.3847/1538-4357/ab258d +aas-journal: Astrophysical Journal +--- + +# Summary + +Many celestial objects vary in brightness on timescales of milliseconds to centuries. These ``light curves''--variations of brightness of an object as a function of time--often encode interesting physical processes that can help us learn about the nature of the celestial bodies that produced them. +In stars like our sun, typical time scales tell us about stellar rotation, starspots and internal physics like convection. In remnants of stellar explosions like neutron stars, we can use time series to learn about the densest matter known in the universe. Finally, variations in brightness of radiation emitted by gas falling into a black hole give important clues to the nature of gravity and allow us to test General Relativity to high precision. +Unravelling the underlying physical processes requires sophisticated statistical and signal processing methods, largely based on Fourier analysis, now well-established in this field. + +Stingray is an Astropy-affiliated [@astropy, @astropy2] Python package, making a large range of routinely used time series analysis methods available to the astronomy community. It is based on existing implementations of Fourier-space methods in Numpy [@numpy] and Scipy [@scipy], but conveniently wraps them in classes and functions that allow easy application on astronomical data sets, especially from X-ray timing telescopes like the Rossi X-ray Timing Explorer (RXTE) [@Bradtetal93], the Nuclear Spectroscopic Telescope Array (NuSTAR)[@nustar13] and the Neutron Star Interior Composition Explorer (NICER) [@gendreau2016]. +Stingray is a modular, class-based library aiming to allow users to build custom workflows for their particular data set and science problem, and implements common operations such as periodograms with standard normalizations, cross spectra and coherence, auto- and cross-correlations, as well as higher-order Fourier products such as bispectra and spectral-timing methods like covariance spectra. The latter consider both time and wavelength of the arriving radiation simultaneously and allows for more comprehensive studies of the underlying physical system. Stingray also implements submodules that allow efficient parametric modelling of periodograms, simulations of realistic time series, and specialized tools to study pulsars. + +Stingray was designed with a flexible and extensible API to be end-user friendly, but also lies at the core of two other packages: HENDRICS [@hendrics], which implements end-to-end versions of standard data analysis workflows, and DAVE, a graphical user interface designed to enable high-level exploratory data analysis on astronomical time series. A longer publication on the underlying methodology and implementation can be found in [@2019arXiv190107681H], while the source code itself is available on GitHub [@stingraysoftware] as part of a larger ecosystem including tutorials, as well as the repositories for HENDRICS and DAVE. + + +# Acknowledgments +D.H. acknowledges support from the DIRAC Institute in the Department of Astronomy at the University of Washington. The DIRAC Institute is supported through generous gifts from the Charles and Lisa Simonyi Fund for Arts and Sciences, and the Washington Research Foundation. M.B. is supported in part by the Italian Space Agency through agreement ASI-INAF n.2017-12-H.0 and ASI-INFN agreement n.2017-13-H.0. A.L.S. is supported by an NSF Astronomy and Astrophysics Postdoctoral Fellowship under award AST1801792. S.S. was supported by Google Summer of Code 2018. We thank Astro Hack Week for providing the venue that started this project and the Lorentz Center workshop ‘The X- ray Spectral-Timing Revolution’ (February 2016) that started the collaboration. We thank the Google Summer of Code Program for funding a total 6 students who implemented a large fraction of the various library components over three summers. + +# References