
Recent Posts
 Gradientdescent optimized recursive filters for deconvolution / deblurring September 5, 2022
 Progressive image stippling and greedy blue noise importance sampling August 31, 2022
 Removing blur from images – deconvolution and using optimized simple filters May 26, 2022
 Transforming “noise” and random variables through nonlinearities March 16, 2022
 Fast, GPU friendly, antialiasing downsampling filter March 7, 2022
Categories
Tag Archives: jax
Gradientdescent optimized recursive filters for deconvolution / deblurring
This post is a followup 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
Progressive image stippling and greedy blue noise importance sampling
Introduction I recently read the “Gaussian Blue Noise” paper by Ahmed et al. and was very impressed by the quality of their results and the rigor of their method. They provide a theoretical framework to analyze the quality of blue … Continue reading
Posted in Code / Graphics
Tagged algorithms, blue noise, dithering, graphics, graphics programming, image processing, jax, programming, python, sampling
3 Comments
Transforming “noise” and random variables through nonlinearities
This post covers a topic slightly different from my usual ones and something I haven’t written much about before – applied elements of probability theory. We will discuss what happens with “noise” – a random variable – when we apply … Continue reading
Posted in Code / Graphics
Tagged blue noise, graphics, graphics programming, image processing, jax, mathematics, maths, noise, programming, python
Leave a comment
Fast, GPU friendly, antialiasing downsampling filter
In this shorter post, I will describe a 2X downsampling filter that I propose as a “safe default” for GPU image processing. It’s been an omission on my side that I have not proposed any specific filter despite writing so … Continue reading
Posted in Code / Graphics
Tagged filtering, graphics, graphics programming, image processing, jax, postprocessing, signal processing
3 Comments
Processing aware image filtering: compensating for the upsampling
This post summarizes some thoughts and experiments on “filtering aware image filtering” I’ve been doing for a while. The core idea is simple – if you have some “fixed” step at the end of the pipeline that you cannot control … Continue reading
Posted in Code / Graphics
Tagged algorithms, digital signal processing, filtering, graphics, image processing, jax, postprocessing, signal processing
7 Comments
Superfast voidandcluster 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
2 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
8 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 followup to my previous blog post on using SVD for lowrank 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