In Depth: Multi-level highpass sharpening in FilterForge

This post discusses some stuff regarding this filter I produced in FilterForge a while ago: you can download the filter there too.

I’m not really THAT technical with stuff. I honestly don’t know all the math that goes behind each node I use in FilterForge but I have some clues and hints on how some of the stuff works.

Either way, some time ago I wanted to produce a multi-level sharpen filter. Unlike a single sharpen filter, this “dream” filter basically allows for a broad range of sharpening. To do this I used Filter Forge.

Let me show you some pictures of what happens when I use it. First we have our original photograph.

Original Image

The image has not been processed in anyway…. now… for the processed image.

Processed image

This is very subtle (I’m using default values) but you can see some changes in the contrasts of various areas. Some areas “pop” now more than others.


Some comparison here so you can see what’s different. It’s still kinda subtle but you can mildly see what’s happening.

What makes it pretty neat is how this sharpen filter works. It’s on multiple levels of detail allowing you to sharpen small, medium, and large details separately. So if you ever want to sharpen a LARGE area then you can turn down the small and medium sharpen filters and leave the large sharpen with higher values. If you want small details to pop, you can do so too.

To show you what can visually happen here’s another shot at the image above.


With a couple additional nodes I was able to produce a filter that allows for various degrees of control while sharpening a photograph.

Now for the exciting technical aspect of how this was accomplished! You probably need to click and see at the full resolution

How it was done

The basics go like this. I have multiple highpass filters with different radius settings. The radius values weren’t chosen mathematically, they were chosen based on visual output so nothing fancy there. Then you see this huge stack of Min and Max nodes which allow for combinations of the nodes. This is really the fun part because it’s where I didn’t know what to do. I began combing the highpass nodes using various tools and then I realized I should just stick with min and max because of the way they operated. Also the way they looked seemed valid enough for usage. I then used a blend node (which was set to overlay as you’d expect.)

Now this is the really weird part. There are two things being mixed here: two separate chains for min and max nodes. To combine them both, I used a blend node. I lastly gave the user control over which they want to chose. If they want a brighter image then they can slide the control to achieve what they want visually.

And that’s basically all there is to this filter!

Here are some more examples of the filter in action.

Processed imagery of the streets in Tokyo

Original input picture. Note that it's not very crisp due to atmospheric factors.

And this is what it looks like when processed!

Of course you do have to be careful of over-sharpening images. I just wanted to show you what it basically can do for you.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s