GSoC Post 3

Hi! In my last post I mentioned that we would start calculating the distortions contained in the image. But we followed a different path! As the linear part was ready, we first worked on making some plots (scatter plots with side histograms of the difference in pixel scale of the celestial coordinates measured with the WCS we find and the celestial coordinates given as input) and drawing some quads to visualize it. This part was done using LaTeX and TikZ, a wonderful tool to produce graphics!

Read more…

Balance

“Cosmic Balance” — completely unrelated type of balance to what I go on to talk to talk about in this post. Although, outer space looks all fancy and it goes well with the theme of OpenAstronomy.

From all my previous posts, it is quite evident that I obsess over small and insignificant details, mainly directed towards how my life is going to be in the future and this entire concept of “happiness”. However, the past few months of working with Sunpy has brought about this odd sense of calm. The entire feeling of stress being an emotion goes out the window. Maybe this is what doing something you love, maybe it’s the people — or maybe it’s just extremely good timing combined with coincidence.

Ah, I suppose these questions don’t have simple answers. Regardless, whatever I’m doing with right now has restored that balance that I was longing for.

Coming to what has been happening with sunkit-pyvista. To summarize, I spent an entire week fixing things that I caused due to over-confidence :)

Read more…

Halfway into GSoC

This introductory adventure to Open Source is already at its midpoint, and while the learnings have been great and the experiences meaningful, I’m sure many of my fellow participants feel that a program like this should have an extended duration, and I am no exception. Such an extended timeline could provide many benefits, such as the ability to work on more complex and sophisticated projects, more time to collaborate and improve, to name a few.

First Evaluation

Another noteworthy thing concerning GSoC that happened in the last week was that the results of the first evaluation were declared, and while most cleared it, some didn’t. Although there is little to no need to question their abilities, sometimes life just doesn’t go as planned; it seems easy to say that that’s what the real test is, nevertheless it can quickly become something tricky to cope with.

What next?

While most of the “proposed” work has been done, I will now be preparing some tutorials for the newly added functionality and tools, in an attempt to reduce the barrier to experimentation, use, and possible adoption of these new techniques into the workflow of its users.

Read more…

Chapter 3: Midnight Sun

Phase 1 is over :) ! We are half way through the journey. Great learning experience so far. Let’s find out what I accomplished during the previous 2 weeks (since I believe you have been following me from the beginning ;)

Getting straight to the point, most of the time was spent on fixing bugs of the Profiler class and other Pull requests regarding documentation and gallery example. A new gallery example was added to demonstrate the working of SpecDatabase and init_database to help user to store all Spectrums in the form of a .spec file and all input parameters in a csv file under a folder. The same folder can be used to retrieve all Spectrums thus saving a lot of time and also no need to recompute all spectrums, so quite a handy feature. Radis has plot_cond function to plot a 2D heat map based on the parameters in csv file for all spectrums. Creates some good looking and informative plots :)
-> Gallery Example

Back to the analysis part; for LDM we expected:

Read more…

GSoC - 2

Welcome back !! So we are done with our first phase of the project and are shifting into the second one. I will be keeping this blog short since most of the details of the refactor have already been written in my previous post.

By the time I was writing my previous post I had a pretty decent idea of how I would be doing each of the refactors. We had already decided that we may not have to implement all of them because Vaex might render a few of those changes redundant.

I started out by writing a proof-of-concept to remove the column where partition function was added. Only the case of equilibrium molecules was handled here. The idea was to make use of pandas’ dictionary efficiently and remove the column. With the proof-of-concept we could conclude that not only did this approach reduce memory, but it also reduced CPU pressure by around 2x. For the lines of HITEMP-CH4 molecules for the waverange 2000-3000 previously the dataframe occupied 1.2 GB but with this method we could compress that to around 100 MB. 1

Read more…

So here I am, a month into the coding period and at the onset of the first evaluation.

About my Google Summer of Code Project: Part 2

So here I am, a month into the coding period and at the onset of the first evaluation. I talked about what my project was in the last blog, and I’ll use this one to cover the progress we’ve made.

All the work so far has been compiled into 3 messy PRs. To start with, reprojecting an NDCube onto another WCS requires that you first validate whether the source and target WCS transformations are in fact compatible. It’s no good if they represent an entirely different coordinate system. They need to have the same number of world axes and in the same order. The first PR introduces a function to check this and it has been merged into the main branch.

The second one implements the actual reproject method on NDCube, leveraging the reproject package. Currently, it serves as a wrapper around the interpolation algorithm, with plans to support more algorithms soon. But that bit is dependent on optimizing the current functionality by being a little smarter about detecting axes that do not need to be modified. This would also help speed up the function AND use less memory!

Read more…

Not just Python.

Not just Python

Sunkit-Pyvista is doing quite well as of today, this goes without saying due to the fact the the Sunpy developers put in quite a bit of effort into reading all the stuff that I write and they do carefully review them.

That being said, I’ve personally faced no a few issues with getting things to work as they are. I don’t have much to say about this project except the fact that I’m super stoked about it and it has been going super well.

I get to write code from scratch that’s turned into an actual project that would help someone, I also get to learn stuff that I never saw myself doing. From tinkering around with CircleCI to getting documentation to work the way we want them to, this project seems like the ideal one for a python developer like me.

Read more…

Chapter 2: Survey Corps

So its been around 4 weeks into the coding period, a lot of insights and progress so far!

Profiler Class

The good news is that the Profiler class has been successfully implemented in the develop branch and will be available to users by version 0.9.30 .

Read more…