public static ImageBuffer Kirsch(this ImageBuffer buffer)
 {
     // Image should be grayscale
     return(buffer.Convolution(Kernel.Kirsch3x3Horizontal, Kernel.Kirsch3x3Vertical, 1.0, 0));
 }
 public static ImageBuffer Laplacian5x5OfGaussian5x5_Two(this ImageBuffer buffer)
 {
     // Image should be grayscale
     return(buffer.Convolution(Kernel.Gaussian5x5Type2, 1.0 / 256.0, 0).Convolution(Kernel.Laplacian5x5, 1.0, 0));
 }
 public static ImageBuffer LaplacianOfGaussian(this ImageBuffer buffer)
 {
     // Image should be grayscale
     return(buffer.Convolution(Kernel.LaplacianOfGaussian, 1.0, 0));
 }
 public static ImageBuffer Laplacian3x3OfGaussian5x5_One(this ImageBuffer buffer)
 {
     // Image should be grayscale
     return(buffer.Convolution(Kernel.Gaussian5x5Type1, 1.0 / 159.0, 0).Convolution(Kernel.Laplacian3x3, 1.0, 0));
 }
 public static ImageBuffer Laplacian7x7(this ImageBuffer buffer)
 {
     // Image should be grayscale
     return(buffer.Convolution(Kernel.Martijn7x7, 1.0, 0));
 }