-
Recent Posts
- How I use ChatGPT daily (scientist/coder perspective) January 22, 2024
- Praising hacking and low-tech solutions. ChatGPT wrote me a personal Javascript browser “plugin.” September 17, 2023
- I left Silicon Valley for NYC 2.5y ago – a retrospective September 4, 2023
- Gradient-descent optimized recursive filters for deconvolution / deblurring September 5, 2022
- Progressive image stippling and greedy blue noise importance sampling August 31, 2022
Categories
-
Recent Posts
- How I use ChatGPT daily (scientist/coder perspective) January 22, 2024
- Praising hacking and low-tech solutions. ChatGPT wrote me a personal Javascript browser “plugin.” September 17, 2023
- I left Silicon Valley for NYC 2.5y ago – a retrospective September 4, 2023
- Gradient-descent optimized recursive filters for deconvolution / deblurring September 5, 2022
- Progressive image stippling and greedy blue noise importance sampling August 31, 2022
Archives
- January 2024 (1)
- September 2023 (2)
- September 2022 (1)
- August 2022 (1)
- May 2022 (1)
- March 2022 (2)
- February 2022 (2)
- January 2022 (2)
- November 2021 (1)
- October 2021 (2)
- July 2021 (2)
- June 2021 (1)
- May 2021 (1)
- April 2021 (1)
- February 2021 (2)
- January 2021 (2)
- December 2020 (1)
- August 2020 (1)
- May 2020 (1)
- April 2020 (2)
- March 2020 (1)
- February 2020 (1)
- January 2020 (1)
- September 2019 (1)
- August 2019 (1)
- May 2018 (1)
- October 2017 (1)
- August 2017 (1)
- April 2017 (2)
- October 2016 (4)
- September 2016 (2)
- August 2016 (1)
- June 2016 (1)
- October 2015 (2)
- March 2015 (2)
- February 2015 (1)
- December 2014 (1)
- October 2014 (1)
- September 2014 (4)
- August 2014 (4)
- July 2014 (2)
- June 2014 (2)
- May 2014 (2)
- April 2014 (3)
- March 2014 (4)
- February 2014 (2)
- January 2014 (3)
Categories
Tag Archives: numpy
Gradient-descent optimized recursive filters for deconvolution / deblurring
This post is a follow-up to my post on deconvolution/deblurring of the images. In my previous blog post, I discussed the process of “deconvolution” – undoing a known convolution operation. I have focused on traditional convolution filters – “linear phase, … Continue reading
Posted in Code / Graphics
Tagged algorithms, digital signal processing, graphics, graphics programming, image processing, jax, maths, numpy, python, signal processing
Leave a comment
Superfast void-and-cluster Blue Noise in Python (Numpy/Jax)
This is a super short blog post to accompany this Colab notebook. It’s not an official part of my dithering / Blue Noise post series, but thematically fits it well and be sure to check it out for some motivation … Continue reading
Posted in Code / Graphics
Tagged blue noise, dithering, graphics programming, jax, numpy, python
3 Comments
Bilinear down/upsampling, aligning pixel grids, and that infamous GPU half pixel offset
It’s been more than two decades of me using bilinear texture filtering, a few months since I’ve written about bilinear resampling, but only two days since I discovered a bug of mine related to it. 😅 Similarly, just last week … Continue reading
Posted in Code / Graphics
Tagged digital signal processing, gpu, image processing, libraries, numpy, sampling, signal processing, upsampling
12 Comments
Converting wavetables to Ableton Operator AMS waves
This blog post comes with Ableton Operator AMS “wavetables” here. In Ableton’s FM synth you can use different types of oscillator waves as your operators (both carriers as well as modulators), as well as draw custom ones: What is not … Continue reading
Posted in Audio / Music / DSP
Tagged ableton, digital signal processing, dsp, fourier, frequency domain, numpy, python, synthesis
3 Comments
“Optimizing” blue noise dithering – backpropagation through Fourier transform and sorting
Introduction This will be a blog post that is second in an (unanticipated) series on interesting uses of the JAX numpy autodifferentiation library, as well as an extra post in my very old post series on dithering in games and … Continue reading
Posted in Code / Graphics
Tagged blue noise, dithering, frequency domain, image processing, jax, machine learning, noise, numpy, python
11 Comments
Using JAX, numpy, and optimization techniques to improve separable image filters
In today’s blog post I will look at two topics: how to use JAX (“hyped” new Python ML / autodifferentiation library), and a basic application that is follow-up to my previous blog post on using SVD for low-rank approximations and … Continue reading
Posted in Code / Graphics
Tagged bokeh, colab, github, graphics programming, image processing, jax, machine learning, maths, numpy, postprocessing, programming, python
11 Comments
Separate your filters! Separability, SVD and low-rank approximation of 2D image processing filters
In this blog post, I explore separable convolutional image filters: how can we check if a 2D filter is separable, and how to compute separable approximations to any arbitrary 2D filter represented in a numerical / matrix form using SVD. Continue reading
Posted in Code / Graphics
Tagged algorithms, approximation, blur, bokeh, depth of field, graphics, image processing, linear algebra, numpy, optimizations, postprocessing, python
16 Comments
Analyze your own activity data using Google Takeout – music listening stats example
The goal of this post is to show how to download our own data stored and used by internet services to generate personalized stats / charts like below and will show step-by-step how to do it using colab, Python, pandas, … Continue reading
Posted in Code / Graphics
Tagged colab, data, numpy, programming, python, statistics, visualization
Leave a comment