Welcome to my github homepage! Some recent posts are below:
In this post I compare the graph Fourier transform with the standard discrete Fourier transform in 1D and on square and hexagonal 2D grids. Primarily I wanted to explore some of the theoretical and computational building blocks for processing 2D images (square or hexagonal) using Graph Signal Processing, a relatively recent field in digital sign... Read more 07 Jun 2024 - 18 minute read
In the last post I mentioned the HexagDLy Python package, which implements convolution kernels in natively hexagonal coordinates for use in CNNs (based on PyTorch). The codebase comes with a nifty way of generating examples, with pre-set patterns such as “snowflake” and “double_hexagon”. I decided to test out frequency space convolutions in hex... Read more 30 May 2024 - 2 minute read
*(profits as yet unrealized) This post will discuss the how and a little bit of the why for my latest project, a Python package called hexfft, which implements two types of FFT for data sampled on a hexagonal 2D grid. Geometry of regular hexagonal sampling There are several interesting advantages... Read more 25 May 2024 - 12 minute read
In part 1 we explored the discrete probability distribution generated by a process of “double selection” from a set of integers. First we pick \(X_0 \sim \text{unif}(1\dots k)\), and then we pick \(X_1 \sim \text{unif}(1\dots X_0)\). The probability distribution of \(X_1\) is \[Pr(X_1 = s) = \frac{1}{k} (H_k - H_{s-1})\] We proposed a sequence... Read more 02 Jan 2022 - 10 minute read
This is a writeup of some progress on a problem I first formulated a while back. The original inspiration for the problem was noise generation. Practitioners of procedural generation think a lot about noise, specifically sampling from stochastic processes to create realistic looking heightmaps, textures, and other content. (To skip to the mathe... Read more 21 Dec 2021 - 4 minute read
This site was built using the wonderful Lagrange theme by Paul Le