Author Archives: bartwronski

How I use ChatGPT daily (scientist/coder perspective)

We all know how the internet works—lots of “hot takes,” polarizing opinions, trolling, and ignorance.  Recently, everyone has opinions on AI and LLMs/GenAI in particular. I won’t focus here on “gold rush” influencers, bad grifters, people who build their business … Continue reading

Posted in Code / Graphics | Tagged , , , , , , | 4 Comments

Praising hacking and low-tech solutions. ChatGPT wrote me a personal Javascript browser “plugin.”

Intro I love unsophisticated solutions with minimal dependencies. There is a reason the blog you are reading right now is on wordpress.com and ugly – the friction from a post idea and starting to write it to finally publishing a … Continue reading

Posted in Code / Graphics | Tagged , , | 2 Comments

I left Silicon Valley for NYC 2.5y ago – a retrospective

Intro Around the end of March 2021, I was finishing packing and ready to leave my home of almost five years… the (in)famous Silicon Valley moving to New York City. This was a well-thought-out and long-term decision (rare for me; … Continue reading

Posted in Travel / Photography | 3 Comments

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 , , , , , , , , , | 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 , , , , , , , , , | 3 Comments

Removing blur from images – deconvolution and using optimized simple filters

In this post, we’ll have a look at the idea of removing blur from images, videos, or games through a process called “deconvolution”. We will analyze what makes the process of deblurring an image (blurred with a known blur kernel) … Continue reading

Posted in Code / Graphics | 5 Comments

Transforming “noise” and random variables through non-linearities

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 , , , , , , , , , | 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 , , , , , , | 6 Comments

Exposure Fusion – local tonemapping for real-time rendering

In this post I want to close the loop and come back to the topic I described ~6y ago! Local tonemapping (I’ll refer to it as LTM) – a component I considered a missing piece in video games rendering, especially … Continue reading

Posted in Code / Graphics | Tagged , , , , , | Leave a comment

Light transport matrices, SVD, spectral analysis, and matrix completion

In this post I’ll describe a small hike into the landscape of using linear algebra methods for analyzing seemingly non-algebraic problems, like light transport. This is very common in some domains of computer science / electrical engineering (seeing everything as … Continue reading

Posted in Code / Graphics | Tagged , , | 2 Comments

Insider guide to tech interviews

I’ve been meaning to write this post for over a year… an unofficial insider guide to tech interviews! This is the essence of the advice I give my friends (minus personal circumstances and preferences) all the time, and I figured … Continue reading

Posted in Code / Graphics | 6 Comments

Procedural Kernel (Neural) Networks

Last year I worked for a bit on a fun research project that ended up published as an arXiv “pre-print” / technical report and here comes a few paragraph “normal language” description of this work. Neural Networks are taking over … Continue reading

Posted in Code / Graphics | Tagged , , , , | Leave a comment

Study of smoothing filters – Savitzky-Golay filters

Last week I saw Daniel Holden tweeting about Savitzky-Golay filters and their properties (less smoothing than a Gaussian filter) and I got excited… because I have never heard of them before and it’s an opportunity to learn something. When I … Continue reading

Posted in Code / Graphics | Tagged , , , , , | Leave a comment

Practical Gaussian filtering: Binomial filter and small sigma Gaussians

Gaussian filters are the bread and butter of signal and image filtering. They are isotropic and radially symmetric, filter out high frequencies extremely well, and just look pleasant and smooth. In this post I will cover two of my favorite … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , | 5 Comments

Modding Korg MS-20 Mini – PWM, Sync, Osc2 FM

Almost every graphics programmer I know is playing right now with some electronics (virtual high five!), so I won’t be any different. But I decided to make it “practical” and write something that might be useful to others – how … Continue reading

Posted in Audio / Music / DSP | Tagged , , , , , , | 4 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 , , , , , , , | 14 Comments

Comparing images in frequency domain. “Spectral loss” – does it make sense?

Recently, numerous academic papers in the machine learning / computer vision / image processing domains (re)introduce and discuss a “frequency loss function” or “spectral loss” – and while for many it makes sense and nicely improves achieved results, some of … Continue reading

Posted in Code / Graphics | Tagged , , , , , | 15 Comments

On leaving California and the Silicon Valley

Beginning of the year, my wife and I made a final call – to leave California, “as soon as possible”. To be fair, we talked about this for a long time; a few years, but without any concrete date or … Continue reading

Posted in Travel / Photography | 12 Comments

Neural material (de)compression – data-driven nonlinear dimensionality reduction

In this post I come back to something I didn’t expect coming back to – dimensionality reduction and compression for whole material texture sets (as opposed to single textures) – a significantly underexplored topic. In one of my past posts … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , , , , | 5 Comments

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 , , , , , | 3 Comments