Derivative Filters

When computing multi-dimensional derivatives, one often relies on the linear-algebraic properties of multi-dimensional derivatives that allow differentiation in arbitrary directions via linear combinations of separable axis derivatives. For example, the derivative operator in the direction of unit vector u is ux d/dx + uy d/dy. We have designed a set of compact separable filters that optimize for this property. We have also developed extensions of this formulation to both higher dimensions and higher-order directional derivatives. The resulting filters are significantly more accurate than those commonly used.

Below are first- and higher-order derivative filters of various sizes, where p denotes the lowpass filter, and dn denotes the n-th order derivative filter.

Matlab code (tar.gz)

(Collaborative work with Eero Simoncelli)


3-tap: p 0.2298791 0.540242 0.2298791
d1 0.425287 0.000000 -0.425287
5-tap: p 0.037659 0.249153 0.426375 0.249153 0.037659
d1 0.109604 0.276691 0.000000 -0.276691 -0.109604
7-tap: p 0.004711 0.069321 0.245410 0.361117 0.245410 0.069321 0.004711
d1 0.018708 0.125376 0.193091 0.000000 -0.193091 -0.125376 -0.018708
d2 0.055336 0.137778 -0.056554 -0.273118 -0.056554 0.137778 0.055336
9-tap: p 0.000721 0.015486 0.090341 0.234494 0.317916 0.234494 0.090341 0.015486 0.000721
d1 0.003059 0.035187 0.118739 0.143928 0.000000 -0.143928 -0.118739 -0.035187 -0.003059
d2 0.010257 0.061793 0.085598 -0.061661 -0.191974 -0.061661 0.085598 0.061793 0.010257
d3 0.027205 0.065929 -0.053614 -0.203718 0.000000 0.203718 0.053614 -0.065929 -0.027205


Related
material:
  1. Differentiation of Discrete Multi-Dimensional Signals (ip04)
  2. Optimally Rotation-Equivariant Directional Derivative Kernels (caip97)
  3. Fractional Derivatives
Home     Research