# Filters¶

The plastimatch filter command is a convenient method for performing common filters on images. This documentation is intended to explain in more detail the mathematics and implementation of these filters.

## Gabor¶

The Gabor filter is a complex filter, and has real and imaginary components. Plastimatch implements only a uniform and symmetric form of the Gabor kernel, which is described as:

Where **x** is the voxel position (relative to the center of the kernel),
*:sigma:* is the filter width, and *S* is an arbitrary scaling factor.
The vector **k** is the direction of modulation, and the frequency of
modulation is given by *:omega:*. Note that
the vector **k** is internally normalized to be a unit vector
by plastimatch, so that larger **k** vectors do not increase
the modulation.

The value of **k** can be set manually, or can be selected according
to lie on a Fibanocci spiral. The Fibanocci spiral method is convenient
for choosing a set of **k** vectors that are approximately evenly
spaced on the unit sphere.

The values for :omega: and :sigma: can be interlinked. If :omega: is set, but :sigma: is not set, or vice versa, the other will be set automatically according to the following formula, which seems to work well:

At the current time, only the real component of the Gabor filter is generated.

## Gauss¶

The cannonical form for a Gaussian kernel is given as

Note: because plastimatch uses a fixed width convolution kernel, the above expression may not sum to unity. Therefore, an empirical factor S is used instead.

## Kernel¶

To be written.