I had someone ask a question about fixing some regular banding noise in an image in the google+ GIMP community. I started writing him back there, and figured I would use his question as a quick sample of doing this (it seems to come up occasionally and folks aren’t aware of how simple this is as a solution for regular noise patterns).

This is the image and a first take by the author using wavelet decompose and cleaning up some of the levels by hand:

While not bad, there is some loss of detail fidelity when obliterating frequency scales. We can usually avoid this by directing our attention to the regular noise pattern specifically. And the best way that I know of to isolate this easily is by using a Fourier transform (fast in our case) to edit the image in the frequency domain.

For ease of use, I am going to do this in G’MIC and GIMP.

## Start

Open the image in question. In my case, I isolated the example image from the author:

## G’MIC FFT

I am using the G’MIC FFT implementation, which can be found under:

```
Filters → G'MIC
Frequencies → Fourier Transform
```

You can use other FFT implementations if you’d like, but I know the author of this plugin…

Set the **Transform** to be *Direct*, and you should see a frequency separated image as a result (it will look a little strange):

For our purposes, we will only be focusing on the top section.

## Repairing

Looking at the top section, we want to repair the odd brightness sections shown along the center vertical line (this is the cause of the horizontal banding):

There are a couple of approaches you can use to repair this, including simply painting over the areas with a neutral gray (essentially throwing away information there), or using a clone from another region. You’ll want to experiment to get a feel for what’s possible. In my case I simply cloned from a neighboring region that didn’t have the discontinuities in it:

This may make you cringe, but follow me for a little bit longer…

## Inverse FFT

Now you can re-run the G’MIC Fourier Transform plug-in, but this time set the **Transform** to *Inverse* to get your image back:

Not too bad! Here’s a quick comparison of the repair vs. the original: