Moving to the Frontend

As part of the ongoing development, we’ve now begun focusing on the frontend side of the project, improving the user experience and preparing for more database integrations.

Initial Cleanup

To ensure a clean development workflow, I started by:

  • Fixing linting and type-checking issues to maintain code quality.
  • Repairing frontend tests to make sure new changes are verifiable.
  • This was important to establish a solid pipeline, so any new code added to the frontend can be tested and reviewed confidently.

Full Dark Mode Support

A major enhancement was implementing dark mode across the entire frontend, not just the MUI (Material UI) components, but also the plotting graph area.

Read more…

Yeah! I have a GSoC project with Radis

Finally, I have been contributing to scientific open source for about a year now and it has taught me a lot I mean a lot, I still remember searching for a simple documentation issue so I could get it merged and call myself a “contributor” haha, and that got me started in scientific open source. Since then, I have been able to make some truly meaningful contributions to many projects, and here I am writing a blog for GSoC with Radis which is a pythonic library for fast line-by-line code for high resolution infrared molecular spectra, under the OpenAstronomy umbrella.

So my project is cool ngl, and it is titled “Fast Parsing of Large Databases and Execution Bottlenecks” basically there exists a large highly compressed CO₂ spectroscopic database of size 6 GB file that decompresses to about 50 GB and takes at least 2.5 hours to parse and convert into a DataFrame. As you might expect, my project is about significantly reducing the parsing time and finding a workaround for storing only the “necessary” parts of the decompressed file.

Radis is pythonic and sometimes python gets real slow if not used the way it is meant to be used, so my initial thought was to first clean up the existing code and use vectorised operations and with numba we should be able to see some real optimisation. But then I realized the current implementation already has the right vectorized operations on DataFrames, and Pandas’ vectorized methods are already implemented in optimized C/Cython loops. So there isn’t much more to do here other than replace a few overheads with other operations. After that, as discussed with my mentors I can use a C++ Single Instruction Multiple Data (SIMD) mechanism to parse the file and create a python interface on top of that with pybind11 or cython and other option but this will cost us portability as compilation will be a thing that is to considered. Other approach which is using vulkan API in python as it supports CPU as well GPU parallelism and its cross platform as it will works on all CPU architectures.

Read more…

Starting My GSoC Journey with RADIS

Getting Started

A month has passed since the GSoC results came out, and honestly, and the excitement still hasn’t quite settled. That announcement day was pretty intense, my mind was racing, second-guessing everything. But wow, things worked out even better than I’d hoped.

The community bonding period hit right during my final exams, which was tricky timing. So I focused on what mattered most, getting to know my mentors, joining the weekly calls, and really wrapping my head around the project from a theoretical standpoint.

What I’m Working On

I’m working on something called “Electronic Spectra for RADIS.” Basically, RADIS is this awesome library for modeling rovibrational spectra, but it’s missing one key piece; electronic transitions. That’s where I come in! I want to add that missing functionality and make RADIS even more powerful.

Read more…

GSoC 2025 Blog — Week 1: Starting the Project

GSoC 2025 Blog — Starting the Project

Kicking Things Off

The first weeks of GSoC were all about getting familiar with the project, understanding its current state, and laying the groundwork for upcoming work. We began by listing the key features we plan to implement and prioritizing them based on impact and feasibility.

Cleaning Up the Repo

Before diving into development, we focused on improving the current state of the codebase:

  • Filtered through existing PRs.
  • Merged those that were ready.
  • Closed duplicates or low-quality submissions.
  • Requested changes when necessary.

This cleanup helped fix some bugs and made the repository more maintainable moving forward.

Read more…

Oops, I’m a GSoC Dev Now?

Wow! I still can't believe I'm actually in Google Summer of Code! This was a dream, and now here I am, officially past the Community Bonding Period and diving headfirst into the Coding Phase.

What’s Happening Right Now?

Right now, I’m sketching out the basic structure of the application interface. The first big task? Fetching event files from specific sources. Sounds simple, right? Well… not quite

Read more…

Beginning of GSoC 2025

Hello everyone, and welcome to my first blog!

I’m very excited to begin this journey. Since childhood, I’ve been deeply fascinated by astronomy, and today, I finally get to express that passion through writing and sharing my learning experiences with such a great community.

A Memorable Start – Meeting My Mentors

This week started off on a truly inspiring note. On May 23rd, I had the opportunity to meet my mentors—individuals with deep expertise and experience in the field. At first, I was a bit nervous and hesitant. But the moment the session began, all my fear started fading away.

We began with short introductions and then quickly moved on to discussing plans for the upcoming work. I had a few doubts—some of which I felt were too basic or weird to ask—but I’m so glad I did! My mentors answered them with such clarity and patience. They even gave me valuable suggestions for improving one of my current functions (called recpiec) and helped us finalize a workflow to proceed with.

Learning Through Articles and Real Research

Later in the week, I spent time diving deep into articles to strengthen my understanding. One article that particularly stood out was authored by one of my mentors:

“No Time for Dead Time: Use the Fourier Amplitude Differences to Normalize Dead-time-affected Periodograms”

This article taught me about the problem of dead time in time-series data, especially when analyzing periodic signals using periodograms. Dead time refers to gaps or inactive intervals in data collection, which can significantly distort frequency analysis. The article introduced a technique using Fourier Amplitude Differences to correctly normalize these periodograms, ensuring the results remain accurate and meaningful. This method was new to me and absolutely fascinating!

Exploring Bartlett’s Method and Hanning Windows

Along with that, I also explored Bartlett's method—a signal processing technique used to reduce the variance of power spectral density estimates. It involves dividing the signal into non-overlapping segments, computing a periodogram for each, and averaging them. This approach provides a smoother, more reliable estimate of the spectrum, which is especially useful in noisy datasets (which are quite common in astronomy!).

Inspired by this, I also implemented the Hann window in my code to taper the signal before applying spectral analysis. This windowing technique helps minimize spectral leakage by reducing the discontinuities at the edges of the signal. I was surprised to see how much of a difference it made in the clarity of results!

Read more…

Concluding GSoC24

As the sun sets on the Google Summer of Code 2024, it's time to reflect on our exploration of Active Galactic Nuclei (AGN) light curve interpolation using advanced neural networks. Over the course of this project, we ventured into the complexities of AGN data, developing and refining models to better predict and understand the erratic behaviors of these celestial objects.

Overview of the Project
Our journey began with the goal of enhancing the accuracy of AGN light curve predictions. We employed custom Bidirectional Recurrent Neural Networks (BRNNs), coupled with an interpretative neural network layer, aiming to leverage both past and future context in our predictions.

Final Results
In our last phase, we meticulously tested our BRNN model against traditional linear interpolation and K-Nearest Neighbors (KNN) methods:

Read more…

Submission done finally

 Damn it was an eventful 3-4 months, from crying to why the code is not working to enjoying the small success of getting the plots. I am grateful that I got the opportunity to be in GSOC and get to know the wonderful mentors Matteo and Gullo. Thank you for guiding me. Let's see what the final term evaluation beholds for me..Fingers crossed. 

Also regardless of how the evaluation turns out to be, I am gonna continue contributing to the project as much as I can. 

Read more…