Skip to the content.

Google Summer of Code 2022 Report

Project: Bayesian Excess Variance (Bexvar) in Stingray

The aim of the project was to implement the Bayesian excess variance (Bexvar) method in Stingray (A Python library for the analysis of astronomical time series).

The Stingray project is a sub-organization of OpenAstronomy, which is a collaboration between open-source astronomy and astrophysics projects to share resources, ideas, and to improve code.

Proposed Deliverables:

Deliverables Status
Implementation of the Bexvar method into Stingray infrastructure Achived
Inclusion of tests to ensure code’s performance and stability Achived
Complete documentation and tutorials for the method Achived

Project Summary:

The Bexvar method have been implemented along with tests and documentation into the Stingray repository.

The bexvar() method implemented in bexvar module facilitates users to obtain posterior distributions on the Bayesian excess variance, given a light curve data as input parameters.
It is developed on the bases of the work by Buchner et al. (2021). The modularized structure and support for default values of optional input parameters such as frac_exp, bg_counts and bg_ratio makes the method generalized and easy to use on any light curve data.

The method has been tested with multiple functional and unit tests to ensure its reliability. A detailed documentation along with tutorials have been created.

In addition to the proposed deliverables, an effort to include bexvar() method as a method to Stingray’s Lightcurve class is in progress. This work would also includes preliminary addition of new optional parameters (frac_exp, bg_counts and bg_ratio) into Stingray’s Lightcurve class. This will enable users to use facilities provided by the Lightcurve class on data containing these attributes. Along with these the work will include support for non-uniform sampling in Stingray Lightcurve. This will facilitate users to create Stingray Lightcurve object with non-uniform time bins and use Lightcurve class methods to analyse the data.

Repositories:

https://github.com/StingraySoftware/stingray

https://github.com/StingraySoftware/notebooks

Pull Requests:

Pull Request Status Description
Bayesian Excess Variance (Bexvar) in Stingray – GsoC’22 project badge The core of the project, includes implementation of bexvar() method,
along with documentation and tests
Add find_bexvar() method in Lightcurve class and its relevant tests – GsoC’22 badge Contains work done to add bexvar() method in Stingray’s Lightcurve class,
addition of three new optional parameters in Lightcurve class and
work done to facilitate Lightcurve creation with non-uniform time sampling
Bexvar tutorial notebook badge A jupyter notebook showcasing the usage of bexvar method with examples.
It also includes a section summarizing theoretical explanation of bexvar.

Beyond GSoC:

At the time of this writing, support for new parameters added in Lightcurve class is being worked upon.
While the bexvar method is successfully implemented in Stingray, the logical next steps would be to work on improvement of its speed and investigate on possible vectorization of some of the internal functions.

Acknowledgement:

I would like to thank my mentors, Matteo Bachetti and Daniela Huppenkothen for their continuous support during the entire project. It would not have been possible for me to complete this project without their incredible support and guidance. I am thankful for their careful PR reviews, for insightful suggestions on various aspects of project, for detailed explanations to my quarries and for providing me an overall positive and motivating environment for the project. I am very fortunate to have them as mentors for this project.

Blogs:

List of blogs created during the scope of these project.
GSoC @ Stingray blog #0
GSoC @ Stingray: Beginning of the journey. blog #1
GSoC @ Stingray: Diving into coding period. blog #2
GSoC @ Stingray: Testing Testing Testing … #blog 3
GSoC @ Stingray: Final dash! blog#4

Profiles:

LinkedIn: https://www.linkedin.com/in/mihir-tripathi
Github: https://github.com/mihirtripathi97
Medium: https://medium.com/@mihirtripathi97