Decimation

The Decimation camera feature allows you to reduce the number of sensor pixel columns or rows that are transmitted by the camera.

This procedure is also known as "subsampling". It reduces the amount of data to be transferred and may increase the camera's frame rate.

In this topic Hide

Using the Feature

Prerequisites

How It Works

You can choose between horizontal and vertical decimation.

Vertical Decimation

If you enable vertical decimation, the following applies:

As a result, the image height is reduced. For example, enabling vertical decimation by 2 halves the image height. The camera automatically adjusts the image ROI settings.

Vertical decimation significantly increases the camera's frame rate.

Horizontal Decimation

If you enable horizontal decimation, the following applies:

As a result, the image width is reduced. For example, enabling horizontal decimation by 2 halves the image width. The camera automatically adjusts the image ROI settings.

Horizontal decimation does not (or only to a very small extent) increase the camera's frame rate.

Configuring Decimation

To configure vertical decimation, enter a value for the DecimationVertical parameter.

To configure horizontal decimation, enter a value for the DecimationHorizontal parameter.

The value of the parameters defines the decimation factor. Depending on your camera model, the following values are available:

For example, setting DecimationHorizontal to 3 enables horizontal decimation by 3.

If decimation is enabled and you set one or both of the parameters back to 1, the image ROI size may be smaller than the maximum possible size. In this case, you must manually restore the image ROI parameters back to their maximum values.

Considerations When Using Decimation

Effect on ROI Settings

When you are using decimation, the settings for your image ROIs and auto function ROIs refer to the resulting number of rows and columns.

For example, assume that you are using a camera with a 1280 x 960 sensor. Horizontal decimation by 2 and vertical decimation by 2 are enabled. In this case, the maximum ROI width would be 640 and the maximum ROI height would be 480.

Reduced Resolution

Using decimation effectively reduces the resolution of the camera’s imaging sensor. For example, if you set a camera with a 1280 x 960 sensor to use horizontal decimation by 2 and vertical decimation by 2, the effective resolution of the sensor is reduced to 640 x 480.

Possible Image Distortion

Objects will only appear undistorted in the image if the vertical and horizontal decimation factors are equal. With all other combinations, objects will appear distorted. For example, if you combine vertical decimation by 2 with horizontal decimation by 4, the target objects will appear squashed.

Specifics

Camera Model Horizontal Decimation Factors Vertical Decimation Factors
All ace 2 GigE camera models Decimation feature not supported Decimation feature not supported
All ace 2 USB 3.0 camera models Decimation feature not supported Decimation feature not supported
acA640-90gm Decimation feature not supported Decimation feature not supported
acA640-90gc Decimation feature not supported Decimation feature not supported
acA640-120gm Decimation feature not supported Decimation feature not supported
acA640-120gc Decimation feature not supported Decimation feature not supported
acA640-121gm Decimation feature not supported Decimation feature not supported
acA640-300gm Decimation feature not supported Decimation feature not supported
acA640-300gc Decimation feature not supported Decimation feature not supported
acA720-290gm Decimation feature not supported Decimation feature not supported
acA720-290gc Decimation feature not supported Decimation feature not supported
acA780-75gm Decimation feature not supported Decimation feature not supported
acA780-75gc Decimation feature not supported Decimation feature not supported
acA800-200gm Decimation feature not supported Decimation feature not supported
acA800-200gc Decimation feature not supported Decimation feature not supported
acA1280-60gm 1, 2, 3, ..., 32 1, 2, 3, ..., 32
acA1280-60gc 1, 2, 3, ..., 32 1, 2, 3, ..., 32
acA1300-22gm Decimation feature not supported Decimation feature not supported
acA1300-22gc Decimation feature not supported Decimation feature not supported
acA1300-30gm Decimation feature not supported Decimation feature not supported
acA1300-30gc Decimation feature not supported Decimation feature not supported
acA1300-60gm 1, 2, 3, ..., 32 1, 2, 3, ..., 32
acA1300-60gmNIR 1, 2, 3, ..., 32 1, 2, 3, ..., 32
acA1300-60gc 1, 2, 3, ..., 32 1, 2, 3, ..., 32
acA1300-75gm Decimation feature not supported Decimation feature not supported
acA1300-75gc Decimation feature not supported Decimation feature not supported
acA1440-73gm Decimation feature not supported Decimation feature not supported
acA1440-73gc Decimation feature not supported Decimation feature not supported
acA1600-20gm Decimation feature not supported Decimation feature not supported
acA1600-20gc Decimation feature not supported Decimation feature not supported
acA1600-60gm 1, 2, 3, ..., 32 1, 2, 3, ..., 32
acA1600-60gc 1, 2, 3, ..., 32 1, 2, 3, ..., 32
acA1920-25gm Decimation feature not supported Decimation feature not supported
acA1920-25gc Decimation feature not supported Decimation feature not supported
acA1920-40gm Decimation feature not supported Decimation feature not supported
acA1920-40gc Decimation feature not supported Decimation feature not supported
acA1920-48gm Decimation feature not supported Decimation feature not supported
acA1920-48gc Decimation feature not supported Decimation feature not supported
acA1920-50gm Decimation feature not supported Decimation feature not supported
acA1920-50gc Decimation feature not supported Decimation feature not supported
acA2000-50gm Not supported 1, 2, 3, ..., 1087
acA2000-50gmNIR Not supported 1, 2, 3, ..., 1087
acA2000-50gc Not supported 1, 2, 3, ..., 542
acA2040-25gm Not supported 1, 2, 3, ..., 2047
acA2040-25gmNIR Not supported 1, 2, 3, ..., 2047
acA2040-25gc Not supported 1, 2, 3, ..., 1022
acA2040-35gm Decimation feature not supported Decimation feature not supported
acA2040-35gc Decimation feature not supported Decimation feature not supported
acA2440-20gm Decimation feature not supported Decimation feature not supported
acA2440-20gc Decimation feature not supported Decimation feature not supported
acA2500-14gm Decimation feature not supported Decimation feature not supported
acA2500-14gc Decimation feature not supported Decimation feature not supported
acA2500-20gm Decimation feature not supported Decimation feature not supported
acA2500-20gc Decimation feature not supported Decimation feature not supported
acA2500-20gmMED Decimation feature not supported Decimation feature not supported
acA2500-20gcMED Decimation feature not supported Decimation feature not supported
acA3088-16gm Decimation feature not supported Decimation feature not supported
acA3088-16gc Decimation feature not supported Decimation feature not supported
acA3800-10gm 1, 2, 4 1, 2, 4
acA3800-10gc 1, 2, 4 1, 2, 4
acA4024-8gm Decimation feature not supported Decimation feature not supported
acA4024-8gc Decimation feature not supported Decimation feature not supported
acA4096-11gm Decimation feature not supported Decimation feature not supported
acA4096-11gc Decimation feature not supported Decimation feature not supported
acA4112-8gm Decimation feature not supported Decimation feature not supported
acA4112-8gc Decimation feature not supported Decimation feature not supported
acA4600-7gc 1, 2, 4 1, 2, 4
acA5472-5gm Decimation feature not supported Decimation feature not supported
acA5472-5gc Decimation feature not supported Decimation feature not supported
acA640-750um Decimation feature not supported Decimation feature not supported
acA640-750uc Decimation feature not supported Decimation feature not supported
acA640-90um Decimation feature not supported Decimation feature not supported
acA640-90uc Decimation feature not supported Decimation feature not supported
acA640-120um Decimation feature not supported Decimation feature not supported
acA640-120uc Decimation feature not supported Decimation feature not supported
acA720-520um Decimation feature not supported Decimation feature not supported
acA720-520uc Decimation feature not supported Decimation feature not supported
acA800-510um Decimation feature not supported Decimation feature not supported
acA800-510uc Decimation feature not supported Decimation feature not supported
acA1300-200um Decimation feature not supported Decimation feature not supported
acA1300-200uc Decimation feature not supported Decimation feature not supported
acA1300-30um Decimation feature not supported Decimation feature not supported
acA1300-30uc Decimation feature not supported Decimation feature not supported
acA1440-220um Decimation feature not supported Decimation feature not supported
acA1440-220uc Decimation feature not supported Decimation feature not supported
acA1600-20um Decimation feature not supported Decimation feature not supported
acA1600-20uc Decimation feature not supported Decimation feature not supported
acA1920-25um Decimation feature not supported Decimation feature not supported
acA1920-25uc Decimation feature not supported Decimation feature not supported
acA1920-40um Decimation feature not supported Decimation feature not supported
acA1920-40uc Decimation feature not supported Decimation feature not supported
acA1920-40umMED Decimation feature not supported Decimation feature not supported
acA1920-40ucMED Decimation feature not supported Decimation feature not supported
acA1920-150um Decimation feature not supported Decimation feature not supported
acA1920-150uc Decimation feature not supported Decimation feature not supported
acA1920-155um Decimation feature not supported Decimation feature not supported
acA1920-155uc Decimation feature not supported Decimation feature not supported
acA1920-155umMED Decimation feature not supported Decimation feature not supported
acA1920-155ucMED Decimation feature not supported Decimation feature not supported
acA2040-90um Decimation feature not supported Decimation feature not supported
acA2040-90umNIR Decimation feature not supported Decimation feature not supported
acA2040-90uc Decimation feature not supported Decimation feature not supported
acA2000-165um Decimation feature not supported Decimation feature not supported
acA2000-165umNIR Decimation feature not supported Decimation feature not supported
acA2000-165uc Decimation feature not supported Decimation feature not supported
acA2040-55um Decimation feature not supported Decimation feature not supported
acA2040-55uc Decimation feature not supported Decimation feature not supported
acA2040-120um Decimation feature not supported Decimation feature not supported
acA2040-120uc Decimation feature not supported Decimation feature not supported
acA2440-35um Decimation feature not supported Decimation feature not supported
acA2440-35uc Decimation feature not supported Decimation feature not supported
acA2440-35umMED Decimation feature not supported Decimation feature not supported
acA2440-35ucMED Decimation feature not supported Decimation feature not supported
acA2440-75um Decimation feature not supported Decimation feature not supported
acA2440-75uc Decimation feature not supported Decimation feature not supported
acA2440-75umMED Decimation feature not supported Decimation feature not supported
acA2440-75ucMED Decimation feature not supported Decimation feature not supported
acA2500-14um Decimation feature not supported Decimation feature not supported
acA2500-14uc Decimation feature not supported Decimation feature not supported
acA2500-60um Decimation feature not supported Decimation feature not supported
acA2500-60uc Decimation feature not supported Decimation feature not supported
acA3088-57um Decimation feature not supported Decimation feature not supported
acA3088-57uc Decimation feature not supported Decimation feature not supported
acA3800-14um 1, 2, 4 1, 2, 4
acA3800-14uc 1, 2, 4 1, 2, 4
acA4024-29um Decimation feature not supported Decimation feature not supported
acA4024-29uc Decimation feature not supported Decimation feature not supported
acA4096-30um Decimation feature not supported Decimation feature not supported
acA4096-30uc Decimation feature not supported Decimation feature not supported
acA4096-30umMED Decimation feature not supported Decimation feature not supported
acA4096-30ucMED Decimation feature not supported Decimation feature not supported
acA4096-40um Decimation feature not supported Decimation feature not supported
acA4096-40uc Decimation feature not supported Decimation feature not supported
acA4096-40umMED Decimation feature not supported Decimation feature not supported
acA4096-40ucMED Decimation feature not supported Decimation feature not supported
acA4112-20um Decimation feature not supported Decimation feature not supported
acA4112-20uc Decimation feature not supported Decimation feature not supported
acA4112-20umMED Decimation feature not supported Decimation feature not supported
acA4112-20ucMED Decimation feature not supported Decimation feature not supported
acA4112-30um Decimation feature not supported Decimation feature not supported
acA4112-30uc Decimation feature not supported Decimation feature not supported
acA4112-30umMED Decimation feature not supported Decimation feature not supported
acA4112-30ucMED Decimation feature not supported Decimation feature not supported
acA4600-10uc 1, 2, 4 1, 2, 4
acA5472-17um Decimation feature not supported Decimation feature not supported
acA5472-17uc Decimation feature not supported Decimation feature not supported
All boost CXP-12 camera models Decimation feature not supported Decimation feature not supported
All dart BCON for LVDS camera models Decimation feature not supported Decimation feature not supported
All dart BCON for MIPI camera models Decimation feature not supported Decimation feature not supported
All dart USB 3.0 camera models Decimation feature not supported Decimation feature not supported
All pulse USB 3.0 camera models Decimation feature not supported Decimation feature not supported

Sample Code

// Enable horizontal decimation by 2
camera.DecimationHorizontal.SetValue(2);
// Enable vertical decimation by 2
camera.DecimationVertical.SetValue(2);
// Disable horizontal decimation
camera.DecimationHorizontal.SetValue(1);
// Disable vertical decimation
camera.DecimationVertical.SetValue(1);
INodeMap& nodemap = camera.GetNodeMap();
// Enable horizontal decimation by 2
CIntegerPtr(nodemap.GetNode("DecimationHorizontal"))->SetValue(2);
// Enable vertical decimation by 2
CIntegerPtr(nodemap.GetNode("DecimationVertical"))->SetValue(2);
// Disable horizontal decimation
CIntegerPtr(nodemap.GetNode("DecimationHorizontal"))->SetValue(1);
// Disable vertical decimation
CIntegerPtr(nodemap.GetNode("DecimationVertical"))->SetValue(1);
// Enable horizontal decimation by 2
camera.Parameters[PLCamera.DecimationHorizontal].SetValue(2);
// Enable vertical decimation by 2
camera.Parameters[PLCamera.DecimationVertical].SetValue(2);
// Disable horizontal decimation
camera.Parameters[PLCamera.DecimationHorizontal].SetValue(1);
// Disable vertical decimation
camera.Parameters[PLCamera.DecimationVertical].SetValue(1);
// Enable horizontal decimation by 2
Pylon.DeviceSetIntegerFeature(hdev, "DecimationHorizontal", 2);
// Enable vertical decimation by 2
Pylon.DeviceSetIntegerFeature(hdev, "DecimationVertical", 2);
// Disable horizontal decimation
Pylon.DeviceSetIntegerFeature(hdev, "DecimationHorizontal", 1);
// Disable vertical decimation
Pylon.DeviceSetIntegerFeature(hdev, "DecimationVertical", 1);
/* 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 horizontal decimation by 2 */
errRes = PylonDeviceSetIntegerFeature(hdev, "DecimationHorizontal", 2);
CHECK(errRes);
/* Enable vertical decimation by 2 */
errRes = PylonDeviceSetIntegerFeature(hdev, "DecimationVertical", 2);
CHECK(errRes);
/* Disable horizontal decimation */
errRes = PylonDeviceSetIntegerFeature(hdev, "DecimationHorizontal", 1);
CHECK(errRes);
/* Disable vertical decimation */
errRes = PylonDeviceSetIntegerFeature(hdev, "DecimationVertical", 1);
CHECK(errRes);

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