Some of my most notable projects are listed here.
You can find more on my github.
MRC file thumbnail generator for GNOME
MRC file thumbnail generator for GNOME desktop environments. The generator loads central slice (or just uses the image if it is a single 2D image) and applies contrast stretching. There is also a Makefile that automatically registers the generator for all .mrc files. Just a small quality-of-life improvement utility.First published: 2020-11-10
Fast N-dimensional numpy array tiling and merging, with overlapping, padding, and tapering support
During my PhD project, I work on semantic segmentation of 3D data that is often too big for GPU memory. After reusing same tiling (patching) functions for multiple projects, I decided to write a separate library. Tiler is memory-optimized (no copies), works on any number of dimensions, automatically computes required overlaps and padding, and can apply tapering.First published: 2020-09-30
Ulauncher extension for controlling Spotify
Extension for Ulauncher, application launcher for Linux. The extension provides access to all Spotify WebAPI endpoints, allowing users to control Spotify playback on all connected devices, e.g. smartphones, smart speakers or computers. Moreover, the extension allows convenient search in Spotify catalogue of tracks, albums, artists and playlists. Two months after publishing the extension on github (at the moment of writing this, Oct 18 2020), it has ~100 monthly users from all over the world.First published: 2020-08-29
CUDA-accelerated Numpy 3D affine transformations
Applying affine transformations to big 3D arrays on CPU is extremely slow. During my PhD project, I have worked with 3D template matching, where the template must be rotated hundreds of times, per each voxel of search volume. To optimize this obvious bottleneck, I wrote a simple CUDA kernel and together with PyCUDA connections, the template matching time was reduced in the number of magnitudes (2 hours on 16-core CPU vs 6 minutes on GTX 1080Ti).First published: 2019-01-12