The operator PixelNeighbours1xM creates kernel window of 1 row and M columns. The M pixel are located on the left of each input image pixel.
The operator is comparable to FIRkernelNxM but comprises other functionality. The key feature of this operator is that it is of O-type what strongly simplifies synchronizations in the design process. However, the price to pay for the O-type functionality are some restrictions.
The first difference to FIRkernelNxM is that the operator does not center the current pixel in the kernel. Suppose a kernel of size 1x3 is defined. At kernel index 0 of the output image O(x, y), the current pixel at position I(x, y) is provided. At kernel index 1 of the output image, the pixel of the input image at input position I(x-1, y) is provided. Thus, at kernel column index m the output image is
In other words, the operator cannot output 'future' pixel, i.e., pixels which have not been processed yet. That's the reason why the operator is of O-type and will not cause line or pixel delays.
Because the operator does not provide information prior to the current pixel, there is no mirrored edge handling like in FIRkernelNxM. Instead all pixels in the output link which origin is outside image borders are set to the value of parameter Constant.
To generate a two dimensional kernel, use this operator together with an antecedent module of operator LineNeighborsNxM in the image processing pipeline.
Operator PixelNeighbours1xM supports variable line lengths.
|Range||range of input link I|
This parameter defines the default value for pixel outside the image borders.
The value is always unsigned. If you want to set the parameter to a signed value you need to reinterpret the value as unsigned. For color formats, the value is a combined value for all components.
The use of operator PixelNeighbours1xM is shown in the following examples:
Examples - Scaling A Line Scan Image