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. The table can be adjusted in our software by modifying Gamma and/or the Lookup table, which can be used to change or enhance an image, increase contrast, reduce visible noise, or improve local dynamic range.


Adjusting Gamma


Gamma is applied internally in the camera in the form of a calculated look up table, and can be used to improve the perceived dynamic range. This table is the same table used by the Look Up Table feature, and therefore only one of these features can be enabled at a time. Gamma can be enabled and set from the Controls tab of Pixelink Capture, or the Basic Controls tab of Capture OEM, 


To display a larger version of any of the following images, please click on the image: 


With both gamma and the LUT disabled, the following image was taken. Note that disabling Gamma is equivalent to setting gamma to 1. 



The image above is relatively dark, as we can see from the histogram. Here increasing gamma (setting a value > 1) will move the histogram towards the centre, which will help increase the contrast in the darker areas of the image; But doing so will also decrease the contrast in the brighter areas of the image. 


For example, the following image is taken with gamma set to 2.6:



We can see the effect of this by looking at the lookup table. Please note that the lookup table shows the maximum range for the sensor, regardless of the selected Pixel Format. For 10-bit sensors the LUT will show a range from 0 - 1023, and for 12-bit sensors a range from 0 - 4095. When using an 8-bit pixel format the LUT scales automatically, so pixels set to 0 will have an intensity of 0 (or black), and pixels set to 4095 will have a a value of 255 (or white). This article will use pixel intensities as they are shown in the LUT (from 0 to 4095), to match the values shown in the screenshots. 


In this example, pixels with gray values (or intensities) from 0 to 1999 are mapped from 0 to 2965, and pixels with gray values from 2000 to 4095 are mapped from 2696 to 4095. This gives us more data/pixel information from the darker areas of the image as these are mapped to a wider range of grays, providing more variation in intensity (or grey) here and therefore, improving the local dynamic range in this section. But this is done at the expense of the brighter areas of the image, as these are represented by a smaller range of grays. This provides less variation in intensity in this section, which could result in the loss of data.



Decreasing gamma can also help to increase the contrast in the brighter areas of the image (eg. the white lettering on the circuit board in this example), but doing so will decrease the contrast in the darker areas of the image. 


For example, the image below was taken with gamma set to 0.7:



Here the lookup table shows the brighter areas of the image are represented with a wider variation of intensity or grey. But this is at the expense of information in the darker areas of the image, as these are represented by a smaller range of intensity.




After setting Gamma, you can further modify the curve using the lookup table. To do so, enable the lookup table by checking the enable box in Capture OEM:



Or the Lookup Table checkbox in Pixelink Capture:



Note that enabling the lookup table will disable gamma. The lookup table will display the gamma curve, which can be modified by dragging any of the points. To reset the table, click the reset button in Pixelink Capture. In Capture OEM, right click on the lookup table and select reset.



Lookup Table


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 lookup table can be enabled and modified from the LUT tab of Pixelink Capture, or the LUT & FFC tab of Capture OEM. These articles also include more information about the options provided on these tabs. Please note that the lookup table shows the maximum range for the sensor, regardless of the selected Pixel Format. For 10-bit sensors the LUT will show a range from 0 - 1023, and for 12-bit sensors a range from 0 - 4095. When using an 8-bit pixel format the LUT scales automatically, so pixels set to 0 will have an intensity of 0 (or black), and pixels set to 4095 will have an intensity of 255 (or white). This article will use pixel intensities as they are shown in the LUT (from 0 to 4095), to match the values shown in the screenshots. 


The following image was taken with both gamma and the lookup table (LUT) disabled, Click on any of the images below to expand the image.




As the histogram in the original image above is weighted to the left (it's a darker image with darker greys), lets modify the lookup table to display this section with a wider range of intensity, or a wider range of grey tones. In doing so, higher intensity pixels have been assigned a value of 4095, and we therefore lose detail from the brighter areas of the image (instead of varying tones of grey, they're all represented as white). In this case, however, this also makes them clearly visible:



More generally, the following lookup table will reduce dynamic range as pixels with lower intensities are represented as 0 (black), and pixels with higher intensities are represented as 4055 (white), which loses the data from these pixels. If the image shows a lot of noise in these sections, however, this lookup table may help to reduce or eliminate this noise, which can improve the clarity of the image. This also means that the middle section can be represented with a wider range of intensity or grey tones, improving contrast in these areas.



And finally, the example 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 to 127 with value 0 (or black), and all pixels with gray values 128 to 255 with value 255 (or white).