GSoC 2025 Final Report

FlyingRay

Interactive Database for X-ray observations

Organisation:Open Astronomy (Stingray)
Duration:May - September 2025
Mentors:Matteo Bachetti, Guglielmo Mastroserio
Project link:    GitHub Repo. (FlyingRay)

1. Project Summary :

An interactive dashboard for the analysis and on-the-fly visualisation of X-ray binary data, built with the Stingray library.

FlyingRay is an interactive database and quick-look dashboard for X-ray observations, enabling the on-the-fly visualisation of scientific data products. The system provides a unified interface to store, analyse, and organize key data products from multiple missions, allowing the astrophysics research community to efficiently track and predict the evolution of black hole binaries. By abstracting away the complexities of mission-specific data processing, FlyingRay simplifies the analysis workflow for researchers. Combining the use of the Panel, Stingray, Plotly, and Matplotlib packages, FlyingRay enables researchers to take full advantage of advanced timing analysis without needing to be well-versed in the underlying instrument-specific software


Technologies:

Prefect, Python, TailwindCSS, HoloViz, Panel, Plotly, HDF5, Matplotlib

Topics:

Machine Learning, Data Visualization, X-ray Analysis, Interactive Plots, Dashboard for Stingray

2. What I Did :

Interactive Database and Dashboard

  • Built the primary user interface using Panel and the HoloViz ecosystem, providing an intuitive dashboard for searching, browsing, and visualising results (x-ray observations).
  • Integrated Plotly and Matplotlib to create dynamic, publication-quality visualisations of all generated data products.
  • Developed custom widgets for querying the database by target, mission, or observation ID, and for interacting with the plots.

Data Storage and Management

  • Implemented a persistent data storage system using HDF5 to efficiently cache and serve all generated data products, preventing the need to re-run analyses.

  • Created a structured data schema to logically organize the scientific products, making the database easy to query and maintain

Automated Data Processing Pipeline
  • Integrated and extended the HEASARC retrieval pipeline by Matteo Bachetti into a robust, automated workflow for end-to-end data retrieval and processing.

Developed custom modules to handle and standardize the pipeline's output for multiple X-ray missions (e.g., NICER, NuSTAR & RXTE ), ensuring compatibility with the Stingray library
.

 
Fig. 1: The initial interface of the dashboard, where the user can select a telescope and a specific observation and then run the pipeline for data downloading, reduction, and database creation; the pipeline & controls card shows both the local database and the data (observations) available on the HEASARC browser.



Fig. 2: This figure shows the HID diagrams of each source, which, after the completion of the database creation, the user can plot via the local database section in the pipeline & plotting controls section. Each HID is an interactive plot associated with the PNGs and resembling observations of that source.





Fig.3: This figure displays data products, such as light curves and Power Density Spectra (PDS), for specific observations. These static plots are created as PNG images using Matplotlib and the Stingray library. All data products and metadata are stored in a main database file, which is an HDF5 file named after the source.



Fig 4: The figure below shows the Global HID diagram, which means plotting all sources of the same telescope in a single HID plot diagram. This way we can compare different outbursts and observations of the sources here; also, each point in the HID plot is interactive and associated with two data products: light curves and PDS.

3. Project Repository

The complete source code is available on GitHub. All contributions are documented, and one can check the commit history. 

check here : Flyingray ( The Interactive X-ray Binaries Database ) Built with StingraySoftware

4. What's Left to Do

Machine Learning Integration

  • Implement ML Models: Research and integrate the best machine learning algorithms  according to our need (to classify sources into different states (e.g., hard, soft, intermediate) based on their PDS characteristics.
  • Model Training Interface: Add a new section to the dashboard that allows users to train these models on the generated datasets and visualize the results (e.g., classification reports).

Documentation and Community

  • Develop User Documentation: Create a comprehensive user guide and video tutorials to help new astronomers and students get started with the dashboard.

  • Strengthen Testing: Build a suite of unit and integration tests to ensure the long-term reliability of the data processing pipeline, making the project more maintainable for future contributors.

  • In-App Scientific Context: Add help sections within the dashboard that explain the astrophysical significance of the data products (e.g., "The information of different light curves ?", "difference  b/w the data products?"), making FlyingRay a valuable  tool.

 

Comments

Popular posts from this blog

Oops, I’m a GSoC Dev Now?

Moving towards the right approach