GSoC: Week #1

Published: 06/01/2020


I’m Anand, a third-year CSE undergraduate at GEC Palakkad and I’m going to be contributing to LiberTEM throughout the summer (and beyond). My project basically involves enhancing LiberTEM’s data pipeline to handle certain use-cases in processing 4D STEM datasets. I began contributing in February and it has been a great experience already as I was exposed to different parts of LiberTEM under the guidance of my mentors.

What did you do this week?

I worked on implementing a feature for manual synchronisation of Norpix SEQ files which would allow its users to specify an offset to skip frames or insert blank ones in case of acquisition/synchronisation problems. Apart from my really helpful mentors, I was fortunate to receive feedback from a LiberTEM user, who helped me find bugs and gave suggestions on the feature.

What is coming up next?

I’ll be working on handling missing/unfinished data to complete the manual sync feature. Once the feature is bug-free and approved for the SEQ format, I’ll start implementing it for the other data formats. On the side, I’m going to discuss and try writing prototypes to allow reshaping of nD-datasets-which-are-actually-4D.

Did you get stuck anywhere?

Yes, a few times. I made a silly mistake in my implementation and in addition to that, I initially misunderstood what ‘skipping’ frames actually meant. Then I came up with a working solution for the feature but as it was specific to just the SEQ format, I went ahead with a better solution my mentor suggested as it allowed the functionality to be shared between other formats too. While working towards the better solution, I got stuck on an error for about a day because I had not gone into detail about the data tiling concept. I finally decided to turn to my mentor who quickly helped me out with the concept with a code example. That’s also when I realized that using LiberTEM’s Python API in a notebook is a better way to try out prototypes than monkey-patching within the GUI.

I’m really excited to learn more and keep contributing to LiberTEM! Thanks to my mentors, the LiberTEM community, Python Software Foundation and Google for this opportunity!