Skip to content

Gamma#

The Gamma camera feature allows you to optimize the brightness of acquired images for display on a monitor.

Using the Feature#

How It Works#

The camera applies a gamma correction value (γ) to the brightness value of each pixel according to the following formula (red pixel value (R) of a color camera shown as an example):

Gamma Correction Formula (Red Pixels)

The maximum pixel value (Rmax) equals, e.g., 255 for 8-bit pixel formats or 1 023 for 10-bit pixel formats.

Enabling Gamma Correction#

To enable gamma correction:

  1. Set the GammaEnable parameter to true (if available).
  2. For best results, set the BlackLevel parameter to 0.
  3. Set the Gamma parameter to the desired value. The parameter's value range is 0 to ≈4.
    • Gamma = 1: The overall brightness remains unchanged.
    • Gamma < 1: The overall brightness increases.
    • Gamma > 1: The overall brightness decreases.

In all cases, black pixels (brightness = 0) and white pixels (brightness = maximum) will not be adjusted.

Info

If you enable gamma correction and the pixel format is set to a 12-bit pixel format, some image information will be lost. Pixel data output will still be 12-bit, but the pixel values will be interpolated during the gamma correction process.

Additional Parameters#

Depending on your camera model, the following additional parameters are available:

  • GammaEnable: Enables or disables gamma correction.
  • GammaSelector: Allows you to select one of the following gamma correction modes:
    • User: The gamma correction value can be set as desired. (Default.)
    • sRGB: The camera automatically sets a gamma correction value of approximately 0.4. This value is optimized for image display on sRGB monitors.
  • BslColorSpaceMode or BslColorSpace: Allows you to select one of the following gamma correction modes:
    • RGB: No additional gamma correction value is applied.
    • sRGB: The image brightness is optimized for display on an sRGB monitor. A gamma correction value of approximately 0.4 is applied. For more information, see the footnotes in the Specifics section.

Specifics#

Show all camera models

Camera Model Additional Parameters
a2A1920-51gcBAS BslColorSpacec
a2A1920-51gcPRO BslColorSpacec
a2A1920-51gmBAS BslColorSpacec
a2A1920-51gmPRO BslColorSpacec
a2A1920-160ucBAS BslColorSpacec
a2A1920-160ucPRO BslColorSpacec
a2A1920-160umBAS BslColorSpacec
a2A1920-160umPRO BslColorSpacec
a2A2448-23gcBAS BslColorSpacec
a2A2448-23gcPRO BslColorSpacec
a2A2448-23gmBAS BslColorSpacec
a2A2448-23gmPRO BslColorSpacec
a2A2448-75ucBAS BslColorSpacec
a2A2448-75ucPRO BslColorSpacec
a2A2448-75umBAS BslColorSpacec
a2A2448-75umPRO BslColorSpacec
a2A2590-22gcBAS BslColorSpacec
a2A2590-22gcPRO BslColorSpacec
a2A2590-22gmBAS BslColorSpacec
a2A2590-22gmPRO BslColorSpacec
a2A2590-60ucBAS BslColorSpacec
a2A2590-60ucPRO BslColorSpacec
a2A2590-60umBAS BslColorSpacec
a2A2590-60umPRO BslColorSpacec
a2A2600-20gcBAS BslColorSpacec
a2A2600-20gcPRO BslColorSpacec
a2A2600-20gmBAS BslColorSpacec
a2A2600-20gmPRO BslColorSpacec
a2A2600-64ucBAS BslColorSpacec
a2A2600-64ucPRO BslColorSpacec
a2A2600-64umBAS BslColorSpacec
a2A2600-64umPRO BslColorSpacec
a2A2840-14gcBAS BslColorSpacec
a2A2840-14gcPRO BslColorSpacec
a2A2840-14gmBAS BslColorSpacec
a2A2840-14gmPRO BslColorSpacec
a2A2840-48ucBAS BslColorSpacec
a2A2840-48ucPRO BslColorSpacec
a2A2840-48umBAS BslColorSpacec
a2A2840-48umPRO BslColorSpacec
a2A3840-13gcBAS BslColorSpacec
a2A3840-13gcPRO BslColorSpacec
a2A3840-13gmBAS BslColorSpacec
a2A3840-13gmPRO BslColorSpacec
a2A3840-45ucBAS BslColorSpacec
a2A3840-45ucPRO BslColorSpacec
a2A3840-45umBAS BslColorSpacec
a2A3840-45umPRO BslColorSpacec
a2A4096-9gcBAS BslColorSpacec
a2A4096-9gcPRO BslColorSpacec
a2A4096-9gmBAS BslColorSpacec
a2A4096-9gmPRO BslColorSpacec
a2A4096-30ucBAS BslColorSpacec
a2A4096-30ucPRO BslColorSpacec
a2A4096-30umBAS BslColorSpacec
a2A4096-30umPRO BslColorSpacec
a2A4200-12gcBAS BslColorSpacec
a2A4200-12gcPRO BslColorSpacec
a2A4200-12gmBAS BslColorSpacec
a2A4200-12gmPRO BslColorSpacec
a2A4200-40ucBAS BslColorSpacec
a2A4200-40ucPRO BslColorSpacec
a2A4200-40umBAS BslColorSpacec
a2A4200-40umPRO BslColorSpacec
a2A4504-5gcBAS BslColorSpacec
a2A4504-5gcPRO BslColorSpacec
a2A4504-5gmBAS BslColorSpacec
a2A4504-5gmPRO BslColorSpacec
a2A4504-18ucBAS BslColorSpacec
a2A4504-18ucPRO BslColorSpacec
a2A4504-18umBAS BslColorSpacec
a2A4504-18umPRO BslColorSpacec
a2A5320-7gcBAS BslColorSpacec
a2A5320-7gcPRO BslColorSpacec
a2A5320-7gmBAS BslColorSpacec
a2A5320-7gmPRO BslColorSpacec
a2A5320-23ucBAS BslColorSpacec
a2A5320-23ucPRO BslColorSpacec
a2A5320-23umBAS BslColorSpacec
a2A5320-23umPRO BslColorSpacec
a2A5328-4gcBAS BslColorSpacec
a2A5328-4gcPRO BslColorSpacec
a2A5328-4gmBAS BslColorSpacec
a2A5328-4gmPRO BslColorSpacec
a2A5328-15ucBAS BslColorSpacec
a2A5328-15ucPRO BslColorSpacec
a2A5328-15umBAS BslColorSpacec
a2A5328-15umPRO BslColorSpacec
acA640-90gc GammaEnable
GammaSelector
acA640-90gm GammaEnable
GammaSelector
acA640-90uc Nonea
acA640-90um Nonea
acA640-120gc GammaEnable
GammaSelector
acA640-120gm GammaEnable
GammaSelector
acA640-120uc Nonea
acA640-120um Nonea
acA640-121gm GammaEnable
GammaSelector
acA640-300gc GammaEnable
GammaSelector
acA640-300gm GammaEnable
GammaSelector
acA640-750uc Nonea
acA640-750um Nonea
acA720-290gc GammaEnable
GammaSelector
acA720-290gm GammaEnable
GammaSelector
acA720-520uc Nonea
acA720-520um Nonea
acA780-75gc GammaEnable
GammaSelector
acA780-75gm GammaEnable
GammaSelector
acA800-200gc GammaEnable
GammaSelector
acA800-200gm GammaEnable
GammaSelector
acA800-510uc Nonea
acA800-510um Nonea
acA1280-60gc GammaEnable
GammaSelector
acA1280-60gm GammaEnable
GammaSelector
acA1300-22gc GammaEnable
GammaSelector
acA1300-22gm GammaEnable
GammaSelector
acA1300-30gc GammaEnable
GammaSelector
acA1300-30gm GammaEnable
GammaSelector
acA1300-30uc Nonea
acA1300-30um Nonea
acA1300-60gc GammaEnable
GammaSelector
acA1300-60gm GammaEnable
GammaSelector
acA1300-60gmNIR GammaEnable
GammaSelector
acA1300-75gc GammaEnable
GammaSelector
acA1300-75gm GammaEnable
GammaSelector
acA1300-200uc Nonea
acA1300-200um Nonea
acA1440-73gc GammaEnable
GammaSelector
acA1440-73gm GammaEnable
GammaSelector
acA1440-220uc Nonea
acA1440-220um Nonea
acA1600-20gc GammaEnable
GammaSelector
acA1600-20gm GammaEnable
GammaSelector
acA1600-20uc Nonea
acA1600-20um Nonea
acA1600-60gc GammaEnable
GammaSelector
acA1600-60gm GammaEnable
GammaSelector
acA1920-25gc GammaEnable
GammaSelector
acA1920-25gm GammaEnable
GammaSelector
acA1920-25uc Nonea
acA1920-25um Nonea
acA1920-40gc GammaEnable
GammaSelector
acA1920-40gm GammaEnable
GammaSelector
acA1920-40uc Nonea
acA1920-40ucMED Nonea
acA1920-40um Nonea
acA1920-40umMED Nonea
acA1920-48gc GammaEnable
GammaSelector
acA1920-48gm GammaEnable
GammaSelector
acA1920-50gc GammaEnable
GammaSelector
acA1920-50gm GammaEnable
GammaSelector
acA1920-150uc Nonea
acA1920-150um Nonea
acA1920-155uc Nonea
acA1920-155ucMED Nonea
acA1920-155um Nonea
acA1920-155umMED Nonea
acA2000-50gc GammaEnable
GammaSelector
acA2000-50gm GammaEnable
GammaSelector
acA2000-50gmNIR GammaEnable
GammaSelector
acA2000-165uc Nonea
acA2000-165um Nonea
acA2000-165umNIR Nonea
acA2040-25gc GammaEnable
GammaSelector
acA2040-25gm GammaEnable
GammaSelector
acA2040-25gmNIR GammaEnable
GammaSelector
acA2040-35gc GammaEnable
GammaSelector
acA2040-35gm GammaEnable
GammaSelector
acA2040-55uc Nonea
acA2040-55um Nonea
acA2040-90uc Nonea
acA2040-90um Nonea
acA2040-90umNIR Nonea
acA2040-120uc Nonea
acA2040-120um Nonea
acA2440-20gc GammaEnable
GammaSelector
acA2440-20gm GammaEnable
GammaSelector
acA2440-35uc Nonea
acA2440-35ucMED Nonea
acA2440-35um Nonea
acA2440-35umMED Nonea
acA2440-75uc Nonea
acA2440-75ucMED Nonea
acA2440-75um Nonea
acA2440-75umMED Nonea
acA2500-14gc GammaEnable
GammaSelector
acA2500-14gm GammaEnable
GammaSelector
acA2500-14uc Nonea
acA2500-14um Nonea
acA2500-20gc GammaEnable
GammaSelector
acA2500-20gcMED GammaEnable
GammaSelector
acA2500-20gm GammaEnable
GammaSelector
acA2500-20gmMED GammaEnable
GammaSelector
acA2500-60uc Nonea
acA2500-60um Nonea
acA3088-16gc GammaEnable
GammaSelector
acA3088-16gm GammaEnable
GammaSelector
acA3088-57uc Nonea
acA3088-57ucMED Nonea
acA3088-57um Nonea
acA3088-57umMED Nonea
acA3800-10gc GammaEnable
GammaSelector
acA3800-10gm GammaEnable
GammaSelector
acA3800-14uc Nonea
acA3800-14um Nonea
acA4024-8gc GammaEnable
GammaSelector
acA4024-8gm GammaEnable
GammaSelector
acA4024-29uc Nonea
acA4024-29um Nonea
acA4096-11gc GammaEnable
GammaSelector
acA4096-11gm GammaEnable
GammaSelector
acA4096-30uc Nonea
acA4096-30ucMED Nonea
acA4096-30um Nonea
acA4096-30umMED Nonea
acA4096-40uc Nonea
acA4096-40ucMED Nonea
acA4096-40um Nonea
acA4096-40umMED Nonea
acA4112-8gc GammaEnable
GammaSelector
acA4112-8gm GammaEnable
GammaSelector
acA4112-20uc Nonea
acA4112-20ucMED Nonea
acA4112-20um Nonea
acA4112-20umMED Nonea
acA4112-30uc Nonea
acA4112-30ucMED Nonea
acA4112-30um Nonea
acA4112-30umMED Nonea
acA4600-7gc GammaEnable
GammaSelector
acA4600-10uc Nonea
acA5472-5gc GammaEnable
GammaSelector
acA5472-5gm GammaEnable
GammaSelector
acA5472-17uc Nonea
acA5472-17ucMED Nonea
acA5472-17um Nonea
acA5472-17umMED Nonea
boA4096-93cc BslColorSpacec
boA4096-93cm BslColorSpacec
boA4112-68cc BslColorSpacec
boA4112-68cm BslColorSpacec
boA4500-45cc BslColorSpacec
boA4500-45cm BslColorSpacec
boA4504-100cc BslColorSpacec
boA4504-100cm BslColorSpacec
boA5320-150cc BslColorSpacec
boA5320-150cm BslColorSpacec
boA5328-100cc BslColorSpacec
boA5328-100cm BslColorSpacec
boA6500-36cc BslColorSpacec
boA6500-36cm BslColorSpacec
boA8100-16cc BslColorSpacec
boA8100-16cm BslColorSpacec
daA1280-54uc BslColorSpaceModeb
daA1280-54um BslColorSpaceModeb
daA1600-60uc BslColorSpaceModeb
daA1600-60um BslColorSpaceModeb
daA1920-15um BslColorSpaceModeb
daA1920-30uc BslColorSpaceModeb
daA1920-30um BslColorSpaceModeb
daA1920-160uc BslColorSpacea
daA1920-160um BslColorSpacea
daA2448-70uc BslColorSpacea
daA2448-70um BslColorSpacea
daA2500-14uc BslColorSpaceModeb
daA2500-14um BslColorSpaceModeb
daA3840-45uc BslColorSpacea
daA3840-45um BslColorSpacea
puA1280-54uc BslColorSpaceModeb
puA1280-54um BslColorSpaceModeb
puA1600-60uc BslColorSpaceModeb
puA1600-60um BslColorSpaceModeb
puA1920-30uc BslColorSpaceModeb
puA1920-30um BslColorSpaceModeb
puA2500-14uc BslColorSpaceModeb
puA2500-14um BslColorSpaceModeb

  1. If you select a light source preset, an additional gamma correction value of approximately 0.4 is applied (sRGB gamma correction). This value is applied separately and not included in the Gamma parameter value. Example: You have set the light source preset to Tungsten and the Gamma parameter value to 1.2. First, an automatic correction value of approximately 0.4 is applied to the pixel values. After that, a gamma correction value of 1.2 is applied to the resulting pixel values.

  2. Only available if the pixel format is set to YCbCr422 or RGB8.

  3. If the color space is set to sRGB, a gamma correction value of approximately 0.4 is applied. This value is applied separately and not included in the Gamma parameter value. Example: You set the color space to sRGB and the Gamma parameter to 1.2. First, an automatic correction value of approximately 0.4 is applied to the pixel values. After that, a gamma correction value of 1.2 is applied to the resulting pixel values.
    If you have selected a Light Source Preset, setting the color space to sRGB will also affect the Balance White, Color Adjustment, and Color Transformation features.

  4. If the color space is set to sRGB, a gamma correction value of approximately 0.4 is applied, the Gamma parameter becomes read-only, and the Gamma parameter value is ignored.

Sample Code#

ace 2, boost, and dart IMX Cameras#
// Set the Gamma value to 1.2
camera.Gamma.SetValue(1.2);
// Set the color space to sRGB
camera.BslColorSpace.SetValue(BslColorSpace_sRGB);
INodeMap& nodemap = camera.GetNodeMap();
// Set the Gamma value to 1.2
CFloatParameter(nodemap, "Gamma").SetValue(1.2);
// Set the color space to sRGB
CEnumParameter(nodemap, "BslColorSpace").SetValue("sRGB");
// Set the Gamma value to 1.2
camera.Parameters[PLCamera.Gamma].SetValue(1.2);
// Set the color space to sRGB
camera.Parameters[PLCamera.BslColorSpace].SetValue(PLCamera.BslColorSpace.sRGB);
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
/* Set the Gamma value to 1.2 */
errRes = PylonDeviceSetFloatFeature(hdev, "Gamma", 1.2);
CHECK(errRes);
/* Set the color space to sRGB */
errRes = PylonDeviceFeatureFromString(hdev, "BslColorSpace", "sRGB");
CHECK(errRes);
ace Classic/U/L GigE Cameras#
// Enable the Gamma feature
camera.GammaEnable.SetValue(true);
// Set the gamma type to User
camera.GammaSelector.SetValue(GammaSelector_User);
// Set the Gamma value to 1.2
camera.Gamma.SetValue(1.2);
INodeMap& nodemap = camera.GetNodeMap();
// Enable the Gamma feature
CBooleanParameter(nodemap, "GammaEnable").SetValue(true);
// Set the gamma type to User
CEnumParameter(nodemap, "GammaSelector").SetValue("User");
// Set the Gamma value to 1.2
CFloatParameter(nodemap, "Gamma").SetValue(1.2);
// Enable the Gamma feature
camera.Parameters[PLCamera.GammaEnable].SetValue(true);
// Set the gamma type to User
camera.Parameters[PLCamera.GammaSelector].SetValue(PLCamera.GammaSelector.User);
// Set the Gamma value to 1.2
camera.Parameters[PLCamera.Gamma].SetValue(1.2);
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
/* Enable the Gamma feature */
errRes = PylonDeviceSetBooleanFeature(hdev, "GammaEnable", 1);
CHECK(errRes);
/* Set the gamma type to User */
errRes = PylonDeviceFeatureFromString(hdev, "GammaSelector", "User");
CHECK(errRes);
/* Set the Gamma value to 1.2 */
errRes = PylonDeviceSetFloatFeature(hdev, "Gamma", 1.2);
CHECK(errRes);
Other Cameras#
// Set the Gamma value to 1.2
camera.Gamma.SetValue(1.2);
INodeMap& nodemap = camera.GetNodeMap();
// Set the Gamma value to 1.2
CFloatParameter(nodemap, "Gamma").SetValue(1.2);
// Set the Gamma value to 1.2
camera.Parameters[PLCamera.Gamma].SetValue(1.2);
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
/* Set the Gamma value to 1.2 */
errRes = PylonDeviceSetFloatFeature(hdev, "Gamma", 1.2);
CHECK(errRes);

You can also use the pylon Viewer to easily set the parameters.

Back to top