Pixelink Software allows you to apply characteristic curves to digital images for all Pixelink camera models. This is done in the hardware by using lookup tables. 


With a lookup table, or LUT, it is easy to apply characteristic curves to digital images. A LUT assigns an output value to every possible input value. LUTs allow calculations to be done very quickly, which is most advantageous for evaluating and correcting color spaces. The figure below shows a LUT which would binarize an image: For an 8 bit image, for example, this LUT would replace all pixels with gray values 0...127 with value 0 (black) and all pixels with gray values 128...255 with value 255 (white).



An example of this can be seen in the following images; The image on the left is taken with the LUT disabled, and the right with the LUT set as shown above:



The use of a LUT has the advantage that image calculation can be done very fast. Typical applications are enhancing gamma or image contrast, brightness changes, gray value spreading, or setting individual gradation curves.


The same can also be done via software using our Callback API feature, and both methods have advantages and disadvantages.


The hardware LUT is done in the camera and does not increase the PC’s CPU load. To obtain a good image quality, the image is processed with a bit depth of 10 bits per pixel, If the bit-depth of the camera is greater than that of the LUT, the LUT output will be linearly interpolated. For monochrome images, it is not possible to apply a false-color LUT. Also, it is not possible to define separate LUT characteristics for each RGB color.


With a software LUT using our Callback feature, you are able to apply a false-color LUT to monochrome images and define different LUT for each RGB color. However, as the LUT processing is done on the PC, the CPU load increases.


Callbacks are generally used to analyze or modify image data. Examples include:

  • Calculating a histogram.

  • Applying a filter or other form of image processing to the data – e.g.: Smoothing, sharpening, Thresholding, etc.

  • Overlaying a bitmap onto the image data – e.g. a corporate logo or a timestamp.