# Kirsch operator

The Kirsch operator or Kirsch compass kernel is a non-linear edge detector that finds the maximum edge strength in a few predetermined directions. It is named after the computer scientist Russell A. Kirsch.

## Mathematical description

The operator takes a single kernel mask and rotates it in 45 degree increments through all 8 compass directions: N, NW, W, SW, S, SE, E, and NE. The edge magnitude of the Kirsch operator is calculated as the maximum magnitude across all directions:

${\displaystyle h_{n,m}=\max _{z=1,\dots ,8}\sum _{i=-1}^{1}\sum _{j=-1}^{1}g_{ij}^{(z)}\cdot f_{n+i,m+j}}$

where z enumerates the compass direction kernels g:

${\displaystyle \mathbf {g^{(1)}} ={\begin{bmatrix}+5&+5&+5\\-3&0&-3\\-3&-3&-3\end{bmatrix}},\ }$${\displaystyle \mathbf {g^{(2)}} ={\begin{bmatrix}+5&+5&-3\\+5&0&-3\\-3&-3&-3\end{bmatrix}},\ }$${\displaystyle \mathbf {g^{(3)}} ={\begin{bmatrix}+5&-3&-3\\+5&0&-3\\+5&-3&-3\end{bmatrix}},\ }$${\displaystyle \mathbf {g^{(4)}} ={\begin{bmatrix}-3&-3&-3\\+5&0&-3\\+5&+5&-3\end{bmatrix}}}$ and so on.

The edge direction is defined by the mask that produces the maximum edge magnitude.

## References

• Kirsch, R. (1971). "Computer determination of the constituent structure of biological images". Computers and Biomedical Research. 4: 315–328. doi:10.1016/0010-4809(71)90034-6.