Image ROI#
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:
- Make sure the camera is idle, i.e., not capturing images.
- If you are using an ace Classic/U/L camera, set the
CenterX
andCenterY
parameters tofalse
. -
Use the following parameters to specify the size of the image ROI:
Width
Height
-
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
= 16Height
= 10OffsetX
= 2OffsetY
= 6
This creates the following image ROI:
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 racer 2 cameras, the
OffsetY
parameter is not available. - On boA5120-230cc, boA5120-230cm cameras, the
OffsetY
parameter is not available. The position of the image ROI is always centered in vertical direction. - 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, theOffsetY
parameter value automatically adapts and the image ROI is centered vertically.
Both theOffsetX
andOffsetY
parameters are read-only.
Guidelines#
When you are specifying an image ROI, follow these guidelines:
Guideline | Example |
---|---|
OffsetX + Width ≤ WidthMax | Camera with a 1920 x 1080 pixel sensor:OffsetX + Width ≤ 1920 |
OffsetY + Height ≤ HeightMax | 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#
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 |
a2A2048-35gmSWIR | 4 | 1 |
a2A2048-110umSWIR | 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 |
a2A2448-120cc | 48 | 2 |
a2A2448-120cm | 48 | 2 |
a2A2448-210cc | 48 | 2 |
a2A2448-210cm | 48 | 2 |
a2A2560-20gmSWIR | 4 | 1 |
a2A2560-70umSWIR | 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-14gmUV | 4 | 1 |
a2A2840-48ucBAS | 4 | 2 |
a2A2840-48ucPRO | 4 | 2 |
a2A2840-48umBAS | 4 | 1 |
a2A2840-48umPRO | 4 | 1 |
a2A2840-48umUV | 4 | 1 |
a2A2840-67g5cBAS | 4 | 2 |
a2A2840-67g5mBAS | 4 | 1 |
a2A2840-67g5mUV | 4 | 1 |
a2A2840-86cc | 48 | 2 |
a2A2840-86cm | 48 | 2 |
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 |
a2A4096-67cc | 48 | 2 |
a2A4096-67cm | 48 | 2 |
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 |
a2A4504-42cc | 48 | 2 |
a2A4504-42cm | 48 | 2 |
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 |
a2A5320-52cc | 48 | 2 |
a2A5320-52cm | 48 | 2 |
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 |
a2A5328-35cc | 48 | 2 |
a2A5328-35cm | 48 | 2 |
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 |
dmA720-290gc | 4 | 2 |
dmA720-290gm | 4 | 1 |
dmA1440-73gc | 4 | 2 |
dmA1440-73gm | 4 | 1 |
dmA1920-51gc | 4 | 2 |
dmA1920-51gm | 4 | 1 |
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 |
r2L2048-29gc | 4 | 1 |
r2L2048-58gm | 4 | 1 |
r2L2048-62cc | 48 | 1 |
r2L2048-62g5c | 4 | 1 |
r2L2048-172cm | 48 | 1 |
r2L2048-172g5m | 4 | 1 |
r2L4096-14gc | 4 | 1 |
r2L4096-29gm | 4 | 1 |
r2L4096-42cc | 48 | 1 |
r2L4096-42g5c | 4 | 1 |
r2L4096-84cm | 48 | 1 |
r2L4096-84g5m | 4 | 1 |
r2L8192-200cm | 64 | 1 |
r2L16384-120cm | 64 | 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.
-
10-bit pixel formats / other pixel formats
Sample Code#
ace Classic/U/L GigE Cameras#
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);
Other Cameras#
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);
You can also use the pylon Viewer to easily set the parameters.