Unable to Change BCG Lookup Table in NI Vision FPGA

Updated Jun 19, 2020

Reported In

Hardware

  • PXI Reconfigurable Frame Grabber
  • Camera Link Adapter Module for FlexRIO

Software

  • Vision Development Module
  • LabVIEW FPGA Module

Issue Details

I want to change the Brightness, Contrast and Gamma values of the acquired images (using Vision FPGA cards/FlexRIO adapters) on the FPGA itself using IMAQ FPGA ColorBCGLookup.vi. However, when I try to change these values using the front panel control (interactive execution or via Read/Write Control on the host), there is no change in the acquired image.

Solution

IMAQ FPGA ColorBCGLookup.vi takes the Brightness, Contrast and Gamma level, and the Image (Pixel Bus) as inputs and outputs the processed image.

Figure 1: IMAQ FPGA ColorBCGLookup.vi on the block diagram with BCG Values control

This VI does not provide dynamic control over the BCG Values to the user. So, the BCG values entered in the control, during compilation or execution, are processed and cannot be changed at runtime. Hence, it is recommended to use a constant instead of a control as the BCG Values input.

If dynamic control over the BCG values is required, it is recommended to send the images to the host (using IMAQ FPGA Pixel Bus to FIFO VI) and perform the BCG lookup operation over there using IMAQ ColorBCGLookup VI.

Additional Information

This is the expected behavior of IMAQ FPGA ColorBCGLookup.vi. The expectation is that the BCG values are set before running and the lookup table will be created and stored on the FPGA registers once. The images will be corrected based on this lookup table