Articles
Aligning point patterns with Kabsch–Umeyama algorithm
Description and implementation of Kabsch–Umeyama algorithm for finding the optimal translation, rotation and scaling between two paired sets of points.
Chroma subsampling and JPEG sampling factors
Comparing different ways of notating chroma subsampling and trying to understand how these are related to JPEG sampling factors.
Comparing NumPy arrays
Short guide for comparing equality of different types of NumPy arrays.
Converting rotation matrices to angles
Tutorial on converting rotation matrices to angles in two and three dimensions.
Distinguish local and remote terminals
Tutorial on using colors to quickly distinguish terminal windows with active SSH sessions from local sessions.
Drawing musical keyboards
Studying different ways of drawing musical keyboards in music software.
Exif orientation in different formats
Investigating how JPEG, WebP, PNG and AVIF store Exif metadata and do web browsers support Exif orientation in all these formats.
File formats in Web Audio API
Tutorial on content negotiation in Web Audio API including recommendations on different audio formats.
High-quality photograph datasets
Introducing datasets of high-quality photographs based on Wikimedia Commons.
Hyphenation in React Native
Tutorial on hyphenating text in React Native applications.
Image processing basics in the browser
Tutorial on loading images, manipulating pixel data and displaying the results in the browser.
Pitch shifting in Web Audio API
Tutorial on pitch shifting samples in a cross-browser compatible way.
Pixelated images in SVG
Investigating how to render pixelated raster graphics such as pixel art in SVG images.