The SDL Component Suite is an industry leading collection of components supporting scientific and engineering computing. Please visit the SDL Web site for more information....


Unit: SDL_math2
Class: none
Declaration: function KernelConvolve (Kernel, InData: TDouble2DArray; var OutData: TDouble2DArray; Feedback: TOnPercentDoneEvent): integer;

The function KernelConvolve calculates for each cell of the array InData the convolution of the matrix cells with the kernel given by the parameter Kernel. The kernel has to be quadratic with an odd number of pixels along the egde. The results are written to the array OutData which is automatically resized to match the size of InData. The feedback parameter is a pointer to an event handler. Set it to nil in order to suppress any progress feedback.

The function returns the following error codes:

 0 ... everything is OK, OutData has been filled by the convolution results
-1 ... the Kernel is not quadratic
-2 ... the size of the Kernel is even
-3 ... the size of the Kernel is less than 3

Last Update: 2019-Jan-24