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 Kirsch.

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: where z enumerates the compass direction kernels g: The edge direction is defined by the mask that produces the maximum edge magnitude.