Convolution - Custom Filter


Convolution is a basic operation found in raster image editing software. Building custom convolution filter kernels is an elementary task for image processing students, although this is often far from being the case for the average Photoshop user from a GUI background. With regular filters offering speed, flexibility and ease of use - Custom filtering is often an esoteric subject that is forgotten in the exploration of more powerful and user friendly filters. Custom filters still have limited use, even in Photoshop - particularly so for feature detection beyond the Find Edges or Glowing Edges filters.

The filter works by using the rules defined in the custom filter, to affect brightness levels of the centre pixel found in the kernel matrix, based on the values of neighbouring pixels in the kernel matrix - for every pixel in the image or selection. Positive or negative pixel values and mathematical operations are entered to produce blurring, sharpening, embossing, feature detection and some other basic filtering operations.

Adobe Custom Filter

Photoshop offers a Custom Filter found under the filter/other menu which can be used for constructing a simple 5x5 or smaller kernel matrix using integer math. The save/load .acf file option is critical for productive use of this filter - otherwise the coefficients, bias, scale and offset have to be entered by hand for each filtering operation. Alternatively, custom filter settings can be recorded into actions which can be run or then used to generate any required .acf files for use outside of the original action.

Adobe Custom Filter

Adobe Custom Filter: The standard Custom Filter found under the filter/other/custom menu. The simple kernel as shown above is often known as the 'identity function' - input and output are the same, no filtering takes place.

Reindeer Graphics Custom Filter

Reindeer Graphics are the respected creators of Fovea Pro, Optipix and the Image Processing Toolkit and their free Custom Convolution filter reflects this background. There are many features offered by this third party custom filter, most notable is the ability to use a larger 7x7 kernel matrix with floating point math. One can also load Adobe Custom Filter .acf presets. Custom filter kernel example text preset files are also provided for loading into the filter. With the ability to process Photoshop high bit data - sharpening, blurring and other basic filtering operations disabled in Photoshop 5.x can now be applied.

Photoshop Custom Convolution Kernel Action Download

Actions are a very flexible and productive method of storing and applying multiple custom filter kernels or for quickly generating .acf files. For maximum compatibility this action set is for Photoshop 5 or higher. Custom filter actions are grouped into categories such as Low Pass, Directional Derivative Feature Detection using Roberts, Robinson, Sobel, Prewitt and Kirsch operators, Embossing, Laplacian Sharpening and Edge Detection, High Pass, Weighted Blur/Sharpen, Band Pass DoM, Band Pass DoG and Sub Pixel Motion Offset. Sharpening, blurring or directional actions are ordered from light to heavy in application. Directional operations borrow the Photoshop Emboss filter naming convention for the eight compass angles, starting at 12 o'clock and following in a clockwise direction. A manual in .RTF rich text format is also included in the archive.

Actions Icon

Download the 10KB .atn file .zip archive for: Photoshop 5 or later

Further Reading

Two excellent sources of information on custom convolution can be found at the links below. Each site presents the topic of convolution with interactive web browser based Java presentations which are an excellent method of illustrating the custom filtering process.

Arizona State University - 2D Convolution, Java Primer
Molecular Expressions - DIP Convolution Kernels, Java Primer

 


Binary FX: Photoshop Tech Vault © Stephen Marsh, All rights reserved.