Steerable filter

In applied mathematics, a steerable filter 
is an orientation-selective convolution kernel used for image enhancement and feature extraction that can be expressed via a linear combination of a small set of rotated versions of itself. As an example, the oriented first derivative of a 2D Gaussian is a steerable filter. The oriented first order derivative can be obtained by taking the dot product of a unit vector oriented in a specific direction with the gradient. The basis filters are the partial derivatives of a 2D Gaussian with respect to formula_1 and formula_2.
The process by which the oriented filter is synthesized at any given angle is known as "steering", which is used in similar sense as in beam steering for antenna arrays. Applications of steerable filters include edge detection, oriented texture analysis and shape from shading.
Steerable filters may be designed as approximations of a given filter shape up to a desired error or computational complexity.