Skip to content

Image ROI#

The Image ROI camera feature allows you to specify the part of the sensor array that you want to use for image acquisition.

ROI is short for region of interest (formerly AOI = area of interest).

If an image ROI has been specified, the camera will only transmit pixel data from within that region. On most cameras, this increases the camera's maximum frame rate significantly.

The image ROI settings are independent from the auto function ROI settings.

Using the Feature#

Changing Position and Size of an Image ROI#

With the factory settings enabled, the camera is set to a default resolution. However, you can change the position and size as required.

To change the position and size of the image ROI:

  1. Make sure the camera is idle, i.e., not capturing images.
  2. If you are using an ace Classic/U/L camera, set the CenterX and CenterY parameters to false.
  3. Use the following parameters to specify the size of the image ROI:

    • Width
    • Height
  4. Use the following parameters to specify the position of the image ROI:

    • OffsetX
    • OffsetY

The origin of the image ROI is in the top left corner of the sensor array (column 0, row 0).

Example: Assume that you have specified the following settings:

  • Width = 16
  • Height = 10
  • OffsetX = 2
  • OffsetY = 6

This creates the following image ROI:

Image ROI Example

Info

  • On most cameras, decreasing the size (especially the height) of the image ROI increases the camera's maximum frame rate significantly.
  • If the Binning feature is enabled, the settings for the image ROI refer to the binned lines and columns and not to the physical lines in the sensor.
  • On boA13440-17cm cameras, the position of the image ROI is always centered in horizontal and vertical direction. When you change the width of the image ROI, the OffsetX parameter value automatically adapts and the image ROI is centered horizontally. When you change the height of the image ROI, the OffsetY parameter value automatically adapts and the image ROI is centered vertically.
    Both the OffsetX and OffsetY parameters are read-only.

Guidelines#

When you are specifying an image ROI, follow these guidelines:

Guideline Example
OffsetX + WidthWidthMax Camera with a 1920 x 1080 pixel sensor:
OffsetX + Width ≤ 1920
OffsetY + HeightHeightMax Camera with a 1920 x 1080 pixel sensor:
OffsetY + Height ≤ 1080

The WidthMax and HeightMax parameter values adapt to the current settings for Binning, Decimation, or Scaling (if available).

Specifics#

Image ROI Sizes#

Show all camera models

Camera Model Minimum Width Minimum Height
a2A640-240gmSWIR 4 1
a2A640-240umSWIR 4 1
a2A1280-80gmSWIR 4 1
a2A1280-125umSWIR 4 1
a2A1920-51gcBAS 4 2
a2A1920-51gcPRO 4 2
a2A1920-51gmBAS 4 1
a2A1920-51gmPRO 4 1
a2A1920-160ucBAS 4 2
a2A1920-160ucPRO 4 2
a2A1920-160umBAS 4 1
a2A1920-160umPRO 4 1
a2A1920-165g5cBAS 4 2
a2A1920-165g5mBAS 4 1
a2A2440-98g5cBAS 4 4
a2A2440-98g5mBAS 4 4
a2A2448-23gcBAS 4 2
a2A2448-23gcPRO 4 2
a2A2448-23gmBAS 4 1
a2A2448-23gmPRO 4 1
a2A2448-75ucBAS 4 2
a2A2448-75ucPRO 4 2
a2A2448-75umBAS 4 1
a2A2448-75umPRO 4 1
a2A2448-105g5cBAS 4 2
a2A2448-105g5mBAS 4 1
a2A2590-22gcBAS 4 2
a2A2590-22gcPRO 4 2
a2A2590-22gmBAS 4 1
a2A2590-22gmPRO 4 1
a2A2590-60ucBAS 4 2
a2A2590-60ucPRO 4 2
a2A2590-60umBAS 4 1
a2A2590-60umPRO 4 1
a2A2600-20gcBAS 4 2
a2A2600-20gcPRO 4 2
a2A2600-20gmBAS 4 1
a2A2600-20gmPRO 4 1
a2A2600-64ucBAS 4 2
a2A2600-64ucPRO 4 2
a2A2600-64umBAS 4 1
a2A2600-64umPRO 4 1
a2A2840-14gcBAS 4 2
a2A2840-14gcPRO 4 2
a2A2840-14gmBAS 4 1
a2A2840-14gmPRO 4 1
a2A2840-48ucBAS 4 2
a2A2840-48ucPRO 4 2
a2A2840-48umBAS 4 1
a2A2840-48umPRO 4 1
a2A2840-67g5cBAS 4 2
a2A2840-67g5mBAS 4 1
a2A3840-13gcBAS 4 2
a2A3840-13gcPRO 4 2
a2A3840-13gmBAS 4 1
a2A3840-13gmPRO 4 1
a2A3840-45ucBAS 4 2
a2A3840-45ucPRO 4 2
a2A3840-45umBAS 4 1
a2A3840-45umPRO 4 1
a2A4096-9gcBAS 4 2
a2A4096-9gcPRO 4 2
a2A4096-9gmBAS 4 1
a2A4096-9gmPRO 4 1
a2A4096-30ucBAS 4 2
a2A4096-30ucPRO 4 2
a2A4096-30umBAS 4 1
a2A4096-30umPRO 4 1
a2A4096-44g5cBAS 4 2
a2A4096-44g5mBAS 4 1
a2A4200-12gcBAS 4 2
a2A4200-12gcPRO 4 2
a2A4200-12gmBAS 4 1
a2A4200-12gmPRO 4 1
a2A4200-40ucBAS 4 2
a2A4200-40ucPRO 4 2
a2A4200-40umBAS 4 1
a2A4200-40umPRO 4 1
a2A4504-5gcBAS 4 2
a2A4504-5gcPRO 4 2
a2A4504-5gmBAS 4 1
a2A4504-5gmPRO 4 1
a2A4504-18ucBAS 4 2
a2A4504-18ucPRO 4 2
a2A4504-18umBAS 4 1
a2A4504-18umPRO 4 1
a2A4504-27g5cBAS 4 2
a2A4504-27g5mBAS 4 1
a2A4508-6gcBAS 4 2
a2A4508-6gcPRO 4 2
a2A4508-6gmBAS 4 1
a2A4508-6gmPRO 4 1
a2A4508-20ucBAS 4 2
a2A4508-20ucPRO 4 2
a2A4508-20umBAS 4 1
a2A4508-20umPRO 4 1
a2A5320-7gcBAS 4 2
a2A5320-7gcPRO 4 2
a2A5320-7gmBAS 4 1
a2A5320-7gmPRO 4 1
a2A5320-23ucBAS 4 2
a2A5320-23ucPRO 4 2
a2A5320-23umBAS 4 1
a2A5320-23umPRO 4 1
a2A5320-34g5cBAS 4 2
a2A5320-34g5mBAS 4 1
a2A5328-4gcBAS 4 2
a2A5328-4gcPRO 4 2
a2A5328-4gmBAS 4 1
a2A5328-4gmPRO 4 1
a2A5328-15ucBAS 4 2
a2A5328-15ucPRO 4 2
a2A5328-15umBAS 4 1
a2A5328-15umPRO 4 1
a2A5328-22g5cBAS 4 2
a2A5328-22g5mBAS 4 1
acA640-121gm 1 1
acA640-300gc 16 2
acA640-300gm 16 1
acA640-750uc 16 2
acA640-750um 16 1
acA720-290gc 2 2
acA720-290gm 1 1
acA720-520uc 2 2
acA720-520um 1 1
acA800-200gc 16 2
acA800-200gm 16 1
acA800-510uc 16 2
acA800-510um 16 1
acA1280-60gc 2 2
acA1280-60gm 1 1
acA1300-60gc 2 2
acA1300-60gm 1 1
acA1300-60gmNIR 1 1
acA1300-75gc 16 2
acA1300-75gm 16 1
acA1300-200uc 16 2
acA1300-200um 16 1
acA1440-73gc 2 2
acA1440-73gm 1 1
acA1440-220uc 2 2
acA1440-220um 1 1
acA1600-20gc 2 2
acA1600-20uc 2 2
acA1600-60gc 2 2
acA1600-60gm 1 1
acA1920-25gc 64 64
acA1920-25gm 64 64
acA1920-25uc 64a 64a
acA1920-25um 64a 64a
acA1920-40gc 2 2
acA1920-40gm 1 1
acA1920-40uc 4 2
acA1920-40ucMED 4 2
acA1920-40um 4 1
acA1920-40umMED 4 1
acA1920-48gc 32 2
acA1920-48gm 32 1
acA1920-50gc 2 2
acA1920-50gm 1 1
acA1920-150uc 32 2
acA1920-150um 32 1
acA1920-155uc 4 2
acA1920-155ucMED 4 2
acA1920-155um 4 1
acA1920-155umMED 4 1
acA2000-50gc 2 2
acA2000-50gm 1 1
acA2000-165uc 8 2
acA2000-165um 8 1
acA2040-25gc 2 2
acA2040-25gm 1 1
acA2040-25gmNIR 1 1
acA2040-35gc 2 2
acA2040-35gm 1 1
acA2040-55uc 4 2
acA2040-55um 4 1
acA2040-90uc 8 2
acA2040-90um 8 1
acA2040-90umNIR 8 1
acA2040-120uc 4 2
acA2040-120um 4 1
acA2440-20gc 2 2
acA2440-20gm 1 1
acA2440-35uc 4 2
acA2440-35ucMED 4 2
acA2440-35um 4 1
acA2440-35umMED 4 1
acA2440-75uc 4 2
acA2440-75ucMED 4 2
acA2440-75um 4 1
acA2440-75umMED 4 1
acA2500-14gc 64 64
acA2500-14gm 64 64
acA2500-14uc 64a 64a
acA2500-14um 64a 64a
acA2500-20gc 32 2
acA2500-20gcMED 32 2
acA2500-20gm 32 1
acA2500-20gmMED 32 1
acA2500-60uc 32 1
acA2500-60um 32 1
acA3088-16gc 376 320
acA3088-16gm 376 320
acA3088-57uc 376 320
acA3088-57ucMED 376 320
acA3088-57um 376 320
acA3088-57umMED 376 320
acA3800-10gc 64 64
acA3800-10gm 64 64
acA3800-14uc 64 64
acA3800-14um 64a 64a
acA4024-8gc 8 6
acA4024-8gm 8 5
acA4024-29uc 8 6
acA4024-29um 8 5
acA4096-11gc 16 2
acA4096-11gm 16 1
acA4096-30uc 4 2
acA4096-30ucMED 4 2
acA4096-30um 4 1
acA4096-30umMED 4 1
acA4096-40uc 4 2
acA4096-40ucMED 4 2
acA4096-40um 4 1
acA4096-40umMED 4 1
acA4112-8gc 16 2
acA4112-8gm 16 1
acA4112-20uc 4 2
acA4112-20ucMED 4 2
acA4112-20um 4 1
acA4112-20umMED 4 1
acA4112-30uc 4 2
acA4112-30ucMED 4 2
acA4112-30um 4 1
acA4112-30umMED 4 1
acA5472-5gc 8 6
acA5472-5gm 8 5
acA5472-17uc 8 6
acA5472-17ucMED 8 6
acA5472-17um 8 5
acA5472-17umMED 8 5
boA1936-400cc 48 2
boA1936-400cm 48 2
boA2448-250cc 96 / 48b 2
boA2448-250cm 48 2
boA2832-190cc 96 / 48b 2
boA2832-190cm 48 2
boA4096-93cc 48 2
boA4096-93cm 48 2
boA4096-180cc 96 / 48b 2
boA4096-180cm 48 2
boA4112-68cc 48 2
boA4112-68cm 48 2
boA4500-45cc 48 2
boA4500-45cm 48 2
boA4504-100cc 96 / 48b 2
boA4504-100cm 96 / 48b 2
boA5120-150cc 256 4
boA5120-150cm 256 4
boA5120-230cc 256 32
boA5120-230cm 256 32
boA5320-150cc 96 / 48b 2
boA5320-150cm 96 / 48b 2
boA5328-100cc 96 / 48b 2
boA5328-100cm 96 / 48b 2
boA6500-36cc 48 2
boA6500-36cm 48 2
boA8100-16cc 48 2
boA8100-16cm 48 2
boA9344-30cc 256 4
boA9344-30cm 256 4
boA9344-70cc 256 4
boA9344-70cm 256 4
boA13440-17cm 96 / 48b 2
daA720-520uc 2 6
daA720-520um 4 3
daA1280-54uc 16 8
daA1280-54um 16 8
daA1440-220uc 2 6
daA1440-220um 4 3
daA1600-60uc 16 8
daA1600-60um 16 8
daA1920-15um 16 8
daA1920-30uc 16 8
daA1920-30um 16 8
daA1920-160uc 2 6
daA1920-160um 4 1
daA2448-70uc 2 6
daA2448-70um 4 3
daA2500-14uc 16 8
daA2500-14um 16 8
daA3840-45uc 2 6
daA3840-45um 4 4
puA1280-54uc 16 8
puA1280-54um 16 8
puA1600-60uc 16 8
puA1600-60um 16 8
puA1920-30uc 4 4
puA1920-30um 4 4
puA2500-14uc 4 4
puA2500-14um 4 4

  1. When binning is enabled, the minimum width and minimum height are reduced. Values are rounded up to the nearest integer. Example: If you have configured horizontal binning by 3, the effective minimum width is 64 / 3 = 21.333 ≈ 22.

  2. 10-bit pixel formats / other pixel formats

Sample Code#

ace Classic/U/L GigE Cameras#
// Set the width to the maximum value
int64_t maxWidth = camera.Width.GetMax();
camera.Width.SetValue(maxWidth);
// Set the height to 500
camera.Height.SetValue(500);
// Set the offset to 0,0
camera.OffsetX.SetValue(0);
camera.OffsetY.SetValue(0);
INodeMap& nodemap = camera.GetNodeMap();
// Set the width to the maximum value
int64_t maxWidth = CIntegerParameter(nodemap, "Width").GetMax();
CIntegerParameter(nodemap, "Width").SetValue(maxWidth);
// Set the height to 500
CIntegerParameter(nodemap, "Height").SetValue(500);
// Set the offset to 0,0
CIntegerParameter(nodemap, "OffsetX").SetValue(0);
CIntegerParameter(nodemap, "OffsetY").SetValue(0);
// Set the width to the maximum value
Int64 maxWidth = camera.Parameters[PLCamera.Width].GetMaximum();
camera.Parameters[PLCamera.Width].SetValue(maxWidth);
// Set the height to 500
camera.Parameters[PLCamera.Height].SetValue(500);
// Set the offset to 0,0
camera.Parameters[PLCamera.OffsetX].SetValue(0);
camera.Parameters[PLCamera.OffsetY].SetValue(0);
/* 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 */
int64_t maxWidth = 0;
/* Set the width to the maximum value */
errRes = PylonDeviceGetIntegerFeatureMax(hdev, "Width", &maxWidth);
CHECK(errRes);
errRes = PylonDeviceSetIntegerFeature(hdev, "Width", maxWidth);
CHECK(errRes);
/* Set the height to 500 */
errRes = PylonDeviceSetIntegerFeature(hdev, "Height", 500);
CHECK(errRes);
/* Set the offset to 0,0 */
errRes = PylonDeviceSetIntegerFeature(hdev, "OffsetX", 0);
CHECK(errRes);
errRes = PylonDeviceSetIntegerFeature(hdev, "OffsetY", 0);
CHECK(errRes);
# Set the width to the maximum value
maxWidth = camera.Width.Max
camera.Width.Value = maxWidth
# Set the height to 500
camera.Height.Value = 500
# Set the offset to 0,0
camera.OffsetX.Value = 0
camera.OffsetY.Value = 0
Other Cameras#
// Set the width to the maximum value
int64_t maxWidth = camera.WidthMax.GetValue();
camera.Width.SetValue(maxWidth);
// Set the height to 500
camera.Height.SetValue(500);
// Set the offset to 0
camera.OffsetX.SetValue(0);
camera.OffsetY.SetValue(0);
INodeMap& nodemap = camera.GetNodeMap();
// Set the width to the maximum value
int64_t maxWidth = CIntegerParameter(nodemap, "WidthMax").GetValue();
CIntegerParameter(nodemap, "Width").SetValue(maxWidth);
// Set the height to 500
CIntegerParameter(nodemap, "Height").SetValue(500);
// Set the offset to 0
CIntegerParameter(nodemap, "OffsetX").SetValue(0);
CIntegerParameter(nodemap, "OffsetY").SetValue(0);
// Set the width to the maximum value
Int64 maxWidth = camera.Parameters[PLCamera.WidthMax].GetValue();
camera.Parameters[PLCamera.Width].SetValue(maxWidth);
// Set the height to 500
camera.Parameters[PLCamera.Height].SetValue(500);
// Set the offset to 0
camera.Parameters[PLCamera.OffsetX].SetValue(0);
camera.Parameters[PLCamera.OffsetY].SetValue(0);
/* 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 */
int64_t maxWidth = 0;
/* Set the width to the maximum value */
errRes = PylonDeviceGetIntegerFeature(hdev, "WidthMax", &maxWidth);
CHECK(errRes);
errRes = PylonDeviceSetIntegerFeature(hdev, "Width", maxWidth);
CHECK(errRes);
/* Set the height to 500 */
errRes = PylonDeviceSetIntegerFeature(hdev, "Height", 500);
CHECK(errRes);
/* Set the offset to 0 */
errRes = PylonDeviceSetIntegerFeature(hdev, "OffsetX", 0);
CHECK(errRes);
errRes = PylonDeviceSetIntegerFeature(hdev, "OffsetY", 0);
CHECK(errRes);
# Set the width to the maximum value
maxWidth = camera.WidthMax.Value
camera.Width.Value = maxWidth
# Set the height to 500
camera.Height.Value = 500
# Set the offset to 0
camera.OffsetX.Value = 0
camera.OffsetY.Value = 0

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