PVCAM  3.9.x
Programmable Virtual Camera Access Method library
Binning Factors Discovery

Both parallel and serial binning factors entered during acquisition setup as a part of region have to be positive 16-bit numbers and the factors must not be greater than the sensor resolution in either direction. Cameras only support a subset of possible values. Symmetrical binning factors that are power of two (1, 2, 4, 8, ...) are usually supported, but previously applications had no way of checking for other allowed values.

To enable this discovery, two new read-only parameters were introduced: PARAM_BINNING_SER and PARAM_BINNING_PAR. These parameters are camera-dependent, thus it is essential to ensure that the ATTR_AVAIL returns TRUE before assuming that the parameters are implemented.

These parameters are intended to be used in a pair as they provide a list of all the supported binning permutations. ATTR_COUNT reports the same number of permutations for both parameters. Each parameter can and likely will contain duplicate values, but serial-parallel pairs are all unique. Also, both parameters return the same string for each value.

Parameters are available if camera supports extended binning capability and does not support arbitrary binning. In all other cases, user is free to enter any binning theoretically up to sensor resolution. Please note that not all cameras might support all permutations of serial and parallel binning factors. A camera may only support symmetrical binning, e.g. 1x1, 2x2, 4x4.

Note
Keep in mind that older cameras do not report supported binning even though they might support only a limited subset of binning factors and that behavior for unsupported binning is not defined. On cameras where binning discovery is supported, only the reported binning is available.

Example:
Values and strings provided for binning factors 1x1, 1x2, 1x4, 1x8, 2x1, 2x2, 2x4, 3x3 and 4x4.

Attribute PARAM_BINNING_SER PARAM_BINNING_PAR
ATTR_MIN 1 1
ATTR_MAX 4 8
ATTR_COUNT 9 9

Complete list of values, note the duplicates, order matters:

Index 0 1 2 3 4 5 6 7 8
PARAM_BINNING_SER 1 1 1 1 2 2 2 3 4
PARAM_BINNING_PAR 1 2 4 8 1 2 4 3 4
Common string "1x1""1x2""1x4""1x8""2x1""2x2""2x4""3x3""4x4"
Note
Please, see the Extended Binning Factors code sample to obtain more information on Binning Factors.