xiApiPython Manual¶
Table of Contents¶
- xiApiPython Manual
- Table of Contents
- Xi_error class
- Image class
- Camera class
- open_device()
- open_device_by(open_type, val)
- open_device_by_SN(serial_number)
- open_device_by_path(path)
- close_device()
- get_number_devices()
- start_acquisition()
- stop_acquisition()
- get_image(image, timeout=5000)
- get_device_info_string(param)
- set_param(param, val)
- get_param(param, buffer_size=256)
-
Basic Parameters
- Exposure time
- Exposure time selector
- Exposure burst count
- Gain selector
- Gain
- Downsampling
- Downsampling type
- Test Pattern Generator Selector
- Test Pattern Type
- Data format
- Image Data Sign
- Shutter type
- Number of active sensor taps. Available only on multi-tap cameras.
- AEAG
- AEAG ROI Offset X
- AEAG ROI Offset Y
- AEAG Roi width
- AEAG Roi height
- Sensor defects correction list selector
- Sensor Defects Correction List Content
- Sensor defects correction
- Auto white balance
- Manual white balance
- WB ROI Offset X
- WB ROI Offset Y
- WB ROI Offset X
- WB ROI height
- White balance red
- White balance green
- White balance blue
- Image width
- Image height
- ROI OffsetX
- ROI OffsetY
- Region Selector
- Region Mode
- Horizontal flip enable/disable
- Vertical flip enable/disable
- Interline Exposure Mode
- Image flat field correction
- FFC Flat Field File name
- FFC Dark Field File name
- ToF Readout Mode
- ToF Modulation Frequency
- is multiple ToF phases concatenated in buffer
- ToF Phases Count
- ToF Phase Angle
- ToF Phase Exposure Time
- ToF Phase Selector
-
Image Format Parameters
- Binning Selector
- Binning Vertical Mode
- Binning Vertical
- Binning Vertical Float
- Binning Horizontal Mode
- Binning Horizontal
- Binning Horizontal Float
- Binning Horizontal Pattern
- Binning Vertical Pattern
- Decimation Selector
- Decimation Vertical
- Decimation Horizontal
- Decimation Horizontal Pattern
- Decimation Vertical Pattern
- AE Setup Parameters
- Performance Parameters
-
Temperature Parameters
- Is cooled
- Temperature control mode
- Target cooling temperature
- Temperature selector
- Temperature
- Temperature control mode
- Sensor temperature
- Housing temperature
- Housing back side temperature
- Sensor board temperature
- Temperature element selector
- Temperature element value in percents of full control range
-
Color Correction Parameters
- Color management mode
- Color management intent
- Color management apply
- Color management input profile
- Color management output profile
- SensorColor
- Sensor color filter array
- Luminosity gamma
- Chromaticity gamma
- Sharpness
- Color correction matrix 00
- Default color correction matrix
- Normalize color correction matrix
- Device IO Parameters
- GPIO Setup Parameters
- Debounce Setup Parameters
- Lens Control Parameters
- Device Info Parameters
-
Device Acquisition Settings Parameters
- RGB32 alpha
- Image payload size
- Transport pixel format
- Transport data target
- Sensor clock frequency
- Sensor clock frequency index
- Sensor output channel count
- Frame rate
- Counter selector
- Counter value
- Acquisition timing mode
- Available bandwidth
- Buffer policy
- Enable LUT
- LUT Index
- LUT value
- Trigger delay
- Timestamp reset mode
- Timestamp reset source
-
Extended Device Parameters
- Device exists
- Acq. buffer size
- Acq. buffer size unit
- Acq. transport buffer size bytes
- Acq. transport packet size bytes
- Acq. queue image count
- Total number of buffers to be committed to transport
- Retrieve recent image
- Device reset
- Enable/disable the Concatenated Images in One Buffer feature
- Number of Concatenated Images in One Buffer
- Offset between images data in transport buffer when feature Concatenated Images in One Buffer is enabled
- Probe Selector
- Probe Value
- Sensor Defects Correction Parameters
- Sensor Features Parameters
- Version Info Parameters
- API Features Parameters
- Camera FFS Parameters
- APIContextControl Parameters
- Sensor Control Parameters
- Extended Features Parameters
- User Set Control Parameters
Xi_error class¶
Camera error specified by the return codes below.
Error return values¶
Value | Description |
0 | Function call succeeded |
1 | Invalid handle |
2 | Register read error |
3 | Register write error |
4 | Freeing resources error |
5 | Freeing channel error |
6 | Freeing bandwith error |
7 | Read block error |
8 | Write block error |
9 | No image |
10 | Timeout |
11 | Invalid arguments supplied |
12 | Not supported |
13 | Attach buffers error |
14 | Overlapped result |
15 | Memory allocation error |
16 | DLL context is NULL |
17 | DLL context is non zero |
18 | DLL context exists |
19 | Too many devices connected |
20 | Camera context error |
21 | Unknown hardware |
22 | Invalid TM file |
23 | Invalid TM tag |
24 | Incomplete TM |
25 | Bus reset error |
26 | Not implemented |
27 | Shading is too bright |
28 | Shading is too dark |
29 | Gain is too low |
30 | Invalid sensor defect correction list |
31 | Error while sensor defect correction list reallocation |
32 | Invalid pixel list |
33 | Invalid Flash File System |
34 | Invalid profile |
35 | Invalid calibration |
36 | Invalid buffer |
38 | Invalid data |
39 | Timing generator is busy |
40 | Wrong operation open/write/read/close |
41 | Acquisition already started |
42 | Old version of device driver installed to the system. |
43 | To get error code please call GetLastError function. |
44 | Data cannot be processed |
45 | Acquisition is stopped. It needs to be started to perform operation. |
46 | Acquisition has been stopped with an error. |
47 | Input ICC profile missing or corrupted |
48 | Output ICC profile missing or corrupted |
49 | Device not ready to operate |
50 | Shading is too contrast |
51 | Module already initialized |
52 | Application does not have enough privileges (one or more app) |
53 | Installed driver is not compatible with current software |
54 | TM file was not loaded successfully from resources |
55 | Device has been reset, abnormal initial state |
56 | No Devices Found |
57 | Resource (device) or function locked by mutex |
58 | Buffer provided by user is too small |
59 | Could not initialize processor. |
60 | The object/module/procedure/process being referred to has not been started. |
61 | Resource not found(could be processor, file, item...). |
0 | Function call succeeded |
100 | Unknown parameter |
101 | Wrong parameter value |
103 | Wrong parameter type |
104 | Wrong parameter size |
105 | Input buffer is too small |
106 | Parameter is not supported |
107 | Parameter info not supported |
108 | Data format is not supported |
109 | Read only parameter |
111 | This camera does not support currently available bandwidth |
112 | FFS file selector is invalid or NULL |
113 | FFS file not found |
114 | Parameter value cannot be set (might be out of range or invalid). |
115 | Safe buffer policy is not supported. E.g. when transport target is set to GPU (GPUDirect). |
116 | GPUDirect is not available. E.g. platform isn't supported or CUDA toolkit isn't installed. |
117 | Incorrect sensor board unique identifier checksum. |
118 | Incorrect or unknown FPGA firmware type used for camera. |
119 | Parameter is not available in current context. Available only if another feature is turned on. |
120 | Frame buffer RAM initialization error. |
201 | Processing error - other |
202 | Error while image processing. |
203 | Input format is not supported for processing. |
204 | Output format is not supported for processing. |
205 | Parameter value is out of range |
0 | Result OK |
1001 | Invalid argument detected (out of range) |
1002 | Implementation is not yet done |
1003 | This value is not supported |
1004 | Using of unknown parameter |
1005 | Input buffer is not allocated |
1006 | Output buffer is not allocated |
1007 | Output buffer allocation error |
1008 | There are no processors in chain |
1009 | Some requirement is not met |
1010 | Processors chain is full |
1011 | Processor is not initialized yet |
1012 | Processor generates error |
1013 | Unknown data format |
1014 | Unknown color filter array pattern type |
1020 | Couldn't load library |
1021 | Couldn't load function |
1022 | Couldn't open process |
1023 | Couldn't open process |
1024 | Unsupported input format |
1025 | Unsupported output format |
1026 | Image intensity is our of range |
1027 | Timeout waiting for event |
1028 | Processor execution disabled |
1029 | Defect already in list |
1030 | Couldn't open input file |
1031 | Couldn't allocate memory |
1032 | Couldn't read |
1033 | Couldn't write |
1034 | Operation is read only |
1035 | Input data not compatible with current FFC processor settings |
1036 | Image can't be processed due to image width alignment is not supported by Image Processor. |
Image class¶
Camera image class. It inherits from ctypes.Structure XI_IMG.
Usage:
from ximea import xiapi
img = xiapi.Image()
Corresponding structure XI_IMG
Name | Description | Type |
size | Size of current structure on application side. When xiGetImage is called and size>=SIZE_XI_IMG_V2 then GPI_level, tsSec and tsUSec are filled. | DWORD |
bp | Pointer to data. (see Note1) | LPVOID |
bp_size | Filled buffer size. (see Note2) | DWORD |
frm | Format of image data get from GetImage. | XI_IMG_FORMAT |
width | width of incoming image. | DWORD |
height | height of incoming image. | DWORD |
nframe | Frame number. On some cameras it is reset by exposure, gain, downsampling change, auto exposure (AEAG). | DWORD |
tsSec | Seconds part of image timestamp (see Note3). | DWORD |
tsUSec | Micro-seconds part image timestamp (see Note3). Range 0-999999 us. | DWORD |
GPI_level | Levels of digital inputs/outputs of the camera at time of exposure start/end (sample time and bits are specific for each camera model) | DWORD |
black_level | Black level of image (ONLY for MONO and RAW formats). (see Note4) | DWORD |
padding_x | Number of extra bytes provided at the end of each line to facilitate image alignment in buffers. | DWORD |
AbsoluteOffsetX | Horizontal offset of origin of sensor and buffer image first pixel. | DWORD |
AbsoluteOffsetY | Vertical offset of origin of sensor and buffer image first pixel. | DWORD |
transport_frm | Current format of pixels on transport layer. | DWORD |
img_desc | description of image areas and format. | XI_IMG_DESC |
DownsamplingX | Horizontal downsampling | DWORD |
DownsamplingY | Vertical downsampling | DWORD |
flags | description of XI_IMG. | DWORD |
exposure_time_us | Exposure time of this image in microseconds. (see Note5) | DWORD |
gain_db | Gain used for this image in deci-bells. (see Note6) | float |
acq_nframe | Frame number. Reset only by acquisition start. NOT reset by change of exposure, gain, downsampling, auto exposure (AEAG). | DWORD |
image_user_data | (see Note7) | DWORD |
exposure_sub_times_us[5] | (see Note8) | DWORD |
data_saturation | Pixel value of saturation | double |
wb_red | Red coefficient of white balance | float |
wb_green | Green coefficient of white balance | float |
wb_blue | Blue coefficient of white balance | float |
lg_black_level | In case of multi gain channel readout, the black level low gain channel | DWORD |
hg_black_level | In case of multi gain channel readout, the black level high gain channel | DWORD |
lg_range | In case of multi gain channel readout, the valid range of low gain channel | DWORD |
hg_range | In case of multi gain channel readout, the valid range of high gain channel | DWORD |
gain_ratio | Gain ratio for dual-channel modes (high_gain_channel/low_gain_channel). Unitless. | float |
fDownsamplingX | Horizontal downsampling | float |
fDownsamplingY | Vertical downsampling | float |
color_filter_array | Mosaic of tiny color filters placed over the pixel sensors of an image sensor. | XI_COLOR_FILTER_ARRAY |
tof_phases_count | Number of phases of ToF sensor. E.g. 4 for four phases. | DWORD |
tof_phase_id | Current phase ID of ToF sensor data starting from 1 | DWORD |
tof_multiple_phases_in_buffer | Is multiple phases in buffer (bp) | DWORD |
data_sign_mode | Sign mode or signedness is a property of data. | XI_DATA_SM |
sequence_type | Type of image sequence (e.g. seq_disabled, seq_multiple_exposures) | XI_IMAGE_SEQUENCE_TYPE |
sequence_image_id | Current image in sequence. Starting from 1. Zero if sequence is disabled. | DWORD |
sequence_length | Count of images in sequence. Zero for sequence disabled. | DWORD |
Note1: If the buffer policy is set to XI_BP_UNSAFE, the bp is set to the buffer allocated by API. If set to XI_BP_SAFE, the data is copied to bp, which should be allocated by the application.
Note2: If the buffer policy is set to XI_BP_SAFE, xiGetImage fills this field with the current size of the received image data.
Note3: Depending on the camera family, the TimeStamp is represented as a counter:
- xiQ, xiD: 40-bit microsecond number - (overlaps after 305 hours)
- xiC, xiB, xiT, xiX: 64-bit 4 nanosecond number (overlaps after 2339 years)
This counter is converted to image header fields tsSec and tsUSec.
TimeStamp on xiQ, xiD is recorded at the start of Data Readout.
TimeStamp on xiC, xiB, xiX, xiT is recorded at the start of Exposure.
TimeStamp is NOT implemented on some cameras (e.g. xiMU - MU9), in which case the image header contains only a constant number instead of a valid TimeStamp.
Note4: xiQ cameras report calculated black_level. We do not guarantee the accuracy of black_level calculation when exposure time exceeds 50ms and/or gain is above 3dB.
Note5: Some camera models (MQ, MU) might report this exposure time earlier before exposure is applied to image. Cameras with IMX sensors (MC, MX, MT) report value measured by the FPGA - this value is systemically lower than the value returned by xiGetParam with exposure parameter; difference is typically below 20 us.
Note6: Valid only for MQ, MD, and MR camera families with the following conditions:
- If a gain parameter is changed while the sensor is idle (not exposing nor reading out) the gain is valid for the next image.
- If a gain parameter is changed while the sensor is busy (exposing or reading out) and the 'direct_update' modifier is not used, the gain is valid for the next image.
- If a gain parameter is changed while the sensor is busy (exposing or reading out) and the 'direct_update' modifier is used, the gain value in the header might be incorrect after the change for the next 1-2 images. This is caused by the asynchronous setting of sensor registers and the frame acquisition process.
Note7: Available only on PCIe cameras (CB,MX). ImageUserData is controlled by a user application using ImageUserData or image_user_data parameter.
Note8: Array with five substitute exposure times in microseconds used by XI_TRG_SEL_MULTIPLE_EXPOSURES or hardware controlled HDR.
get_image_data_raw()¶
Description: Return data (of types bytes) from memory specified by Image.bp.
Note: Call this function before closing the camera. After the camera is closed, the memory is deallocated, and it is impossible to retrieve the data.
Usage:
cam.get_image(img)
raw_data = img.get_image_data_raw()
get_image_data_numpy(invert_rgb_order=False)¶
Description: Return the data as a NumPy.Array with dimension Image.height x Image.width (in case imgdataformat is XI_MONO8, XI_MONO16, XI_RAW8 or XI_RAW16), Image.height x Image.width x 3 (in case imgdataformat is XI_RGB24) or Image.height x Image.width x 4 (in case imgdataformat is XI_RGB24)
Parameters:
invert_rgb_order (bool): determines the order of bytes in case of
RGB and RGBA settings (if the order is R-G-B or B-G-R)
Note: Call this function before closing the camera. After the camera is closed, the memory is deallocated, and it is impossible to retrieve the data.
Usage:
cam.get_image(img)
np_data = img.get_image_data_numpy()
get_bytes_per_pixel()¶
Description: Return number (int) of data image bytes per single pixel.
Usage:
bytes_per_pixel = img.get_bytes_per_pixel()
Camera class¶
Camera class. It wraps xiApi C library and provides its functionality.
Usage:
from ximea import xiapi
cam = xiapi.Camera()
open_device()¶
Description: Connect the camera specified by dev_id from the constructor.
Usage:
cam.open_device()
open_device_by(open_type, val)¶
Description: Connect the camera specified by the dccopen_type (string), see keys in dictionary XI_OPEN_BY.
Parameters:
open_type (string): key to the XI_OPEN_BY dictionary
val:
Usage:
cam.open_device_by("XI_OPEN_BY_USER_ID", user_id)
Corresponding dictionary XI_OPEN_BY
Name | Description |
XI_OPEN_BY_INST_PATH | Open camera by its hardware path |
XI_OPEN_BY_SN | Open camera by its serial number |
XI_OPEN_BY_USER_ID | open camera by its custom user ID |
XI_OPEN_BY_LOC_PATH | Open camera by its hardware location path |
Note1: When the value of the parameter XI_PRM_DEVICE_USER_IDis changed and we want to open the camera with function open_device_by() with the value XI_PRM_DEVICE_USER_ID, it is necessary to do a power cycle on this camera beforehand. This affects only cameras with USB data interface.
Note2: First call of this function enumerates all connected cameras. When the number of cameras is changing during the execution of a program, we recommend you to call get_number_devices function each time you call additional open_device_by().
open_device_by_SN(serial_number)¶
Description: Connect the camera specified by its serial number.
Parameters:
serial_number (string): serial number of the camera to connect
Usage:
cam.open_device_by_SN(serial_number)
open_device_by_path(path)¶
Description: Connect the camera specified by its path.
Parameters:
path (string):
Usage:
cam.open_device_by_path(path)
close_device()¶
Description: Close the connection to the camera.
Usage:
cam.close_device()
get_number_devices()¶
Description: Get the number of cameras.
Return: The number of cameras
Note: This function must be called before connection is established.
Usage:
number_of_devices = cam.get_number_devices()
start_acquisition()¶
Description: Start feeding data to the PC memory. Data can be retrieved with function get_image().
Usage:
cam.start_acquisition()
stop_acquisition()¶
Description: Stop the data acquisition.
Usage:
cam.stop_acquisition()
get_image(image, timeout=5000)¶
Description: Pass data from memory to Image instance image.
Parameters:
image: instance of Image the data will be passed to
timeout: timeout specified in milliseconds
Note: Call this function before closing the camera. After the camera is closed, the memory is deallocated and it is impossible to retrieve the data.
Usage:
from ximea import xiapi
cam = xiapi.Camera()
cam.open_device()
cam.start_acquisition()
img = xiapi.Image()
cam.get_image(img)
get_device_info_string(param)¶
Description: Return string with info specified by param. It is possible to call this function before establishing connection with the camera.
Parameters:
param (string): can be one of the following
"device_sn"
"device_name"
"device_inst_path"
"device_loc_path"
"device_type"
Usage:
device_info = cam.get_device_info_string('device_type')
set_param(param, val)¶
Description: Set value (data type depends on parameter) to a parameter
Parameters:
param (string): name of parameter (see parameters in xidefs.py)
val (type depends on specific parameter): value to set
Note: Consider using function for specific parameter, e.g. if you want to set exposure, instead of using set_param('exposure', 10000), use set_exposure(10000).
Usage:
cam.set_param('exposure', 10000)
get_param(param, buffer_size=256)¶
Description: Get value (data type depends on parameter) of a parameter.
Return: The retrieved value of the parameter specified by param
Parameters:
param (string): name of parameter (see parameters in xidefs.py)
buffer_size (int): determines the maximum size of output
Note: Consider using function for specific parameter, e.g. if you want to get exposure, instead of using get_param('exposure'), use get_exposure().
Usage:
downsampling = cam.get_param('downsampling')
Basic Parameters
Exposure time¶
Description: Current exposure time in microseconds. When parameter is set by xiSetParam the API checks the range. If it is within the range, it tries to find the closest settable value and set it. The actual value can be read by xiGetParam. E.g. Application set exposure time to 1000us, however closest possible value is 1029us (it is typically based on sensor line read-out period). This value is accessible over xiGetParam.
Identifiers: SENSOR
Type: float
Usage:
exposure = cam.get_exposure()
exposure_min = cam.get_exposure_minimum()
exposure_max = cam.get_exposure_maximum()
exposure_inc = cam.get_exposure_increment()
cam.set_exposure(exposure)
cam.set_exposure_direct(exposure)
Exposure time selector¶
Description: Selects which exposure time is controlled by the Exposure (Time) parameter. This allows for independent control over the exposure components.
Type: dict
Usage:
exposure_time_selector = cam.get_exposure_time_selector()
exposure_time_selector_min = cam.get_exposure_time_selector_minimum()
exposure_time_selector_max = cam.get_exposure_time_selector_maximum()
exposure_time_selector_inc = cam.get_exposure_time_selector_increment()
cam.set_exposure_time_selector(exposure_time_selector)
Corresponding dictionary XI_EXPOSURE_TIME_SELECTOR_TYPE:
Name | Description |
XI_EXPOSURE_TIME_SELECTOR_COMMON | Selects the common Exposure Time |
XI_EXPOSURE_TIME_SELECTOR_GROUP1 | Selects the common Exposure Time for pixel group 1 (for InterlineExposureMode) |
XI_EXPOSURE_TIME_SELECTOR_GROUP2 | Selects the common Exposure Time for pixel group 2 (for InterlineExposureMode) |
XI_EXPOSURE_TIME_SELECTOR_DUAL_TRG_EXP_ZONE_1 | Selects the Exposure Time for Zone 1 (for Dual Trigger Exposure feature) |
XI_EXPOSURE_TIME_SELECTOR_DUAL_TRG_EXP_ZONE_2 | Selects the Exposure Time for Zone 2 (for Dual Trigger Exposure feature) |
Exposure burst count¶
Description: Sets the number of times of exposure in one frame. To finish exposure burst change this parameter to 1 and exposure will be finished by next trigger. See more details in article Multiple exposures in one frame.
Note: This setting is valid only if the trigger selector is set to ExposureActive or ExposureStart.
Supported cameras: MC031xG-SY, MC050xG-SY, MC089xG-SY, MC124xG-SY, MX031xG-SY, MX050xG-SY, MX089xG-SY, MX124xG-SY, MT031xG-SY, MT050xG-SY
Type: int
Usage:
exposure_burst_count = cam.get_exposure_burst_count()
exposure_burst_count_min = cam.get_exposure_burst_count_minimum()
exposure_burst_count_max = cam.get_exposure_burst_count_maximum()
exposure_burst_count_inc = cam.get_exposure_burst_count_increment()
cam.set_exposure_burst_count(exposure_burst_count)
Gain selector¶
Description: Selects type of gain for gain . On some cameras there is possibility to select analog or digital gain separately.
Selector XI_GAIN_SELECTOR_ALL is mapped on most cameras to analog gain.
Type: dict
Usage:
gain_selector = cam.get_gain_selector()
gain_selector_min = cam.get_gain_selector_minimum()
gain_selector_max = cam.get_gain_selector_maximum()
gain_selector_inc = cam.get_gain_selector_increment()
cam.set_gain_selector(gain_selector)
Corresponding dictionary XI_GAIN_SELECTOR_TYPE:
Name | Description |
XI_GAIN_SELECTOR_ALL | Gain selector selects all channels. Implementation of gain type depends on camera. |
XI_GAIN_SELECTOR_ANALOG_ALL | Gain selector selects all analog channels. This is available only on some cameras. |
XI_GAIN_SELECTOR_DIGITAL_ALL | Gain selector selects all digital channels. This is available only on some cameras. |
XI_GAIN_SELECTOR_ANALOG_TAP1 | Gain selector selects tap 1. This is available only on some cameras. |
XI_GAIN_SELECTOR_ANALOG_TAP2 | Gain selector selects tap 2. This is available only on some cameras. |
XI_GAIN_SELECTOR_ANALOG_TAP3 | Gain selector selects tap 3. This is available only on some cameras. |
XI_GAIN_SELECTOR_ANALOG_TAP4 | Gain selector selects tap 4. This is available only on some cameras. |
XI_GAIN_SELECTOR_ANALOG_N | First of two channels of programmable gain control (PGC) function - Gain setting of R, B pixels (North column analog gain). This is available only on some cameras. |
XI_GAIN_SELECTOR_ANALOG_S | Second of two channels of programmable gain control (PGC) function - Gain setting of Gr, Gb pixels (South column analog gain). This is available only on some cameras. |
Gain¶
Description: Current gain in dB. When parameter is set by xiSetParam the API checks the range. If it is within the range, it tries to find the closest settable value and set it. The actual value can be read by xiGetParam. E.g. Application set gain to 1.3dB, however closest possible value is 1.35dB (analog gain is typically based on sensor PGA registers capabilities). This value is accessible over xiGetParam.
Type: float
Usage:
gain = cam.get_gain()
gain_min = cam.get_gain_minimum()
gain_max = cam.get_gain_maximum()
gain_inc = cam.get_gain_increment()
cam.set_gain(gain)
cam.set_gain_direct(gain)
Downsampling¶
Description: Changes image resolution by binning or skipping. Parameter downsampling_type controls the mapping of sensor pixels to output data.
Note1: Downsampling can be changed only before an acquisition is started.
Note2: Changing this parameter will flush all images from the buffer queue.
Type: dict
Usage:
downsampling = cam.get_downsampling()
downsampling_min = cam.get_downsampling_minimum()
downsampling_max = cam.get_downsampling_maximum()
downsampling_inc = cam.get_downsampling_increment()
cam.set_downsampling(downsampling)
Corresponding dictionary XI_DOWNSAMPLING_VALUE:
Name | Description |
XI_DWN_1x1 | 1 sensor pixel = 1 image pixel |
XI_DWN_2x2 | 2x2 sensor pixels = 1 image pixel |
XI_DWN_3x3 | Downsampling 3x3. |
XI_DWN_4x4 | 4x4 sensor pixels = 1 image pixel |
XI_DWN_5x5 | Downsampling 5x5. |
XI_DWN_6x6 | Downsampling 6x6. |
XI_DWN_7x7 | Downsampling 7x7. |
XI_DWN_8x8 | Downsampling 8x8. |
XI_DWN_9x9 | Downsampling 9x9. |
XI_DWN_10x10 | Downsampling 10x10. |
XI_DWN_16x16 | Downsampling 16x16. |
Downsampling type¶
Description: Changes image downsampling type (binning or skipping).
Note1: Changing this parameter will remove all images from the buffer queue.
Note2: Changing this parameter will remove all images from the buffer queue.
Type: dict
Usage:
downsampling_type = cam.get_downsampling_type()
downsampling_type_min = cam.get_downsampling_type_minimum()
downsampling_type_max = cam.get_downsampling_type_maximum()
downsampling_type_inc = cam.get_downsampling_type_increment()
cam.set_downsampling_type(downsampling_type)
Corresponding dictionary XI_DOWNSAMPLING_TYPE:
Name | Description |
XI_BINNING | pixels are interpolated - better image |
XI_SKIPPING | pixels are skipped - higher frame rate |
Test Pattern Generator Selector¶
Description: Selects Test Pattern Generator Engine.
Type: dict
Usage:
test_pattern_generator_selector = cam.get_test_pattern_generator_selector()
test_pattern_generator_selector_min = cam.get_test_pattern_generator_selector_minimum()
test_pattern_generator_selector_max = cam.get_test_pattern_generator_selector_maximum()
test_pattern_generator_selector_inc = cam.get_test_pattern_generator_selector_increment()
cam.set_test_pattern_generator_selector(test_pattern_generator_selector)
Corresponding dictionary XI_TEST_PATTERN_GENERATOR:
Name | Description |
XI_TESTPAT_GEN_SENSOR | Sensor test pattern generator |
XI_TESTPAT_GEN_FPGA | FPGA Test Pattern Generator |
XI_TESTPAT_GEN_MCU | MCU Test Pattern Generator |
Test Pattern Type¶
Description: Selects Test Pattern Type to be generated by the selected Generator Engine.
Type: dict
Usage:
test_pattern = cam.get_test_pattern()
test_pattern_min = cam.get_test_pattern_minimum()
test_pattern_max = cam.get_test_pattern_maximum()
test_pattern_inc = cam.get_test_pattern_increment()
cam.set_test_pattern(test_pattern)
Corresponding dictionary XI_TEST_PATTERN:
Name | Description |
XI_TESTPAT_OFF | Testpattern turned off. |
XI_TESTPAT_BLACK | Image is filled with darkest possible image. |
XI_TESTPAT_WHITE | Image is filled with brightest possible image. |
XI_TESTPAT_GREY_HORIZ_RAMP | Image is filled horizontally with an image that goes from the darkest possible value to the brightest. |
XI_TESTPAT_GREY_VERT_RAMP | Image is filled vertically with an image that goes from the darkest possible value to the brightest. |
XI_TESTPAT_GREY_HORIZ_RAMP_MOVING | Image is filled horizontally with an image that goes from the darkest possible value to the brightest and moves from left to right. |
XI_TESTPAT_GREY_VERT_RAMP_MOVING | Image is filled vertically with an image that goes from the darkest possible value to the brightest and moves from left to right. |
XI_TESTPAT_HORIZ_LINE_MOVING | A moving horizontal line is superimposed on the live image. |
XI_TESTPAT_VERT_LINE_MOVING | A moving vertical line is superimposed on the live image. |
XI_TESTPAT_COLOR_BAR | Image is filled with stripes of color including White, Black, Red, Green, Blue, Cyan, Magenta and Yellow. |
XI_TESTPAT_FRAME_COUNTER | A frame counter is superimposed on the live image. |
XI_TESTPAT_DEVICE_SPEC_COUNTER | 128bit counter. |
Data format¶
Description: Format of image data returned by function xiGetImage. In order to simplify the control of the camera from application - the xiAPI automatically changes selected camera parameters and Image Processing after setting of imgdataformat
In enumerators table second value in comment bar stands for one pixel data in memory [one_byte].
Note: Following parameters and Image Processing are controlled automatically by setting of imgdataformat :
Format: XI_MONO8 Parameters controlled automatically:
- sensor_bit_depth = 8 (see Note1)
- output_bit_depth = 8 (see Note1)
- output_bit_packing = OFF
Image Processing: enabled
Format: XI_RAW8 Parameters controlled automatically:
- sensor_bit_depth = 8 (see Note1)
- output_bit_depth = 8 (see Note1)
- output_bit_packing = OFF
Image Processing: disabled
Format: XI_MONO16 (see Note2) Parameters controlled automatically:
- sensor_bit_depth = maximum
- output_bit_depth = SENSOR_DATA_BIT_DEPTH
- output_bit_packing = ON (see Note1)
Image Processing: enabled
Format: XI_RAW16 (see Note2) Parameters controlled automatically:
- sensor_bit_depth = maximum
- output_bit_depth = SENSOR_DATA_BIT_DEPTH
- output_bit_packing = ON (see Note1)
Format: XI_RGB32, XI_RGB24, XI_RGB_PLANAR Parameters controlled automatically:
- sensor_bit_depth = maximum
- output_bit_depth = SENSOR_DATA_BIT_DEPTH
- output_bit_packing = ON (see Note1)
Note1: Only if camera implementation allows this mode.
Note2: For XI_RAW16, XI_MONO16 the parameter image_data_bit_depth will be equal to output_bit_depth . For other formats the image_data_bit_depth will be 8.
After changing of imgdataformat the image resolution () might change. Please check or set image resolution after changing of Image Data Format.
Note3: Bits alignment: Values are aligned to LSB.
- sensor bits per pixel: 10 >>> values in mode XI_RAW16: 0-1023
- sensor bits per pixel: 12 >>> values in mode XI_RAW16: 0-4095
- sensor bits per pixel: 14 >>> values in mode XI_RAW16: 0-16383
Example: Camera produces 10 bits data and data format XI_RAW16bit is selected - each 16bit word (pixel) can contain values in range 0-1023.
Note4: For color modes XI_RGB32 and XI_RGB24 the image from sensor should be pre-processed. CPU load is higher in these modes. Setting this parameter will reset current region of interest. XI_RGB24 is being processed from the XI_RGB32 by removing the unused Alpha channel creating a slightly higher CPU load then the XI_RGB32 format.
Type: dict
Usage:
imgdataformat = cam.get_imgdataformat()
imgdataformat_min = cam.get_imgdataformat_minimum()
imgdataformat_max = cam.get_imgdataformat_maximum()
imgdataformat_inc = cam.get_imgdataformat_increment()
cam.set_imgdataformat(imgdataformat)
Corresponding dictionary XI_IMG_FORMAT:
Name | Description |
XI_MONO8 | 8 bits per pixel. [Intensity] (see Note5,Note6) |
XI_MONO16 | 16 bits per pixel. [Intensity LSB] [Intensity MSB] (see Note5,Note6) |
XI_RGB24 | RGB data format. [Blue][Green][Red] (see Note5) |
XI_RGB32 | RGBA data format. [Blue][Green][Red][0] (see Note5) |
XI_RGB_PLANAR | RGB planar data format. [Red][Red]...[Green][Green]...[Blue][Blue]... (see Note5) |
XI_RAW8 | 8 bits per pixel raw data from sensor. [pixel byte] raw data from transport (camera output) |
XI_RAW16 | 16 bits per pixel raw data from sensor. [pixel byte low] [pixel byte high] 16 bits (depacked) raw data |
XI_FRM_TRANSPORT_DATA | Data from transport layer (e.g. packed). Depends on data on the transport layer (see Note7) |
XI_RGB48 | RGB data format. [Blue low byte][Blue high byte][Green low][Green high][Red low][Red high] (see Note5) |
XI_RGB64 | RGBA data format. [Blue low byte][Blue high byte][Green low][Green high][Red low][Red high][0][0] (Note5) |
XI_RGB16_PLANAR | RGB16 planar data format |
XI_RAW8X2 | 8 bits per pixel raw data from sensor(2 components in a row). [ch1 pixel byte] [ch2 pixel byte] 8 bits raw data from 2 channels (e.g. high gain and low gain channels of sCMOS cameras) |
XI_RAW8X4 | 8 bits per pixel raw data from sensor(4 components in a row). [ch1 pixel byte [ch2 pixel byte] [ch3 pixel byte] [ch4 pixel byte] 8 bits raw data from 4 channels (e.g. sCMOS cameras) |
XI_RAW16X2 | 16 bits per pixel raw data from sensor(2 components in a row). [ch1 pixel byte low] [ch1 pixel byte high] [ch2 pixel byte low] [ch2 pixel byte high] 16 bits (depacked) raw data from 2 channels (e.g. high gain and low gain channels of sCMOS cameras) |
XI_RAW16X4 | 16 bits per pixel raw data from sensor(4 components in a row). [ch1 pixel byte low] [ch1 pixel byte high] [ch2 pixel byte low] [ch2 pixel byte high] [ch3 pixel byte low] [ch3 pixel byte high] [ch4 pixel byte low] [ch4 pixel byte high] 16 bits (depacked) raw data from 4 channels (e.g. sCMOS cameras) |
XI_RAW32 | 32 bits per pixel raw data from sensor in integer format (LSB first). 4 bytes (LSB first) pixel (depacked) raw data |
XI_RAW32FLOAT | 32 bits per pixel raw data from sensor in single-precision floating point format. 4 bytes per pixel (depacked) raw data |
XI_RAW8X3 | 8 bits per pixel raw data from sensor(3 components in a row). [ch1 pixel byte] [ch2 pixel byte] [ch3 pixel byte] raw data from 3 channels (e.g. ToF cameras) |
XI_RAW16X3 | 16 bits per pixel raw data from sensor(3 components in a row). [ch1 pixel byte low] [ch1 pixel byte high] [ch2 pixel byte low] [ch2 pixel byte high] [ch3 pixel byte low] [ch3 pixel byte high] 16 bits (depacked) raw data from 3 channels (e.g. ToF cameras) |
Note5: Higher CPU processing is required when this mode is selected because color filter array processing is implemented on PC. This processing is serialized when multiple cameras is used at once. The most effective way to get data from camera is to use XI_RAW8, where no additional processing is done in API.
Note6: On monochromatic cameras the black level is not subtracted in XI_MONO8 and XI_MONO16 formats by Image Processing in xiAPI, so black level remains the same as in RAW format.
Note7: When using Transport Data Format, the Image Processing block from XiAPI Image Data Flow is skipped and therefore the Transport format is the most effective data format in terms of CPU and RAM usage.
Image Data Sign¶
Description: Signedness of image data.
Type: dict
Usage:
image_data_sign = cam.get_image_data_sign()
image_data_sign_min = cam.get_image_data_sign_minimum()
image_data_sign_max = cam.get_image_data_sign_maximum()
image_data_sign_inc = cam.get_image_data_sign_increment()
Corresponding dictionary XI_DATA_SM:
Name | Description |
XI_DATA_SM_UNSIGNED | Unsigned if it can only represent non-negative numbers (zero or positive numbers). |
XI_DATA_SM_SIGNED_2C | Signed if it can represent both positive and negative numbers (two's complement). |
XI_DATA_SM_SIGNED_FLOATING | Signed floating point data type. |
Shutter type¶
Description: Type of sensor shutter.
Type: dict
Usage:
shutter_type = cam.get_shutter_type()
shutter_type_min = cam.get_shutter_type_minimum()
shutter_type_max = cam.get_shutter_type_maximum()
shutter_type_inc = cam.get_shutter_type_increment()
cam.set_shutter_type(shutter_type)
Corresponding dictionary XI_SHUTTER_TYPE:
Name | Description |
XI_SHUTTER_GLOBAL | Sensor Global Shutter(CMOS sensor) |
XI_SHUTTER_ROLLING | Sensor Electronic Rolling Shutter(CMOS sensor) |
XI_SHUTTER_GLOBAL_RESET_RELEASE | Sensor Global Reset Release Shutter(CMOS sensor) |
Number of active sensor taps. Available only on multi-tap cameras.¶
Description: Set/get the number of taps used on sensor.
Type: dict
Usage:
sensor_taps = cam.get_sensor_taps()
sensor_taps_min = cam.get_sensor_taps_minimum()
sensor_taps_max = cam.get_sensor_taps_maximum()
sensor_taps_inc = cam.get_sensor_taps_increment()
cam.set_sensor_taps(sensor_taps)
Corresponding dictionary XI_SENSOR_TAP_CNT:
Name | Description |
XI_TAP_CNT_1 | 1 sensor tap selected. |
XI_TAP_CNT_2 | 2 sensor taps selected. |
XI_TAP_CNT_4 | 4 sensor taps selected. |
AEAG¶
Description: Automatic exposure/gain.
Type: bool
Usage:
aeag = cam.is_aeag()
cam.enable_aeag()
cam.disable_aeag()
AEAG ROI Offset X¶
Description: X offset of the area used for AEAG calculation. The sum of aeag_roi_offset_x and aeag_roi_width must be equal or lower than the image resolution(width).
Type: int
Usage:
aeag_roi_offset_x = cam.get_aeag_roi_offset_x()
aeag_roi_offset_x_min = cam.get_aeag_roi_offset_x_minimum()
aeag_roi_offset_x_max = cam.get_aeag_roi_offset_x_maximum()
aeag_roi_offset_x_inc = cam.get_aeag_roi_offset_x_increment()
cam.set_aeag_roi_offset_x(aeag_roi_offset_x)
AEAG ROI Offset Y¶
Description: Y offset of the area used for AEAG calculation. The sum of aeag_roi_offset_y and aeag_roi_height must be equal or lower than the image resolution(height).
Type: int
Usage:
aeag_roi_offset_y = cam.get_aeag_roi_offset_y()
aeag_roi_offset_y_min = cam.get_aeag_roi_offset_y_minimum()
aeag_roi_offset_y_max = cam.get_aeag_roi_offset_y_maximum()
aeag_roi_offset_y_inc = cam.get_aeag_roi_offset_y_increment()
cam.set_aeag_roi_offset_y(aeag_roi_offset_y)
AEAG Roi width¶
Description: width of the area used for AEAG calculation. The sum of aeag_roi_offset_x and aeag_roi_width must be equal or lower than the image resolution(width).
Type: int
Usage:
aeag_roi_width = cam.get_aeag_roi_width()
aeag_roi_width_min = cam.get_aeag_roi_width_minimum()
aeag_roi_width_max = cam.get_aeag_roi_width_maximum()
aeag_roi_width_inc = cam.get_aeag_roi_width_increment()
cam.set_aeag_roi_width(aeag_roi_width)
AEAG Roi height¶
Description: height of the area used for AEAG calculation. The sum of aeag_roi_offset_y and aeag_roi_height must be equal or lower than the image resolution(height).
Type: int
Usage:
aeag_roi_height = cam.get_aeag_roi_height()
aeag_roi_height_min = cam.get_aeag_roi_height_minimum()
aeag_roi_height_max = cam.get_aeag_roi_height_maximum()
aeag_roi_height_inc = cam.get_aeag_roi_height_increment()
cam.set_aeag_roi_height(aeag_roi_height)
Sensor defects correction list selector¶
Description: Selector for current sensor defects list used by Sensor Defect Correction. For more information see Sensor Defect Correction support page.
Type: dict
Usage:
bpc_list_selector = cam.get_bpc_list_selector()
bpc_list_selector_min = cam.get_bpc_list_selector_minimum()
bpc_list_selector_max = cam.get_bpc_list_selector_maximum()
bpc_list_selector_inc = cam.get_bpc_list_selector_increment()
cam.set_bpc_list_selector(bpc_list_selector)
Corresponding dictionary XI_SENS_DEFFECTS_CORR_LIST_SELECTOR:
Name | Description |
XI_SENS_DEFFECTS_CORR_LIST_SEL_FACTORY | Factory defect correction list |
XI_SENS_DEFFECTS_CORR_LIST_SEL_USER0 | User defect correction list |
XI_SENS_DEFFECTS_CORR_LIST_SEL_IN_CAMERA | Device specific defect correction list |
Sensor Defects Correction List Content¶
Description: Set/Get current sensor defects list used by Sensor Defect Correction(in specific text format).
Type: str
Usage:
sens_defects_corr_list_content = cam.get_sens_defects_corr_list_content(buffer_size=256)
cam.set_sens_defects_corr_list_content(sens_defects_corr_list_content)
Sensor defects correction¶
Description: Correction of sensor defects. For more information see Sensor Defect Correction support page.
Type: bool
Usage:
bpc = cam.is_bpc()
cam.enable_bpc()
cam.disable_bpc()
Auto white balance¶
Description: Automatic white balance.
Type: bool
Usage:
auto_wb = cam.is_auto_wb()
cam.enable_auto_wb()
cam.disable_auto_wb()
Manual white balance¶
Description: Manual white balance. Takes white balance from square in image center of next image received by xiGetImage. Square have 1/8th of width and height of image. The function expects white sheet of paper exposed to 50% of values (RGB values should be around 128). As result of setting of manual_wb three parameters are changed: "wb_kb", "wb_kg" and "wb_kr". User application can store them and recall when needed to set the white balance back.
Type: int
Usage:
manual_wb = cam.get_manual_wb()
manual_wb_min = cam.get_manual_wb_minimum()
manual_wb_max = cam.get_manual_wb_maximum()
manual_wb_inc = cam.get_manual_wb_increment()
cam.set_manual_wb(manual_wb)
WB ROI Offset X¶
Description: X offset of the area used for manual WB calculation. The sum of wb_roi_offset_x and wb_roi_width must be equal or lower than the image resolution(width).
Supported cameras: MC,CB,MX
Type: int
Usage:
wb_roi_offset_x = cam.get_wb_roi_offset_x()
wb_roi_offset_x_min = cam.get_wb_roi_offset_x_minimum()
wb_roi_offset_x_max = cam.get_wb_roi_offset_x_maximum()
wb_roi_offset_x_inc = cam.get_wb_roi_offset_x_increment()
cam.set_wb_roi_offset_x(wb_roi_offset_x)
WB ROI Offset Y¶
Description: Y offset of the area used for manual WB calculation. The sum of wb_roi_offset_y and wb_roi_height must be equal or lower than the image resolution(height).
Supported cameras: MC,CB,MX
Type: int
Usage:
wb_roi_offset_y = cam.get_wb_roi_offset_y()
wb_roi_offset_y_min = cam.get_wb_roi_offset_y_minimum()
wb_roi_offset_y_max = cam.get_wb_roi_offset_y_maximum()
wb_roi_offset_y_inc = cam.get_wb_roi_offset_y_increment()
cam.set_wb_roi_offset_y(wb_roi_offset_y)
WB ROI Offset X¶
Description: Width of the area used for manual WB calculation. The sum of wb_roi_offset_x and wb_roi_width must be equal or lower than the image resolution(width).
Supported cameras: MC,CB,MX
Type: int
Usage:
wb_roi_width = cam.get_wb_roi_width()
wb_roi_width_min = cam.get_wb_roi_width_minimum()
wb_roi_width_max = cam.get_wb_roi_width_maximum()
wb_roi_width_inc = cam.get_wb_roi_width_increment()
cam.set_wb_roi_width(wb_roi_width)
WB ROI height¶
Description: Height of the area used for manual WB calculation. The sum of wb_roi_offset_y and wb_roi_height must be equal or lower than the image resolution(height).
Supported cameras: MC,CB,MX
Type: int
Usage:
wb_roi_height = cam.get_wb_roi_height()
wb_roi_height_min = cam.get_wb_roi_height_minimum()
wb_roi_height_max = cam.get_wb_roi_height_maximum()
wb_roi_height_inc = cam.get_wb_roi_height_increment()
cam.set_wb_roi_height(wb_roi_height)
White balance red¶
Description: White balance red coefficient.
Type: float
Usage:
wb_kr = cam.get_wb_kr()
wb_kr_min = cam.get_wb_kr_minimum()
wb_kr_max = cam.get_wb_kr_maximum()
wb_kr_inc = cam.get_wb_kr_increment()
cam.set_wb_kr(wb_kr)
White balance green¶
Description: White balance green coefficient.
Type: float
Usage:
wb_kg = cam.get_wb_kg()
wb_kg_min = cam.get_wb_kg_minimum()
wb_kg_max = cam.get_wb_kg_maximum()
wb_kg_inc = cam.get_wb_kg_increment()
cam.set_wb_kg(wb_kg)
White balance blue¶
Description: White balance blue coefficient.
Type: float
Usage:
wb_kb = cam.get_wb_kb()
wb_kb_min = cam.get_wb_kb_minimum()
wb_kb_max = cam.get_wb_kb_maximum()
wb_kb_inc = cam.get_wb_kb_increment()
cam.set_wb_kb(wb_kb)
Image width¶
Description: If camera runs in single region mode this parameter represents width of the image provided by the device (in pixels). The sum of
offsetX
and
width
must be equal or lower than the image resolution(width). Number must be divisible by the minimum increment which can be read out using the api parameter modifier
get_width_increment()
. If camera runs in multiple region mode (
region_selector
) this parameter is width of region currently selected (in pixels).
Type: int
Usage:
width = cam.get_width()
width_min = cam.get_width_minimum()
width_max = cam.get_width_maximum()
width_inc = cam.get_width_increment()
cam.set_width(width)
Image height¶
Description: If camera runs in single region mode this parameter represents the height of the image provided by the device (in pixels). The sum of
offsetY
and
height
must be equal or lower than the image resolution(height). Number must be divisible by the minimum increment which can be read out using the api parameter modifier
get_height_increment()
. If camera runs in multiple region mode () this parameter is height of region currently selected.
Note1: Changing of this parameter will remove all images from buffer queue.
Note2: In case of using small ROI in combination with Fresco FL1100 controller, please read this article.
Type: int
Usage:
height = cam.get_height()
height_min = cam.get_height_minimum()
height_max = cam.get_height_maximum()
height_inc = cam.get_height_increment()
cam.set_height(height)
ROI OffsetX¶
Description: Horizontal offset from the origin to the area of interest (in pixels). The sum of
offsetX
and
width
must be equal or lower than the image resolution(width). Number must be divisible by the minimum increment which can be read out using the api parameter modifier
get_offsetX_increment()
.
Note: Changing of this parameter will remove all images from buffer queue.
Type: int
Usage:
offsetX = cam.get_offsetX()
offsetX_min = cam.get_offsetX_minimum()
offsetX_max = cam.get_offsetX_maximum()
offsetX_inc = cam.get_offsetX_increment()
cam.set_offsetX(offsetX)
ROI OffsetY¶
Description: Vertical offset from the origin to the area of interest (in pixels).The sum of
offsetY
and
height
must be equal or lower than the image resolution(height). Number must be divisible by the minimum increment which can be read out using the api parameter modifier
get_offsetY_increment()
.
Note: Changing of this parameter will remove all images from buffer queue.
Type: int
Usage:
offsetY = cam.get_offsetY()
offsetY_min = cam.get_offsetY_minimum()
offsetY_max = cam.get_offsetY_maximum()
offsetY_inc = cam.get_offsetY_increment()
cam.set_offsetY(offsetY)
Region Selector¶
Description: Selects Region in Multiple ROI. Parameters: width , height , offsetX , offsetY , region_mode are related to the particular region.
Note1: Width and offset_x could be changed only for Region 0.
Note2: Regions has to be in order from top to bottom. Region N has to start after Region N-1 ends.
Type: int
Usage:
region_selector = cam.get_region_selector()
region_selector_min = cam.get_region_selector_minimum()
region_selector_max = cam.get_region_selector_maximum()
region_selector_inc = cam.get_region_selector_increment()
cam.set_region_selector(region_selector)
Region Mode¶
Description: Activates/deactivates Region selected by Region Selector in Multiple ROI
Note: Region 0 is always activated, it is not possible to deactivate it.
Type: int
Usage:
region_mode = cam.get_region_mode()
region_mode_min = cam.get_region_mode_minimum()
region_mode_max = cam.get_region_mode_maximum()
region_mode_inc = cam.get_region_mode_increment()
cam.set_region_mode(region_mode)
Horizontal flip enable/disable¶
Description: Activates horizontal flip if available in camera.
Type: bool
Usage:
horizontal_flip = cam.is_horizontal_flip()
cam.enable_horizontal_flip()
cam.disable_horizontal_flip()
Vertical flip enable/disable¶
Description: Activates vertical flip if available in camera.
Type: bool
Usage:
vertical_flip = cam.is_vertical_flip()
cam.enable_vertical_flip()
cam.disable_vertical_flip()
Interline Exposure Mode¶
Description: Selects of interline exposure mode (HDR) of sensor is enabled.
Type: dict
Usage:
interline_exposure_mode = cam.get_interline_exposure_mode()
interline_exposure_mode_min = cam.get_interline_exposure_mode_minimum()
interline_exposure_mode_max = cam.get_interline_exposure_mode_maximum()
interline_exposure_mode_inc = cam.get_interline_exposure_mode_increment()
cam.set_interline_exposure_mode(interline_exposure_mode)
Corresponding dictionary XI_INTERLINE_EXPOSURE_MODE_TYPE:
Name | Description |
XI_INTERLINE_EXPOSURE_MODE_OFF | Disabled |
XI_INTERLINE_EXPOSURE_MODE_ON | Enabled |
Image flat field correction¶
Description: Image flat field correction.( new_process_chain_enable must be XI_ON). For more information see Flat Field Correction support page.
Type: bool
Usage:
ffc = cam.is_ffc()
cam.enable_ffc()
cam.disable_ffc()
FFC Flat Field File name¶
Description: Set name of file of image flat field to be applied for FFC processor(in tiff format). ( new_process_chain_enable must be XI_ON). For more information see Flat Field Correction support page.
Note: Use the same image file for this parameter as for XI_PRM_FFC_DARK_FIELD_FILE_NAME for dark-field correction only. Processing will subtract the dark image only while using the unity (1.00) gain for correction.
Type: str
Usage:
ffc_flat_field_file_name = cam.get_ffc_flat_field_file_name(buffer_size=256)
cam.set_ffc_flat_field_file_name(ffc_flat_field_file_name)
FFC Dark Field File name¶
Description: Set name of file of image dark field to be applied for FFC processor(in tiff format). ( new_process_chain_enable must be XI_ON). For more information see Flat Field Correction support page.
Type: str
Usage:
ffc_dark_field_file_name = cam.get_ffc_dark_field_file_name(buffer_size=256)
cam.set_ffc_dark_field_file_name(ffc_dark_field_file_name)
ToF Readout Mode¶
Description: Sets ToF Readout Mode
Type: dict
Usage:
tof_readout_mode = cam.get_tof_readout_mode()
tof_readout_mode_min = cam.get_tof_readout_mode_minimum()
tof_readout_mode_max = cam.get_tof_readout_mode_maximum()
tof_readout_mode_inc = cam.get_tof_readout_mode_increment()
cam.set_tof_readout_mode(tof_readout_mode)
Corresponding dictionary XI_TOF_READOUT_MODE:
Name | Description |
XI_TOF_READOUT_MODE_A_ONLY | A Only readout mode |
XI_TOF_READOUT_MODE_B_ONLY | B Only readout mode |
XI_TOF_READOUT_MODE_A_MINUS_B | A Minus B readout mode |
XI_TOF_READOUT_MODE_A_PLUS_B | A Plus B readout mode |
XI_TOF_READOUT_MODE_A_AND_B | A And B readout mode |
ToF Modulation Frequency¶
Description: Sets ToF Modulation Frequency in MHz
Type: float
Usage:
tof_modulation_frequency = cam.get_tof_modulation_frequency()
tof_modulation_frequency_min = cam.get_tof_modulation_frequency_minimum()
tof_modulation_frequency_max = cam.get_tof_modulation_frequency_maximum()
tof_modulation_frequency_inc = cam.get_tof_modulation_frequency_increment()
cam.set_tof_modulation_frequency(tof_modulation_frequency)
is multiple ToF phases concatenated in buffer¶
Description: is multiple ToF phases concatenated in buffer
Type: int
Usage:
tof_multiple_phases_in_buffer = cam.get_tof_multiple_phases_in_buffer()
tof_multiple_phases_in_buffer_min = cam.get_tof_multiple_phases_in_buffer_minimum()
tof_multiple_phases_in_buffer_max = cam.get_tof_multiple_phases_in_buffer_maximum()
tof_multiple_phases_in_buffer_inc = cam.get_tof_multiple_phases_in_buffer_increment()
ToF Phases Count¶
Description: Sets the number of tof phases. E.g. 4 for four phases.
Type: int
Usage:
tof_phases_count = cam.get_tof_phases_count()
tof_phases_count_min = cam.get_tof_phases_count_minimum()
tof_phases_count_max = cam.get_tof_phases_count_maximum()
tof_phases_count_inc = cam.get_tof_phases_count_increment()
cam.set_tof_phases_count(tof_phases_count)
ToF Phase Angle¶
Description: Sets Illumination angle for selected ToF phase
Type: float
Usage:
tof_phase_angle = cam.get_tof_phase_angle()
tof_phase_angle_min = cam.get_tof_phase_angle_minimum()
tof_phase_angle_max = cam.get_tof_phase_angle_maximum()
tof_phase_angle_inc = cam.get_tof_phase_angle_increment()
cam.set_tof_phase_angle(tof_phase_angle)
ToF Phase Exposure Time¶
Description: Sets Exposure time for selected ToF phase in microseconds.
Type: float
Usage:
tof_phase_exposure_time = cam.get_tof_phase_exposure_time()
tof_phase_exposure_time_min = cam.get_tof_phase_exposure_time_minimum()
tof_phase_exposure_time_max = cam.get_tof_phase_exposure_time_maximum()
tof_phase_exposure_time_inc = cam.get_tof_phase_exposure_time_increment()
cam.set_tof_phase_exposure_time(tof_phase_exposure_time)
ToF Phase Selector¶
Description: Selects tof phase
Type: int
Usage:
tof_phase_selector = cam.get_tof_phase_selector()
tof_phase_selector_min = cam.get_tof_phase_selector_minimum()
tof_phase_selector_max = cam.get_tof_phase_selector_maximum()
tof_phase_selector_inc = cam.get_tof_phase_selector_increment()
cam.set_tof_phase_selector(tof_phase_selector)
Image Format Parameters
Note: xiAPI allows to set different combinations of binning and decimation parameters.
On xiC, xiB, xiX, xiT cameras the parameters of units (Sensor, FPGA, CPU) are accessible with selectors (e.g. binning_selector ). After setting of selector, multiple parameters could be get of set for the selected unit. They can be divided into:
- Patterns (e.g. binning_horizontal_pattern ). If new pattern is set - the API might change the Values automatically in order to achieve setting of the new pattern.
- Values (e.g. binning_horizontal ). If new value is set - the API might change other values automatically in order to achieve setting of the new. Firstly it tries to find exact mode keeping the unchanged values, secondary it tries to find similar mode (trying to keep the other part - e.g. changing binning is trying to keep decimation parameters). If first and second attempts fails, the API tries to find any mode where new-value is found without keeping any other parameters, keeping Patterns.
- Modes for binning (e.g. binning_vertical_mode )
Binning Selector¶
Description: Selects which binning engine is controlled by the BinningHorizontal and BinningVertical features.
Type: dict
Usage:
binning_selector = cam.get_binning_selector()
binning_selector_min = cam.get_binning_selector_minimum()
binning_selector_max = cam.get_binning_selector_maximum()
binning_selector_inc = cam.get_binning_selector_increment()
cam.set_binning_selector(binning_selector)
Corresponding dictionary XI_BIN_SELECTOR:
Name | Description |
XI_BIN_SELECT_SENSOR | parameters for image sensor binning are selected |
XI_BIN_SELECT_DEVICE_FPGA | parameters for device (camera) FPGA decimation are selected |
XI_BIN_SELECT_HOST_CPU | parameters for Host CPU binning are selected |
Binning Vertical Mode¶
Description: Sets the mode used to combine horizontal photo-sensitive cells together when BinningVertical is used.
Type: dict
Usage:
binning_vertical_mode = cam.get_binning_vertical_mode()
binning_vertical_mode_min = cam.get_binning_vertical_mode_minimum()
binning_vertical_mode_max = cam.get_binning_vertical_mode_maximum()
binning_vertical_mode_inc = cam.get_binning_vertical_mode_increment()
cam.set_binning_vertical_mode(binning_vertical_mode)
Corresponding dictionary XI_BIN_MODE:
Name | Description |
XI_BIN_MODE_SUM | The response from the combined pixels will be added, resulting in increased sensitivity. |
XI_BIN_MODE_AVERAGE | The response from the combined pixels will be averaged, resulting in increased signal/noise ratio. |
Binning Vertical¶
Description: Number of vertical photo-sensitive cells to combine together. This reduces the vertical resolution (height) of the image.
Note: Setting this parameter may automatically change other Binning/Decimation parameters in order to achieve a valid combination.
Type: int
Usage:
binning_vertical = cam.get_binning_vertical()
binning_vertical_min = cam.get_binning_vertical_minimum()
binning_vertical_max = cam.get_binning_vertical_maximum()
binning_vertical_inc = cam.get_binning_vertical_increment()
cam.set_binning_vertical(binning_vertical)
Binning Vertical Float¶
Description: Number of vertical photo-sensitive cells to combine together. This reduces the vertical resolution (height) of the image.
Note: Setting this parameter may automatically change other Binning/Decimation parameters in order to achieve a valid combination.
Type: float
Usage:
binning_vertical_float = cam.get_binning_vertical_float()
binning_vertical_float_min = cam.get_binning_vertical_float_minimum()
binning_vertical_float_max = cam.get_binning_vertical_float_maximum()
binning_vertical_float_inc = cam.get_binning_vertical_float_increment()
cam.set_binning_vertical_float(binning_vertical_float)
Binning Horizontal Mode¶
Description: Sets the mode to use to combine horizontal photo-sensitive cells together when BinningHorizontal is used.
Type: dict
Usage:
binning_horizontal_mode = cam.get_binning_horizontal_mode()
binning_horizontal_mode_min = cam.get_binning_horizontal_mode_minimum()
binning_horizontal_mode_max = cam.get_binning_horizontal_mode_maximum()
binning_horizontal_mode_inc = cam.get_binning_horizontal_mode_increment()
cam.set_binning_horizontal_mode(binning_horizontal_mode)
Corresponding dictionary XI_BIN_MODE:
Name | Description |
XI_BIN_MODE_SUM | The response from the combined pixels will be added, resulting in increased sensitivity. |
XI_BIN_MODE_AVERAGE | The response from the combined pixels will be averaged, resulting in increased signal/noise ratio. |
Binning Horizontal¶
Description: Number of horizontal photo-sensitive cells to combine together. This reduces the horizontal resolution (width) of the image.
Note: Setting this parameter may automatically change other Binning/Decimation parameters in order to achieve a valid combination.
Type: int
Usage:
binning_horizontal = cam.get_binning_horizontal()
binning_horizontal_min = cam.get_binning_horizontal_minimum()
binning_horizontal_max = cam.get_binning_horizontal_maximum()
binning_horizontal_inc = cam.get_binning_horizontal_increment()
cam.set_binning_horizontal(binning_horizontal)
Binning Horizontal Float¶
Description: Number of horizontal photo-sensitive cells to combine together. This reduces the horizontal resolution (width) of the image.
Note: Setting this parameter may automatically change other Binning/Decimation parameters in order to achieve a valid combination.
Type: float
Usage:
binning_horizontal_float = cam.get_binning_horizontal_float()
binning_horizontal_float_min = cam.get_binning_horizontal_float_minimum()
binning_horizontal_float_max = cam.get_binning_horizontal_float_maximum()
binning_horizontal_float_inc = cam.get_binning_horizontal_float_increment()
cam.set_binning_horizontal_float(binning_horizontal_float)
Binning Horizontal Pattern¶
Description: Defines number of horizontal photo-sensitive cells to combine.
Note: Setting this parameter may automatically change other Binning/Decimation parameters in order to achieve a valid combination.
Type: dict
Usage:
binning_horizontal_pattern = cam.get_binning_horizontal_pattern()
binning_horizontal_pattern_min = cam.get_binning_horizontal_pattern_minimum()
binning_horizontal_pattern_max = cam.get_binning_horizontal_pattern_maximum()
binning_horizontal_pattern_inc = cam.get_binning_horizontal_pattern_increment()
cam.set_binning_horizontal_pattern(binning_horizontal_pattern)
Corresponding dictionary XI_BIN_PATTERN:
Name | Description |
XI_BIN_MONO | adjacent pixels are combined |
XI_BIN_BAYER | Bayer pattern is preserved during pixel combining |
Binning Vertical Pattern¶
Description: Defines binning vertical pattern.
Note: Setting this parameter may automatically change other Binning/Decimation parameters in order to achieve a valid combination.
Type: dict
Usage:
binning_vertical_pattern = cam.get_binning_vertical_pattern()
binning_vertical_pattern_min = cam.get_binning_vertical_pattern_minimum()
binning_vertical_pattern_max = cam.get_binning_vertical_pattern_maximum()
binning_vertical_pattern_inc = cam.get_binning_vertical_pattern_increment()
cam.set_binning_vertical_pattern(binning_vertical_pattern)
Corresponding dictionary XI_BIN_PATTERN:
Name | Description |
XI_BIN_MONO | adjacent pixels are combined |
XI_BIN_BAYER | Bayer pattern is preserved during pixel combining |
Decimation Selector¶
Description: Selects Decimation engine to configure.
Type: dict
Usage:
decimation_selector = cam.get_decimation_selector()
decimation_selector_min = cam.get_decimation_selector_minimum()
decimation_selector_max = cam.get_decimation_selector_maximum()
decimation_selector_inc = cam.get_decimation_selector_increment()
cam.set_decimation_selector(decimation_selector)
Corresponding dictionary XI_DEC_SELECTOR:
Name | Description |
XI_DEC_SELECT_SENSOR | parameters for image sensor decimation are selected |
XI_DEC_SELECT_DEVICE_FPGA | parameters for device (camera) FPGA decimation are selected |
XI_DEC_SELECT_HOST_CPU | parameters for Host CPU decimation are selected |
Decimation Vertical¶
Description: Vertical sub-sampling of the image. This reduces the vertical resolution (height) of the image by the specified vertical decimation factor.
Note: Setting this parameter may automatically change other Binning/Decimation parameters in order to achieve a valid combination.
Type: int
Usage:
decimation_vertical = cam.get_decimation_vertical()
decimation_vertical_min = cam.get_decimation_vertical_minimum()
decimation_vertical_max = cam.get_decimation_vertical_maximum()
decimation_vertical_inc = cam.get_decimation_vertical_increment()
cam.set_decimation_vertical(decimation_vertical)
Decimation Horizontal¶
Description: Horizontal sub-sampling of the image. This reduces the horizontal resolution (width) of the image by the specified horizontal decimation factor.
Note: Setting this parameter may automatically change other Binning/Decimation parameters in order to achieve a valid combination.
Type: int
Usage:
decimation_horizontal = cam.get_decimation_horizontal()
decimation_horizontal_min = cam.get_decimation_horizontal_minimum()
decimation_horizontal_max = cam.get_decimation_horizontal_maximum()
decimation_horizontal_inc = cam.get_decimation_horizontal_increment()
cam.set_decimation_horizontal(decimation_horizontal)
Decimation Horizontal Pattern¶
Description: Defines decimation horizontal pattern.
Note: Setting this parameter may automatically change other Binning/Decimation parameters in order to achieve a valid combination.
Type: dict
Usage:
decimation_horizontal_pattern = cam.get_decimation_horizontal_pattern()
decimation_horizontal_pattern_min = cam.get_decimation_horizontal_pattern_minimum()
decimation_horizontal_pattern_max = cam.get_decimation_horizontal_pattern_maximum()
decimation_horizontal_pattern_inc = cam.get_decimation_horizontal_pattern_increment()
cam.set_decimation_horizontal_pattern(decimation_horizontal_pattern)
Corresponding dictionary XI_DEC_PATTERN:
Name | Description |
XI_DEC_MONO | adjacent pixels are decimated |
XI_DEC_BAYER | Bayer pattern is preserved during pixel decimation |
Decimation Vertical Pattern¶
Description: Defines decimation vertical pattern.
Note: Setting this parameter may automatically change other Binning/Decimation parameters in order to achieve a valid combination.
Type: dict
Usage:
decimation_vertical_pattern = cam.get_decimation_vertical_pattern()
decimation_vertical_pattern_min = cam.get_decimation_vertical_pattern_minimum()
decimation_vertical_pattern_max = cam.get_decimation_vertical_pattern_maximum()
decimation_vertical_pattern_inc = cam.get_decimation_vertical_pattern_increment()
cam.set_decimation_vertical_pattern(decimation_vertical_pattern)
Corresponding dictionary XI_DEC_PATTERN:
Name | Description |
XI_DEC_MONO | adjacent pixels are decimated |
XI_DEC_BAYER | Bayer pattern is preserved during pixel decimation |
AE Setup Parameters
AEAG Exposure priority¶
Description: Exposure priority for Auto Exposure / Auto Gain function.
- Value: 1.0 >>> meaning: Exposure priority. Only exposure will be changed.
- Value: 0.5 >>> meaning: Exposure and gain will be used (50%:50%).
- Value: 0.0 >>> meaning: Gain priority. Only gain will be changed.
Type: float
Usage:
exp_priority = cam.get_exp_priority()
exp_priority_min = cam.get_exp_priority_minimum()
exp_priority_max = cam.get_exp_priority_maximum()
exp_priority_inc = cam.get_exp_priority_increment()
cam.set_exp_priority(exp_priority)
AEAG Gain limit¶
Description: Maximum limit of gain in AEAG procedure.
Type: float
Usage:
ag_max_limit = cam.get_ag_max_limit()
ag_max_limit_min = cam.get_ag_max_limit_minimum()
ag_max_limit_max = cam.get_ag_max_limit_maximum()
ag_max_limit_inc = cam.get_ag_max_limit_increment()
cam.set_ag_max_limit(ag_max_limit)
AEAG Exposure limit¶
Description: Maximum limit of exposure (in uSec) in AEAG procedure.
Type: int
Usage:
ae_max_limit = cam.get_ae_max_limit()
ae_max_limit_min = cam.get_ae_max_limit_minimum()
ae_max_limit_max = cam.get_ae_max_limit_maximum()
ae_max_limit_inc = cam.get_ae_max_limit_increment()
cam.set_ae_max_limit(ae_max_limit)
AEAG Target level¶
Description: Average intensity of output signal AEAG should achieve(in %).
Type: int
Usage:
aeag_level = cam.get_aeag_level()
aeag_level_min = cam.get_aeag_level_minimum()
aeag_level_max = cam.get_aeag_level_maximum()
aeag_level_inc = cam.get_aeag_level_increment()
cam.set_aeag_level(aeag_level)
AEAG Skip frames count¶
Description: Minimum number of frames to skip between AEAG compensation and AEAG re-evaluation. Typically, changes in Exposure or Gain compensation take effect after several frames. This parameter can tune the AEAG processor. A low count may cause oscillations, while a high count may result in a slow AEAG response.
Type: int
Usage:
aeag_skip_frames_count = cam.get_aeag_skip_frames_count()
aeag_skip_frames_count_min = cam.get_aeag_skip_frames_count_minimum()
aeag_skip_frames_count_max = cam.get_aeag_skip_frames_count_maximum()
aeag_skip_frames_count_inc = cam.get_aeag_skip_frames_count_increment()
cam.set_aeag_skip_frames_count(aeag_skip_frames_count)
Performance Parameters
Bandwidth limit¶
Description: Camera acquisition data-rate Limit on transport layer in Megabits (1000000) per second. API controls the camera clock or increases the line period by 1 in order to achieve the closest data-rate as the Limit value set, ensuring the data-rate is below the Limit. This parameter can be used to decrease data-rate e.g. when more cameras are connected to same interface to share same channel. In order to activate the limit - application should set also limit_bandwidth_mode = XI_ON, see example below.
Note: Controlling method (clock or line period) depends on the camera model.
Type: int
Usage:
limit_bandwidth = cam.get_limit_bandwidth()
limit_bandwidth_min = cam.get_limit_bandwidth_minimum()
limit_bandwidth_max = cam.get_limit_bandwidth_maximum()
limit_bandwidth_inc = cam.get_limit_bandwidth_increment()
cam.set_limit_bandwidth(limit_bandwidth)
Bandwidth Limit Enabled¶
Description: Controls if the limit_bandwidth is active. When disabled, lower level specific features are expected to control the throughput. When enabled, limit_bandwidth controls the overall throughput.
Note: This parameter is not supported on MQ, MU, MD, MR camera families.
Type: dict
Usage:
limit_bandwidth_mode = cam.get_limit_bandwidth_mode()
limit_bandwidth_mode_min = cam.get_limit_bandwidth_mode_minimum()
limit_bandwidth_mode_max = cam.get_limit_bandwidth_mode_maximum()
limit_bandwidth_mode_inc = cam.get_limit_bandwidth_mode_increment()
cam.set_limit_bandwidth_mode(limit_bandwidth_mode)
Corresponding dictionary XI_SWITCH:
Name | Description |
XI_OFF | Turn parameter off |
XI_ON | Turn parameter on |
Sensor data bit depth¶
Description: Returns the bit depth of the pixel data received from sensor.
Note: Read more at XiAPI Image Data Flow.
Type: dict
Usage:
sensor_bit_depth = cam.get_sensor_bit_depth()
sensor_bit_depth_min = cam.get_sensor_bit_depth_minimum()
sensor_bit_depth_max = cam.get_sensor_bit_depth_maximum()
sensor_bit_depth_inc = cam.get_sensor_bit_depth_increment()
cam.set_sensor_bit_depth(sensor_bit_depth)
Corresponding dictionary XI_BIT_DEPTH:
Name | Description |
XI_BPP_8 | 8 bit per pixel |
XI_BPP_9 | 9 bit per pixel |
XI_BPP_10 | 10 bit per pixel |
XI_BPP_11 | 11 bit per pixel |
XI_BPP_12 | 12 bit per pixel |
XI_BPP_13 | 13 bit per pixel |
XI_BPP_14 | 14 bit per pixel |
XI_BPP_15 | 15 bit per pixel |
XI_BPP_16 | 16 bit per pixel |
XI_BPP_24 | 24 bit per pixel |
XI_BPP_32 | 32 bit per pixel |
Device output data bit depth¶
Description: The bit depth of the output data from camera (=transport layer).
Note: Read more at XiAPI Image Data Flow.
Type: dict
Usage:
output_bit_depth = cam.get_output_bit_depth()
output_bit_depth_min = cam.get_output_bit_depth_minimum()
output_bit_depth_max = cam.get_output_bit_depth_maximum()
output_bit_depth_inc = cam.get_output_bit_depth_increment()
cam.set_output_bit_depth(output_bit_depth)
Corresponding dictionary XI_BIT_DEPTH:
Name | Description |
XI_BPP_8 | 8 bit per pixel |
XI_BPP_9 | 9 bit per pixel |
XI_BPP_10 | 10 bit per pixel |
XI_BPP_11 | 11 bit per pixel |
XI_BPP_12 | 12 bit per pixel |
XI_BPP_13 | 13 bit per pixel |
XI_BPP_14 | 14 bit per pixel |
XI_BPP_15 | 15 bit per pixel |
XI_BPP_16 | 16 bit per pixel |
XI_BPP_24 | 24 bit per pixel |
XI_BPP_32 | 32 bit per pixel |
Image data bit depth¶
Description: The bit depth of the pixel data returned by function xiGetImage. If MONO16 or RAW16 image formats are used this parameter defines the alignment of the data on the xiGetImage.
Type: dict
Usage:
image_data_bit_depth = cam.get_image_data_bit_depth()
image_data_bit_depth_min = cam.get_image_data_bit_depth_minimum()
image_data_bit_depth_max = cam.get_image_data_bit_depth_maximum()
image_data_bit_depth_inc = cam.get_image_data_bit_depth_increment()
cam.set_image_data_bit_depth(image_data_bit_depth)
Corresponding dictionary XI_BIT_DEPTH:
Name | Description |
XI_BPP_8 | 8 bit per pixel |
XI_BPP_9 | 9 bit per pixel |
XI_BPP_10 | 10 bit per pixel |
XI_BPP_11 | 11 bit per pixel |
XI_BPP_12 | 12 bit per pixel |
XI_BPP_13 | 13 bit per pixel |
XI_BPP_14 | 14 bit per pixel |
XI_BPP_15 | 15 bit per pixel |
XI_BPP_16 | 16 bit per pixel |
XI_BPP_24 | 24 bit per pixel |
XI_BPP_32 | 32 bit per pixel |
Output data packing¶
Description: This feature enables bit packing on transport data layer, thus increasing the maximum frame rate when data with 10 or 12 bits per pixel is transported. For more info please see Transport Data Packing feature description.
Note: Read more at XiAPI Image Data Flow.
Type: bool
Usage:
output_bit_packing = cam.is_output_bit_packing()
cam.enable_output_bit_packing()
cam.disable_output_bit_packing()
Data packing type¶
Description: This feature chooses output data packing type(ximea grouping 10g160, 12g192, 14g224), PFNC packing 10p, 12p...). For more info please see Transport Data Packing feature description.
Type: dict
Usage:
output_bit_packing_type = cam.get_output_bit_packing_type()
output_bit_packing_type_min = cam.get_output_bit_packing_type_minimum()
output_bit_packing_type_max = cam.get_output_bit_packing_type_maximum()
output_bit_packing_type_inc = cam.get_output_bit_packing_type_increment()
cam.set_output_bit_packing_type(output_bit_packing_type)
Corresponding dictionary XI_OUTPUT_DATA_PACKING_TYPE:
Name | Description |
XI_DATA_PACK_XI_GROUPING | Data grouping (10g160, 12g192, 14g224). |
XI_DATA_PACK_PFNC_LSB_PACKING | Data packing (10p, 12p) |
Temperature Parameters
Is cooled¶
Description: Returns 1 for cameras that support cooling.
Type: bool
Usage:
iscooled = cam.is_iscooled()
Temperature control mode¶
Description: Set camera cooling control. Replaced by device_temperature_ctrl_mode
Type: dict
Usage:
cooling = cam.get_cooling()
cooling_min = cam.get_cooling_minimum()
cooling_max = cam.get_cooling_maximum()
cooling_inc = cam.get_cooling_increment()
cam.set_cooling(cooling)
Corresponding dictionary XI_TEMP_CTRL_MODE_SELECTOR:
Name | Description |
XI_TEMP_CTRL_MODE_OFF | Controlling of elements (TEC/Peltier, Fans) is turned off |
XI_TEMP_CTRL_MODE_AUTO | Controlling of elements is performed automatically by API or camera in order to reach parameter TARGET_TEMP. |
XI_TEMP_CTRL_MODE_MANUAL | Controlling of elements is done manually by application. |
Target cooling temperature¶
Description: Set target temperature for automatic temperature control.
Type: float
Usage:
target_temp = cam.get_target_temp()
target_temp_min = cam.get_target_temp_minimum()
target_temp_max = cam.get_target_temp_maximum()
target_temp_inc = cam.get_target_temp_increment()
cam.set_target_temp(target_temp)
Temperature selector¶
Description: Temperature sensor selector.
Type: dict
Usage:
temp_selector = cam.get_temp_selector()
temp_selector_min = cam.get_temp_selector_minimum()
temp_selector_max = cam.get_temp_selector_maximum()
temp_selector_inc = cam.get_temp_selector_increment()
cam.set_temp_selector(temp_selector)
Corresponding dictionary XI_TEMP_SELECTOR:
Name | Description |
XI_TEMP_IMAGE_SENSOR_DIE_RAW | Image sensor die (non-calibrated) |
XI_TEMP_IMAGE_SENSOR_DIE | Image sensor die (calibrated) |
XI_TEMP_SENSOR_BOARD | Image sensor PCB |
XI_TEMP_INTERFACE_BOARD | Data interface PCB |
XI_TEMP_FRONT_HOUSING | Front part of camera housing |
XI_TEMP_REAR_HOUSING | Rear part of camera housing |
XI_TEMP_TEC1_COLD | TEC1 cold side temperature |
XI_TEMP_TEC1_HOT | TEC1 hot side temperature |
XI_TEMP_VCSEL_BOARD_A | VCSEL board temperature |
Temperature¶
Description: Selected thermometer reading in degree Celsius. Thermometer can be selected by temp_selector .
Type: float
Usage:
temp = cam.get_temp()
temp_min = cam.get_temp_minimum()
temp_max = cam.get_temp_maximum()
temp_inc = cam.get_temp_increment()
Temperature control mode¶
Description: Sets temperature control mode.
Note: On some camera models, when some component (e.g. housing) reaches critical temperature, the mode is changed to XI_TEMP_CTRL_MODE_OFF automatically by camera and this mode remains off. It can be re-enabled by setting mode to XI_TEMP_CTRL_MODE_AUTO. By getting XI_PRM_TEMP_CONTROL_MODE, application can get the information, about current state.
Type: dict
Usage:
device_temperature_ctrl_mode = cam.get_device_temperature_ctrl_mode()
device_temperature_ctrl_mode_min = cam.get_device_temperature_ctrl_mode_minimum()
device_temperature_ctrl_mode_max = cam.get_device_temperature_ctrl_mode_maximum()
device_temperature_ctrl_mode_inc = cam.get_device_temperature_ctrl_mode_increment()
cam.set_device_temperature_ctrl_mode(device_temperature_ctrl_mode)
Corresponding dictionary XI_TEMP_CTRL_MODE_SELECTOR:
Name | Description |
XI_TEMP_CTRL_MODE_OFF | Controlling of elements (TEC/Peltier, Fans) is turned off |
XI_TEMP_CTRL_MODE_AUTO | Controlling of elements is performed automatically by API or camera in order to reach parameter TARGET_TEMP. |
XI_TEMP_CTRL_MODE_MANUAL | Controlling of elements is done manually by application. |
Sensor temperature¶
Description: Temperature reading of thermometer chip. Sensor is located on the PCB close to imaging sensor. Units: degrees of Celsius.
Type: float
Usage:
chip_temp = cam.get_chip_temp()
chip_temp_min = cam.get_chip_temp_minimum()
chip_temp_max = cam.get_chip_temp_maximum()
chip_temp_inc = cam.get_chip_temp_increment()
Housing temperature¶
Description: Camera housing temperature.
Type: float
Usage:
hous_temp = cam.get_hous_temp()
hous_temp_min = cam.get_hous_temp_minimum()
hous_temp_max = cam.get_hous_temp_maximum()
hous_temp_inc = cam.get_hous_temp_increment()
Housing back side temperature¶
Description: Camera housing back side temperature.
Type: float
Usage:
hous_back_side_temp = cam.get_hous_back_side_temp()
hous_back_side_temp_min = cam.get_hous_back_side_temp_minimum()
hous_back_side_temp_max = cam.get_hous_back_side_temp_maximum()
hous_back_side_temp_inc = cam.get_hous_back_side_temp_increment()
Sensor board temperature¶
Description: Camera sensor board temperature.
Type: float
Usage:
sensor_board_temp = cam.get_sensor_board_temp()
sensor_board_temp_min = cam.get_sensor_board_temp_minimum()
sensor_board_temp_max = cam.get_sensor_board_temp_maximum()
sensor_board_temp_inc = cam.get_sensor_board_temp_increment()
Temperature element selector¶
Description: Temperature element selector (TEC, Fan)
Type: dict
Usage:
device_temperature_element_sel = cam.get_device_temperature_element_sel()
device_temperature_element_sel_min = cam.get_device_temperature_element_sel_minimum()
device_temperature_element_sel_max = cam.get_device_temperature_element_sel_maximum()
device_temperature_element_sel_inc = cam.get_device_temperature_element_sel_increment()
cam.set_device_temperature_element_sel(device_temperature_element_sel)
Corresponding dictionary XI_TEMP_ELEMENT_SELECTOR:
Name | Description |
XI_TEMP_ELEM_TEC1 | TEC1 = TEC/Peltier that is closest to the image sensor |
XI_TEMP_ELEM_TEC2 | TEC2 = TEC/Peltier location depends on camera model |
XI_TEMP_ELEM_FAN1 | Temperature element fan current or rotation (FAN1 = Fan) |
XI_TEMP_ELEM_FAN1_THRS_TEMP | Temperature element fan start rotation threshold temperature |
Temperature element value in percents of full control range¶
Description: Temperature element value in percents of full control range.
Type: float
Usage:
device_temperature_element_val = cam.get_device_temperature_element_val()
device_temperature_element_val_min = cam.get_device_temperature_element_val_minimum()
device_temperature_element_val_max = cam.get_device_temperature_element_val_maximum()
device_temperature_element_val_inc = cam.get_device_temperature_element_val_increment()
cam.set_device_temperature_element_val(device_temperature_element_val)
Color Correction Parameters
Note: Works only for color cameras.
Color management mode¶
Description: Enable or disable color management.
Note: This feature is in Beta stage.
Type: dict
Usage:
cms = cam.get_cms()
cms_min = cam.get_cms_minimum()
cms_max = cam.get_cms_maximum()
cms_inc = cam.get_cms_increment()
cam.set_cms(cms)
Corresponding dictionary XI_CMS_MODE:
Name | Description |
XI_CMS_DIS | disables color management |
XI_CMS_EN | enables color management (high CPU usage) |
XI_CMS_EN_FAST | enables fast color management (high RAM usage) |
Color management intent¶
Description: Defines rendering intents. See more at our support page CMS INTENT.
Note1: This feature is in Beta stage.
Type: dict
Usage:
cms_intent = cam.get_cms_intent()
cms_intent_min = cam.get_cms_intent_minimum()
cms_intent_max = cam.get_cms_intent_maximum()
cms_intent_inc = cam.get_cms_intent_increment()
cam.set_cms_intent(cms_intent)
Corresponding dictionary XI_CMS_INTENT:
Name | Description |
XI_CMS_INTENT_PERCEPTUAL | CMS intent perceptual |
XI_CMS_INTENT_RELATIVE_COLORIMETRIC | CMS intent relative colorimetry |
XI_CMS_INTENT_SATURATION | CMS intent saturation |
XI_CMS_INTENT_ABSOLUTE_COLORIMETRIC | CMS intent absolute colorimetry |
Color management apply¶
Description: If set to XI_ON applies CMS profile to xiGetImage.
Type: bool
Usage:
apply_cms = cam.is_apply_cms()
cam.enable_apply_cms()
cam.disable_apply_cms()
Color management input profile¶
Description: Filename of the input cms profile (e.g. input.icc)
Type: str
Usage:
input_cms_profile = cam.get_input_cms_profile(buffer_size=256)
cam.set_input_cms_profile(input_cms_profile)
Color management output profile¶
Description: Filename of the output cms profile (e.g. output.icc)
Type: str
Usage:
output_cms_profile = cam.get_output_cms_profile(buffer_size=256)
cam.set_output_cms_profile(output_cms_profile)
SensorColor¶
Description: Returns 1 for color cameras.
Type: bool
Usage:
iscolor = cam.is_iscolor()
Sensor color filter array¶
Description: Returns color filter array type of RAW data.
Type: dict
Usage:
cfa = cam.get_cfa()
cfa_min = cam.get_cfa_minimum()
cfa_max = cam.get_cfa_maximum()
cfa_inc = cam.get_cfa_increment()
Corresponding dictionary XI_COLOR_FILTER_ARRAY:
Name | Description |
XI_CFA_NONE | Result pixels have no filters applied in this format |
XI_CFA_BAYER_RGGB | Regular RGGB |
XI_CFA_CMYG | AK Sony sens |
XI_CFA_RGR | 2R+G readout |
XI_CFA_BAYER_BGGR | BGGR readout |
XI_CFA_BAYER_GRBG | GRBG readout |
XI_CFA_BAYER_GBRG | GBRG readout |
XI_CFA_POLAR_A_BAYER_BGGR | BGGR polarized 4x4 macropixel |
XI_CFA_POLAR_A | Polarized 2x2 macropixel |
XI_CFA_TOF_ANB | ToF A and B |
XI_CFA_TOF_AMB | ToF A minus B |
XI_CFA_TOF_APB | ToF A plus B |
XI_CFA_TOF_A | ToF A only |
XI_CFA_TOF_B | ToF B only |
XI_CFA_TOF_X1X2X3 | ToF X1,X2,X3 |
Luminosity gamma¶
Description: Luminosity gamma.
Lowering the value increases correction.
Type: float
Usage:
gammaY = cam.get_gammaY()
gammaY_min = cam.get_gammaY_minimum()
gammaY_max = cam.get_gammaY_maximum()
gammaY_inc = cam.get_gammaY_increment()
cam.set_gammaY(gammaY)
Chromaticity gamma¶
Description: Chromaticity gamma.
Type: float
Usage:
gammaC = cam.get_gammaC()
gammaC_min = cam.get_gammaC_minimum()
gammaC_max = cam.get_gammaC_maximum()
gammaC_inc = cam.get_gammaC_increment()
cam.set_gammaC(gammaC)
Sharpness¶
Description: Sharpness Strength. Increasing the value results in sharper image.
Note: Works also for XI_MONO* formats, but only for color cameras.
Type: float
Usage:
sharpness = cam.get_sharpness()
sharpness_min = cam.get_sharpness_minimum()
sharpness_max = cam.get_sharpness_maximum()
sharpness_inc = cam.get_sharpness_increment()
cam.set_sharpness(sharpness)
Color correction matrix 00¶
Description: Color Correction Matrix element [0][0].
Correction Matrix elements:
coefficients: default values: M_00 M_01 M_02 M_03 = 1.0 0.0 0.0 0.0 M_10 M_11 M_12 M_13 = 0.0 1.0 0.0 0.0 M_20 M_21 M_22 M_23 = 0.0 0.0 1.0 0.0 M_30 M_31 M_32 M_33 = 0.0 0.0 1.0 0.0
Type: float
Usage:
ccMTX00 = cam.get_ccMTX00()
ccMTX00_min = cam.get_ccMTX00_minimum()
ccMTX00_max = cam.get_ccMTX00_maximum()
ccMTX00_inc = cam.get_ccMTX00_increment()
cam.set_ccMTX00(ccMTX00)
Default color correction matrix¶
Description: Set default Color Correction Matrix
Type: int
Usage:
defccMTX = cam.get_defccMTX()
defccMTX_min = cam.get_defccMTX_minimum()
defccMTX_max = cam.get_defccMTX_maximum()
defccMTX_inc = cam.get_defccMTX_increment()
cam.set_defccMTX(defccMTX)
Normalize color correction matrix¶
Description: Activates normalization of color correction matrix.
Type: bool
Usage:
ccMTXnorm = cam.is_ccMTXnorm()
cam.enable_ccMTXnorm()
cam.disable_ccMTXnorm()
Device IO Parameters
Trigger source¶
Description: Defines source of trigger.
Note: To set input as external trigger, gpi_mode of selected input should be set to XI_GPI_TRIGGER. See example at gpi_mode .
Type: dict
Usage:
trigger_source = cam.get_trigger_source()
trigger_source_min = cam.get_trigger_source_minimum()
trigger_source_max = cam.get_trigger_source_maximum()
trigger_source_inc = cam.get_trigger_source_increment()
cam.set_trigger_source(trigger_source)
Corresponding dictionary XI_TRG_SOURCE:
Name | Description |
XI_TRG_OFF | Capture of next image is automatically started after previous. |
XI_TRG_EDGE_RISING | Capture is started on rising edge of selected input. |
XI_TRG_EDGE_FALLING | Capture is started on falling edge of selected input |
XI_TRG_SOFTWARE | Capture is started with software trigger. |
XI_TRG_LEVEL_HIGH | Specifies that the trigger is considered valid as long as the level of the source signal is high. |
XI_TRG_LEVEL_LOW | Specifies that the trigger is considered valid as long as the level of the source signal is low. |
Software trigger¶
Description: Generates an internal trigger. trigger_source has to be set to XI_TRG_SOFTWARE.
Note: Some models (xiMU - MU9 and xiQ) return error code if sensor is not ready to start exposure of next image. Other cameras return XI_OK even if sensor is not ready to start exposure.
Type: int
Usage:
trigger_software = cam.get_trigger_software()
trigger_software_min = cam.get_trigger_software_minimum()
trigger_software_max = cam.get_trigger_software_maximum()
trigger_software_inc = cam.get_trigger_software_increment()
cam.set_trigger_software(trigger_software)
Trigger selector¶
Description: This parameter selects the type of trigger. For more information about enumerator XI_TRG_SEL_EXPOSURE_ACTIVE please refer to our Exposure Defined by Trigger Pulse Length support page.
For more information about enumerators: XI_TRG_SEL_FRAME_BURST_START, XI_TRG_SEL_FRAME_BURST_ACTIVE please refer to our Frame Burst Modes support page.
For more information about enumerator XI_TRG_SEL_EXPOSURE_START please refer to our Multiple exposures in one frame support page.
Type: dict
Usage:
trigger_selector = cam.get_trigger_selector()
trigger_selector_min = cam.get_trigger_selector_minimum()
trigger_selector_max = cam.get_trigger_selector_maximum()
trigger_selector_inc = cam.get_trigger_selector_increment()
cam.set_trigger_selector(trigger_selector)
Corresponding dictionary XI_TRG_SELECTOR:
Name | Description |
XI_TRG_SEL_FRAME_START | Trigger starts the capture of one frame |
XI_TRG_SEL_EXPOSURE_ACTIVE | Trigger controls the start and length of the exposure. |
XI_TRG_SEL_FRAME_BURST_START | Trigger starts the capture of the bursts of frames in an acquisition. |
XI_TRG_SEL_FRAME_BURST_ACTIVE | Trigger controls the duration of the capture of the bursts of frames in an acquisition. |
XI_TRG_SEL_MULTIPLE_EXPOSURES | Trigger which when first trigger starts exposure and consequent pulses are gating exposure(active HI) |
XI_TRG_SEL_EXPOSURE_START | Trigger controls the start of the exposure of one Frame. |
XI_TRG_SEL_MULTI_SLOPE_PHASE_CHANGE | Trigger controls the multi slope phase in one Frame (phase0 -> phase1) or (phase1 -> phase2). |
XI_TRG_SEL_ACQUISITION_START | Trigger starts acquisition of first frame. |
Trigger overlap¶
Description: Specifies the type of trigger overlap permitted with the previous frame. This defines when a valid trigger will be accepted (or latched) for a new frame.
In XI_TRG_OVERLAP_OFF - no trigger overlap is permitted. If camera is in read-out phase, all triggers are rejected.
In XI_TRG_OVERLAP_PREV_FRAME - trigger is accepted by camera any time. If sensor is not ready for the next exposure - the trigger is latched and sensor starts exposure as soon as exposure can be started with defined exposure time.
Type: dict
Usage:
trigger_overlap = cam.get_trigger_overlap()
trigger_overlap_min = cam.get_trigger_overlap_minimum()
trigger_overlap_max = cam.get_trigger_overlap_maximum()
trigger_overlap_inc = cam.get_trigger_overlap_increment()
cam.set_trigger_overlap(trigger_overlap)
Corresponding dictionary XI_TRG_OVERLAP:
Name | Description |
XI_TRG_OVERLAP_OFF | No trigger overlap is permitted. If camera is in read-out phase, all triggers are rejected. |
XI_TRG_OVERLAP_READ_OUT | Trigger is accepted only when sensor is ready to start next exposure with defined exposure time. Trigger is rejected when sensor is not ready for new exposure with defined exposure time. (see Note1) |
XI_TRG_OVERLAP_PREV_FRAME | Trigger is accepted by camera any time. If sensor is not ready for the next exposure - the trigger is latched and sensor starts exposure as soon as exposure can be started with defined exposure time. |
Note1: This mode is planned and not yet supported by cameras.
Acquisition frame burst count¶
Description: Sets the number of frames to be acquired after trigger pulse has been sent to the camera. This setting is valid only if the trigger selector is set to FrameBurstStart. For more info please refer to our Frame Burst Modes support page. If burst count is set to zero (0) then number of acquired frames will not be limited (=endless).
Type: int
Usage:
acq_frame_burst_count = cam.get_acq_frame_burst_count()
acq_frame_burst_count_min = cam.get_acq_frame_burst_count_minimum()
acq_frame_burst_count_max = cam.get_acq_frame_burst_count_maximum()
acq_frame_burst_count_inc = cam.get_acq_frame_burst_count_increment()
cam.set_acq_frame_burst_count(acq_frame_burst_count)
Timestamp¶
Description: Reads the current timestamp value from camera in nanoseconds (only valid for xiB, xiC, xiX camera families).
Type: int
Usage:
timestamp = cam.get_timestamp()
timestamp_min = cam.get_timestamp_minimum()
timestamp_max = cam.get_timestamp_maximum()
timestamp_inc = cam.get_timestamp_increment()
GPIO Setup Parameters
GPI Selector¶
Description: Selects GPI.
Type: dict
Usage:
gpi_selector = cam.get_gpi_selector()
gpi_selector_min = cam.get_gpi_selector_minimum()
gpi_selector_max = cam.get_gpi_selector_maximum()
gpi_selector_inc = cam.get_gpi_selector_increment()
cam.set_gpi_selector(gpi_selector)
Corresponding dictionary XI_GPI_SELECTOR:
Name | Description |
XI_GPI_PORT1 | GPI port 1 |
XI_GPI_PORT2 | GPI port 2 |
XI_GPI_PORT3 | GPI port 3 |
XI_GPI_PORT4 | GPI port 4 |
XI_GPI_PORT5 | GPI port 5 |
XI_GPI_PORT6 | GPI port 6 |
XI_GPI_PORT7 | GPI port 7 |
XI_GPI_PORT8 | GPI port 8 |
XI_GPI_PORT9 | GPI port 9 |
XI_GPI_PORT10 | GPI port 10 |
XI_GPI_PORT11 | GPI port 11 |
XI_GPI_PORT12 | GPI port 12 |
GPI Mode¶
Description: Defines GPI functionality.
Note1: To use GPI as trigger source, the trigger_source should be also set to XI_TRG_EDGE_RISING or XI_TRG_EDGE_FALLING
Note2: If bidirectional (input/output) pin is used, set gpo_mode to XI_GPO_HIGH_IMPEDANCE. This will disable output driver on the pin from camera.
Type: dict
Usage:
gpi_mode = cam.get_gpi_mode()
gpi_mode_min = cam.get_gpi_mode_minimum()
gpi_mode_max = cam.get_gpi_mode_maximum()
gpi_mode_inc = cam.get_gpi_mode_increment()
cam.set_gpi_mode(gpi_mode)
Corresponding dictionary XI_GPI_MODE:
Name | Description |
XI_GPI_OFF | Input is not used for triggering, but can be used to get parameter GPI_LEVEL. This can be used to switch I/O line on some cameras to input mode. |
XI_GPI_TRIGGER | Input can be used for triggering. |
XI_GPI_EXT_EVENT | External signal input (not implemented) |
GPI Level¶
Description: Level of digital input selected by gpi_selector .
Note: When used on pin that could be input or output (E.g. pin 8 on MC023 camera), then associated GPO needs to be in mode XI_GPO_HIGH_IMPEDANCE . Otherwise pin can be pulled down (GPO_OFF) or up (GPO_ON). Such pins are HIGH_IMPEDANCE as default so application does not to setup it when used only as input.
Type: int
Usage:
gpi_level = cam.get_gpi_level()
gpi_level_min = cam.get_gpi_level_minimum()
gpi_level_max = cam.get_gpi_level_maximum()
gpi_level_inc = cam.get_gpi_level_increment()
GPI Level exp.start¶
Description: Level of digital input selected by gpi_selector sampled at exposure start of the last image received by GetImage.
Type: int
Usage:
gpi_level_at_image_exp_start = cam.get_gpi_level_at_image_exp_start()
gpi_level_at_image_exp_start_min = cam.get_gpi_level_at_image_exp_start_minimum()
gpi_level_at_image_exp_start_max = cam.get_gpi_level_at_image_exp_start_maximum()
gpi_level_at_image_exp_start_inc = cam.get_gpi_level_at_image_exp_start_increment()
GPI Level exp.end¶
Description: Level of digital input selected by gpi_selector sampled at exposure end of the last image received by GetImage.
Type: int
Usage:
gpi_level_at_image_exp_end = cam.get_gpi_level_at_image_exp_end()
gpi_level_at_image_exp_end_min = cam.get_gpi_level_at_image_exp_end_minimum()
gpi_level_at_image_exp_end_max = cam.get_gpi_level_at_image_exp_end_maximum()
gpi_level_at_image_exp_end_inc = cam.get_gpi_level_at_image_exp_end_increment()
GPO Selector¶
Description: Selects GPO.
Type: dict
Usage:
gpo_selector = cam.get_gpo_selector()
gpo_selector_min = cam.get_gpo_selector_minimum()
gpo_selector_max = cam.get_gpo_selector_maximum()
gpo_selector_inc = cam.get_gpo_selector_increment()
cam.set_gpo_selector(gpo_selector)
Corresponding dictionary XI_GPO_SELECTOR:
Name | Description |
XI_GPO_PORT1 | GPO port 1 |
XI_GPO_PORT2 | GPO port 2 |
XI_GPO_PORT3 | GPO port 3 |
XI_GPO_PORT4 | GPO port 4 |
XI_GPO_PORT5 | GPO port 5 |
XI_GPO_PORT6 | GPO port 6 |
XI_GPO_PORT7 | GPO port 7 |
XI_GPO_PORT8 | GPO port 8 |
XI_GPO_PORT9 | GPO port 9 |
XI_GPO_PORT10 | GPO port 10 |
XI_GPO_PORT11 | GPO port 11 |
XI_GPO_PORT12 | GPO port 12 |
GPO Mode¶
Description: Defines GPO functionality.
Note1: On some camera models (MR, MH): Modes FRAME_ACTIVE or EXPOSURE_ACTIVE are supported only if trigger_source is set to XI_TRG_SOFTWARE or XI_TRG_EDGE_RISING or XI_TRG_EDGE_FALLING. See section trigger_source On models xiMU (MU9) xiQ.
Note2: Some camera families (e.g. MR) does not support the software control of outputs. Only one of mode: FRAME_ACTIVE and EXPOSURE_ACTIVE can be set.
Note3: Duration of pulse depends on camera model and polarity of signal.
Note4: Each bidirectional line has only one control for inverter (as in GenICam-SFNC). If output mode with _NEG extension is set then also input signal becomes inverted.
Type: dict
Usage:
gpo_mode = cam.get_gpo_mode()
gpo_mode_min = cam.get_gpo_mode_minimum()
gpo_mode_max = cam.get_gpo_mode_maximum()
gpo_mode_inc = cam.get_gpo_mode_increment()
cam.set_gpo_mode(gpo_mode)
Corresponding dictionary XI_GPO_MODE:
Name | Description |
XI_GPO_OFF | Output is off (zero voltage or switched_off) |
XI_GPO_ON | Output is on (voltage or switched_on) |
XI_GPO_FRAME_ACTIVE | Output is on while frame exposure,read,transfer. |
XI_GPO_FRAME_ACTIVE_NEG | Output is off while frame exposure,read,transfer. |
XI_GPO_EXPOSURE_ACTIVE | Output is on while frame exposure |
XI_GPO_EXPOSURE_ACTIVE_NEG | Output is off while frame exposure |
XI_GPO_FRAME_TRIGGER_WAIT | Output is on while camera is ready for trigger |
XI_GPO_FRAME_TRIGGER_WAIT_NEG | Output is off while camera is ready for trigger. |
XI_GPO_EXPOSURE_PULSE | Output is on short pulse at the beginning of frame exposure. |
XI_GPO_EXPOSURE_PULSE_NEG | Output is off short pulse at the beginning of frame exposure. |
XI_GPO_BUSY | Output is on when camera has received trigger until end of transfer |
XI_GPO_BUSY_NEG | Output is off when camera has received trigger until end of transfer |
XI_GPO_HIGH_IMPEDANCE | Associated pin is in high impedance (tri-stated) and can be driven externally. E.g. for triggering or reading status by GPI_LEVEL. |
XI_GPO_FRAME_BUFFER_OVERFLOW | Frame buffer overflow status. |
XI_GPO_EXPOSURE_ACTIVE_FIRST_ROW | Output is on while the first row exposure. |
XI_GPO_EXPOSURE_ACTIVE_FIRST_ROW_NEG | Output is off while the first row exposure. |
XI_GPO_EXPOSURE_ACTIVE_ALL_ROWS | Output is on while all rows exposure together. |
XI_GPO_EXPOSURE_ACTIVE_ALL_ROWS_NEG | Output is off while all rows exposure together. |
XI_GPO_TXD | Output is connected to TXD of UART module |
LED Selector¶
Description: Selects LED.
Type: dict
Usage:
led_selector = cam.get_led_selector()
led_selector_min = cam.get_led_selector_minimum()
led_selector_max = cam.get_led_selector_maximum()
led_selector_inc = cam.get_led_selector_increment()
cam.set_led_selector(led_selector)
Corresponding dictionary XI_LED_SELECTOR:
Name | Description |
XI_LED_SEL1 | LED 1 |
XI_LED_SEL2 | LED 2 |
XI_LED_SEL3 | LED 3 |
XI_LED_SEL4 | LED 4 |
XI_LED_SEL5 | LED 5 |
LED Mode¶
Description: Defines LED functionality.
Type: dict
Usage:
led_mode = cam.get_led_mode()
led_mode_min = cam.get_led_mode_minimum()
led_mode_max = cam.get_led_mode_maximum()
led_mode_inc = cam.get_led_mode_increment()
cam.set_led_mode(led_mode)
Corresponding dictionary XI_LED_MODE:
Name | Description |
XI_LED_HEARTBEAT | Set led to blink (1 Hz) if link is OK. |
XI_LED_TRIGGER_ACTIVE | Set led to blink if trigger detected. |
XI_LED_EXT_EVENT_ACTIVE | Set led to blink if external signal detected. |
XI_LED_LINK | Set led to blink if link is OK. |
XI_LED_ACQUISITION | Set led to blink if data streaming |
XI_LED_EXPOSURE_ACTIVE | Set led to blink if sensor integration time. |
XI_LED_FRAME_ACTIVE | Set led to blink if device busy/not busy. |
XI_LED_OFF | Set led to off. |
XI_LED_ON | Set led to on. |
XI_LED_BLINK | Blinking (1Hz). |
GPI Debounce¶
Description: Enable/Disable debounce to selected GPI ( gpi_selector parameter). (see Note 1)
Note1: Parameter is available only for xiQ camera models.
Type: bool
Usage:
dbnc_en = cam.is_dbnc_en()
cam.enable_dbnc_en()
cam.disable_dbnc_en()
Debounce Setup Parameters
Debounce falling edge¶
Description: Debounce time (x * 10us) for transition to inactive level of GPI selected by dbnc_pol .
Type: int
Usage:
dbnc_t0 = cam.get_dbnc_t0()
dbnc_t0_min = cam.get_dbnc_t0_minimum()
dbnc_t0_max = cam.get_dbnc_t0_maximum()
dbnc_t0_inc = cam.get_dbnc_t0_increment()
cam.set_dbnc_t0(dbnc_t0)
Debounce rising edge¶
Description: Debounce time (x * 10us)for transition to active level of GPI selected by dbnc_pol
Type: int
Usage:
dbnc_t1 = cam.get_dbnc_t1()
dbnc_t1_min = cam.get_dbnc_t1_minimum()
dbnc_t1_max = cam.get_dbnc_t1_maximum()
dbnc_t1_inc = cam.get_dbnc_t1_increment()
cam.set_dbnc_t1(dbnc_t1)
Debounce polarity¶
Description: Debounce polarity selects active level of GPI (see gpi_selector parameter). Does not inverts the signal if set.
Type: int
Usage:
dbnc_pol = cam.get_dbnc_pol()
dbnc_pol_min = cam.get_dbnc_pol_minimum()
dbnc_pol_max = cam.get_dbnc_pol_maximum()
dbnc_pol_inc = cam.get_dbnc_pol_increment()
cam.set_dbnc_pol(dbnc_pol)
Lens Control Parameters
Note: Some of XIMEA cameras can be equipped with controlled lens. API for lens control contains couple of parameters.
Lens tested OK with CB cameras:
- CANON EF 50mm f/1.4 USM
- CANON EF 50mm f/1.8 II
- CANON EF 24-105 f4 L IS USM
- CANON EF 17-40mm f/4L USM
- CANON EF 100mm f/2.8 Macro USM
- CANON EF-S 17-55mm f/2.8 IS USM
- CANON EF 70-200mm f/4L IS USM
- CANON EF 50mm f/1.8 STM
- CANON EF-S 24mm f/2.8 STM
- CANON EF-S 10-18mm f/4.5-5.6 IS STM
- CANON EF-S 18-135mm f/3.5-5.6 IS STM
- Canon EF 200mm f/2.8L II USM
- Canon EF 180mm f/3.5L Macro USM
- Sigma 150mm f/2.8 EX DG OS HSM APO Macro
- Sigma 15mm f/2.8 EX DG
Lens mode¶
Description: Status of lens control interface. This shall be set to XI_ON before any Lens operations.
Type: bool
Usage:
lens_mode = cam.is_lens_mode()
cam.enable_lens_mode()
cam.disable_lens_mode()
Aperture value¶
Description: Current lens aperture value in aperture stops. Examples: 2.8, 4, 5.6, 8, 11.
Type: float
Usage:
lens_aperture_value = cam.get_lens_aperture_value()
lens_aperture_value_min = cam.get_lens_aperture_value_minimum()
lens_aperture_value_max = cam.get_lens_aperture_value_maximum()
lens_aperture_value_inc = cam.get_lens_aperture_value_increment()
cam.set_lens_aperture_value(lens_aperture_value)
Aperture index¶
Description: Current lens aperture motor step value.
Type: int
Usage:
lens_aperture_index = cam.get_lens_aperture_index()
lens_aperture_index_min = cam.get_lens_aperture_index_minimum()
lens_aperture_index_max = cam.get_lens_aperture_index_maximum()
lens_aperture_index_inc = cam.get_lens_aperture_index_increment()
cam.set_lens_aperture_index(lens_aperture_index)
Focus movement value¶
Description: Lens current focus movement value to be used by lens_focus_move in motor steps. Positive numbers will direct the movement to infinity. Negative numbers will direct the movement to macro.
Type: int
Usage:
lens_focus_movement_value = cam.get_lens_focus_movement_value()
lens_focus_movement_value_min = cam.get_lens_focus_movement_value_minimum()
lens_focus_movement_value_max = cam.get_lens_focus_movement_value_maximum()
lens_focus_movement_value_inc = cam.get_lens_focus_movement_value_increment()
cam.set_lens_focus_movement_value(lens_focus_movement_value)
Focus move¶
Description: Moves lens focus motor by steps set in lens_focus_movement_value
Type: int
Usage:
lens_focus_move = cam.get_lens_focus_move()
lens_focus_move_min = cam.get_lens_focus_move_minimum()
lens_focus_move_max = cam.get_lens_focus_move_maximum()
lens_focus_move_inc = cam.get_lens_focus_move_increment()
cam.set_lens_focus_move(lens_focus_move)
Focal length¶
Description: Lens focal distance in mm. This parameter is constant for prime lens and can change in real time for zoom lens.
Type: float
Usage:
lens_focal_length = cam.get_lens_focal_length()
lens_focal_length_min = cam.get_lens_focal_length_minimum()
lens_focal_length_max = cam.get_lens_focal_length_maximum()
lens_focal_length_inc = cam.get_lens_focal_length_increment()
Lens feature selector¶
Description: Selects the current feature which is accessible by lens_feature
Type: dict
Usage:
lens_feature_selector = cam.get_lens_feature_selector()
lens_feature_selector_min = cam.get_lens_feature_selector_minimum()
lens_feature_selector_max = cam.get_lens_feature_selector_maximum()
lens_feature_selector_inc = cam.get_lens_feature_selector_increment()
cam.set_lens_feature_selector(lens_feature_selector)
Corresponding dictionary XI_LENS_FEATURE:
Name | Description |
XI_LENS_FEATURE_MOTORIZED_FOCUS_SWITCH | Status of lens motorized focus switch |
XI_LENS_FEATURE_MOTORIZED_FOCUS_BOUNDED | On read = 1 if motorized focus is on one of limits. |
XI_LENS_FEATURE_MOTORIZED_FOCUS_CALIBRATION | (planned feature) On read = 1 if motorized focus is calibrated. Write 1 to start calibration. |
XI_LENS_FEATURE_IMAGE_STABILIZATION_ENABLED | On read = 1 if image stabilization is enabled. Write 1 to enable image stabilization. |
XI_LENS_FEATURE_IMAGE_STABILIZATION_SWITCH_STATUS | On read = 1 if image stabilization switch is in position On. |
XI_LENS_FEATURE_IMAGE_ZOOM_SUPPORTED | On read = 1 if lens supports zoom = are not prime. |
Feature value¶
Description: Allows access to lens feature value currently selected by lens_feature_selector .
Type: float
Usage:
lens_feature = cam.get_lens_feature()
lens_feature_min = cam.get_lens_feature_minimum()
lens_feature_max = cam.get_lens_feature_maximum()
lens_feature_inc = cam.get_lens_feature_increment()
cam.set_lens_feature(lens_feature)
Device Info Parameters
Camera model¶
Description: Return device name.
Type: str
Usage:
device_name = cam.get_device_name(buffer_size=256)
Camera type¶
Description: Returns device type (1394, USB2.0, USB3.0, PCIe, ...).
Type: str
Usage:
device_type = cam.get_device_type(buffer_size=256)
Model ID¶
Description: Returns the device model id.
Type: int
Usage:
device_model_id = cam.get_device_model_id()
device_model_id_min = cam.get_device_model_id_minimum()
device_model_id_max = cam.get_device_model_id_maximum()
device_model_id_inc = cam.get_device_model_id_increment()
Sensor ID¶
Description: Returns the device sensor model id.
Type: int
Usage:
sensor_model_id = cam.get_sensor_model_id()
sensor_model_id_min = cam.get_sensor_model_id_minimum()
sensor_model_id_max = cam.get_sensor_model_id_maximum()
sensor_model_id_inc = cam.get_sensor_model_id_increment()
Serial number¶
Description: Returns device serial number. Only string form is possible. It might contain also alphabet characters.
Type: str
Usage:
device_sn = cam.get_device_sn(buffer_size=256)
Sensor SN¶
Description: Returns sensor serial number.
Type: str
Usage:
device_sens_sn = cam.get_device_sens_sn(buffer_size=256)
Device system path¶
Description: Returns device instance path in operating system.
Type: str
Usage:
device_inst_path = cam.get_device_inst_path(buffer_size=256)
Device location path¶
Description: Returns device location path in operating system. It should reflect the connection position.
Type: str
Usage:
device_loc_path = cam.get_device_loc_path(buffer_size=256)
Custom user ID¶
Description: Get/Set custom user ID stored in camera non volatile memory. This can be later used as a handle for opening or identification.
Note1: It is currently available only on some models
Note2: For xiQ camera devices are supported maximum length 56 characters.
Note3: For xiC camera devices are supported maximum length 48 characters.
Note4: For xiB, xiT, xiX camera devices are supported maximum length 4 characters. (Power off/on required after User ID changed)
Type: str
Usage:
device_user_id = cam.get_device_user_id(buffer_size=256)
Device manifest¶
Description: Get XML of current xiAPI device parameters and capabilities.
Type: str
Usage:
device_manifest = cam.get_device_manifest(buffer_size=256)
Image User Data¶
Description: Sets the user data (32bit number) into camera. The following frame captured by camera will have this number stored at image header. The number is accessible later after xiGetImage in XI_IMG structure as image_user_data.
Supported cameras: xiB, xiT
Type: int
Usage:
image_user_data = cam.get_image_user_data()
image_user_data_min = cam.get_image_user_data_minimum()
image_user_data_max = cam.get_image_user_data_maximum()
image_user_data_inc = cam.get_image_user_data_increment()
cam.set_image_user_data(image_user_data)
Device Acquisition Settings Parameters
RGB32 alpha¶
Description: The alpha channel of RGB32 output image format(see imgdataformat ).
Type: int
Usage:
imgdataformatrgb32alpha = cam.get_imgdataformatrgb32alpha()
imgdataformatrgb32alpha_min = cam.get_imgdataformatrgb32alpha_minimum()
imgdataformatrgb32alpha_max = cam.get_imgdataformatrgb32alpha_maximum()
imgdataformatrgb32alpha_inc = cam.get_imgdataformatrgb32alpha_increment()
cam.set_imgdataformatrgb32alpha(imgdataformatrgb32alpha)
Image payload size¶
Description: Buffer size in bytes sufficient for output image returned by GetImage
Type: int
Usage:
imgpayloadsize = cam.get_imgpayloadsize()
imgpayloadsize_min = cam.get_imgpayloadsize_minimum()
imgpayloadsize_max = cam.get_imgpayloadsize_maximum()
imgpayloadsize_inc = cam.get_imgpayloadsize_increment()
Transport pixel format¶
Description: Transport pixel format is format of data transported by link to transport layer. It might be modified after setting of imgdataformat , output_bit_packing , output_bit_depth , ...
Type: dict
Usage:
transport_pixel_format = cam.get_transport_pixel_format()
transport_pixel_format_min = cam.get_transport_pixel_format_minimum()
transport_pixel_format_max = cam.get_transport_pixel_format_maximum()
transport_pixel_format_inc = cam.get_transport_pixel_format_increment()
cam.set_transport_pixel_format(transport_pixel_format)
Transport data target¶
Description: Sets image data delivery target to CPU RAM (default) or GPU RAM.
How to configure GPUDirect for memory transfers How to configure CUDA for memory transfersType: dict
Usage:
transport_data_target = cam.get_transport_data_target()
transport_data_target_min = cam.get_transport_data_target_minimum()
transport_data_target_max = cam.get_transport_data_target_maximum()
transport_data_target_inc = cam.get_transport_data_target_increment()
cam.set_transport_data_target(transport_data_target)
Corresponding dictionary XI_TRANSPORT_DATA_TARGET_MODE:
Name | Description |
XI_TRANSPORT_DATA_TARGET_CPU_RAM | normal CPU memory buffer is used for image data |
XI_TRANSPORT_DATA_TARGET_GPU_RAM | data is delivered straight to GPU memory using GPUDirect technology |
XI_TRANSPORT_DATA_TARGET_UNIFIED | CUDA managed memory is used for image data. |
XI_TRANSPORT_DATA_TARGET_ZEROCOPY | CUDA zerocopy memory is used for image data. |
Sensor clock frequency¶
Description: Set or return the sensor clock frequency. This clock is specific to sensor used. See documentation/application for the camera to use this parameter.
Type: float
Usage:
sensor_clock_freq_hz = cam.get_sensor_clock_freq_hz()
sensor_clock_freq_hz_min = cam.get_sensor_clock_freq_hz_minimum()
sensor_clock_freq_hz_max = cam.get_sensor_clock_freq_hz_maximum()
sensor_clock_freq_hz_inc = cam.get_sensor_clock_freq_hz_increment()
cam.set_sensor_clock_freq_hz(sensor_clock_freq_hz)
Sensor clock frequency index¶
Description: Sensor clock frequency. Selects frequency on cameras which supports only some specific frequencies.
Type: int
Usage:
sensor_clock_freq_index = cam.get_sensor_clock_freq_index()
sensor_clock_freq_index_min = cam.get_sensor_clock_freq_index_minimum()
sensor_clock_freq_index_max = cam.get_sensor_clock_freq_index_maximum()
sensor_clock_freq_index_inc = cam.get_sensor_clock_freq_index_increment()
cam.set_sensor_clock_freq_index(sensor_clock_freq_index)
Sensor output channel count¶
Description: Number of output channels from sensor used for data transfer.
Type: dict
Usage:
sensor_output_channel_count = cam.get_sensor_output_channel_count()
sensor_output_channel_count_min = cam.get_sensor_output_channel_count_minimum()
sensor_output_channel_count_max = cam.get_sensor_output_channel_count_maximum()
sensor_output_channel_count_inc = cam.get_sensor_output_channel_count_increment()
cam.set_sensor_output_channel_count(sensor_output_channel_count)
Corresponding dictionary XI_SENSOR_OUTPUT_CHANNEL_COUNT:
Name | Description |
XI_CHANN_CNT2 | 2 sensor readout channels. |
XI_CHANN_CNT4 | 4 sensor readout channels. |
XI_CHANN_CNT8 | 8 sensor readout channels. |
XI_CHANN_CNT16 | 16 sensor readout channels. |
XI_CHANN_CNT24 | 24 sensor readout channels. |
XI_CHANN_CNT32 | 32 sensor readout channels. |
XI_CHANN_CNT48 | 48 sensor readout channels. |
Frame rate¶
Description: Defines frames per second of sensor. See more details in article Frame Rate Control On some camera models it is possible to change or limit acquisition frame rate. Frame rate value should be within possible range, use
get_framerate_maximum()
,
get_framerate_minimum()
.
Type: float
Usage:
framerate = cam.get_framerate()
framerate_min = cam.get_framerate_minimum()
framerate_max = cam.get_framerate_maximum()
framerate_inc = cam.get_framerate_increment()
cam.set_framerate(framerate)
Counter selector¶
Description: Selects which frame counter must be returned
Note1: It returns number of skipped frames on the transport layer, number of skipped frames on API layer, number of successfully transferred frames.
Type: dict
Usage:
counter_selector = cam.get_counter_selector()
counter_selector_min = cam.get_counter_selector_minimum()
counter_selector_max = cam.get_counter_selector_maximum()
counter_selector_inc = cam.get_counter_selector_increment()
cam.set_counter_selector(counter_selector)
Corresponding dictionary XI_COUNTER_SELECTOR:
Name | Description |
XI_CNT_SEL_TRANSPORT_SKIPPED_FRAMES | Number of skipped frames on transport layer (e.g. when image gets lost while transmission). Occur when capacity of transport channel does not allow to transfer all data. |
XI_CNT_SEL_API_SKIPPED_FRAMES | Number of skipped frames on API layer. Occur when application does not process the images as quick as they are received from the camera. |
XI_CNT_SEL_TRANSPORT_TRANSFERRED_FRAMES | Number of delivered buffers since last acquisition start. |
XI_CNT_SEL_FRAME_MISSED_TRIGGER_DUETO_OVERLAP | Number of missed triggers overlapped with exposure or read-out stage of previous frame – see XI_PRM_TRG_OVERLAP. (see Note1) |
XI_CNT_SEL_FRAME_MISSED_TRIGGER_DUETO_FRAME_BUFFER_OVR | Number of missed triggers due to frame buffer full. (see Note1) |
XI_CNT_SEL_FRAME_BUFFER_OVERFLOW | Internal camera frame buffer memory (RAM) full events counter. It can be incremented multiple times per one frame. (see Note1) |
XI_CNT_SEL_TRANSPORT_QUEUE_UNDERRUN | Incremented when camera starts to transfer new image, however no target buffer is queued in the transport queue. Connected to GenTL.STREAM_INFO_NUM_UNDERRUN. (see Note1) |
XI_CNT_SEL_ACQUISITION_AUTO_RESTARTED_ON_FAILURE | Acquisition can be restarted, due to failures on bus |
Note1: Available only on cameras series: xiX, xiB, xiT, xiC, xiMUdeveloped since 2023 (MU196, MU050, MU051).
Counter value¶
Description: Returns value of selected (by counter_selector ) frame counter.
Note: All counters are reset with the camera open, and counters XI_CNT_SEL_TRANSPORT_SKIPPED_FRAMES, XI_CNT_SEL_API_SKIPPED_FRAMES and XI_CNT_SEL_TRANSPORT_TRANSFERRED_FRAMES are also reset with acquisition start.
Type: int
Usage:
counter_value = cam.get_counter_value()
counter_value_min = cam.get_counter_value_minimum()
counter_value_max = cam.get_counter_value_maximum()
counter_value_inc = cam.get_counter_value_increment()
Acquisition timing mode¶
Description: This parameter defines the acquisition timing mode. More information about enumerators XI_ACQ_TIMING_MODE_FRAME_RATE and XI_ACQ_TIMING_MODE_FRAME_RATE_LIMIT please refer to our Frame Rate Control support page.
Type: dict
Usage:
acq_timing_mode = cam.get_acq_timing_mode()
acq_timing_mode_min = cam.get_acq_timing_mode_minimum()
acq_timing_mode_max = cam.get_acq_timing_mode_maximum()
acq_timing_mode_inc = cam.get_acq_timing_mode_increment()
cam.set_acq_timing_mode(acq_timing_mode)
Corresponding dictionary XI_ACQ_TIMING_MODE:
Name | Description |
XI_ACQ_TIMING_MODE_FREE_RUN | camera acquires images at a maximum possible framerate |
XI_ACQ_TIMING_MODE_FRAME_RATE | Selects a mode when sensor frame acquisition frequency is set to parameter FRAMERATE |
XI_ACQ_TIMING_MODE_FRAME_RATE_LIMIT | Selects a mode when sensor frame acquisition frequency is limited by parameter FRAMERATE |
Available bandwidth¶
Description: Measure available interface bandwidth. Unit is Megabits (1000000) per sec.
Note: Measurement is optimized for default parameters after OpenDevice, which is suggested point for usage. Some parameters could be changed by getting available bandwidth. Please set camera parameters to needed value after getting of available bandwidth.
Type: int
Usage:
available_bandwidth = cam.get_available_bandwidth()
available_bandwidth_min = cam.get_available_bandwidth_minimum()
available_bandwidth_max = cam.get_available_bandwidth_maximum()
available_bandwidth_inc = cam.get_available_bandwidth_increment()
Buffer policy¶
Description: Defines buffer handling. Can be safe, data will be copied to user/app buffer or unsafe, user will get internally allocated buffer without data copy. Size of the image buffer can be obtained by parameter imgpayloadsize
Note: Click to below link to open simple description of buffer policy. buffer_policy_in_xiApi.png
Type: dict
Usage:
buffer_policy = cam.get_buffer_policy()
buffer_policy_min = cam.get_buffer_policy_minimum()
buffer_policy_max = cam.get_buffer_policy_maximum()
buffer_policy_inc = cam.get_buffer_policy_increment()
cam.set_buffer_policy(buffer_policy)
Corresponding dictionary XI_BP:
Name | Description |
XI_BP_UNSAFE | User gets pointer to internally allocated circle buffer and data may be overwritten by device. |
XI_BP_SAFE | Data from device will be copied to user allocated buffer or xiApi allocated memory. |
Enable LUT¶
Description: Activates Look-Up-Table (LUT).
Note1: Possible value: 0 - sensor pixels are transferred directly
Note2: Possible value: 1 - sensor pixels are mapped through LUT
Note3: LUT parameters are valid only for some cameras. E.g. xiQ supports LUT. xiMU (MU9PM-MH) does NOT support it.
Note4: For xiQ cameras setting LUTEnable also uploads previously set values in to camera. Values are latched in API.
Type: bool
Usage:
LUTEnable = cam.is_LUTEnable()
cam.enable_LUTEnable()
cam.disable_LUTEnable()
LUT Index¶
Description: Controls the index (offset) of the coefficient to access in the LUT.
Note1: All xiQ cameras have LUT N-bit to N-bit, based on the sensor_bit_depth For the specific camera. All xiC/xiX/xiT cameras have LUT 12-bit to 12-bit.
Note2: Range of applicable indexes depends on sensor digitization bit depth (sensor_bit_depth). Use
get_LUTIndex_maximum()
,
get_LUTIndex_minimum()
.
Type: int
Usage:
LUTIndex = cam.get_LUTIndex()
LUTIndex_min = cam.get_LUTIndex_minimum()
LUTIndex_max = cam.get_LUTIndex_maximum()
LUTIndex_inc = cam.get_LUTIndex_increment()
cam.set_LUTIndex(LUTIndex)
LUT value¶
Description: Defines value at entry LUTIndex of the LUT.
Note1: Range of applicable values depends on sensor digitization bit depth (sensor_bit_depth). Use
get_LUTValue_maximum()
,
get_LUTValue_minimum()
.
Note2: All xiQ cameras have LUT N-bit to N-bit, based on the sensor_bit_depth of the specific camera. All xiC/xiX/xiT cameras have LUT 12-bit to 12-bit.
Note2: For xiQ cameras setting values has no direct effect on image, only after setting LUTEnable to value 1, will apply all changes to camera.
Type: int
Usage:
LUTValue = cam.get_LUTValue()
LUTValue_min = cam.get_LUTValue_minimum()
LUTValue_max = cam.get_LUTValue_maximum()
LUTValue_inc = cam.get_LUTValue_increment()
cam.set_LUTValue(LUTValue)
Trigger delay¶
Description: When set delay time is inserted between camera trigger input and activating sensor integration. Delay time is set in us.
Note: Setting of this parameter is applicable for selected cameras:
- xiX, xiB, xiT, xiC
- xiMU (MU9). Granularity of real delay duration depends on sensor settings (line read out time). Typical granularity is up to 100 microseconds. Maximum time is approx. 100ms for xiMU camera.
Type: int
Usage:
trigger_delay = cam.get_trigger_delay()
trigger_delay_min = cam.get_trigger_delay_minimum()
trigger_delay_max = cam.get_trigger_delay_maximum()
trigger_delay_inc = cam.get_trigger_delay_increment()
cam.set_trigger_delay(trigger_delay)
Timestamp reset mode¶
Description: Defines way timestamp reset engine is armed.
Type: dict
Usage:
ts_rst_mode = cam.get_ts_rst_mode()
ts_rst_mode_min = cam.get_ts_rst_mode_minimum()
ts_rst_mode_max = cam.get_ts_rst_mode_maximum()
ts_rst_mode_inc = cam.get_ts_rst_mode_increment()
cam.set_ts_rst_mode(ts_rst_mode)
Corresponding dictionary XI_TS_RST_MODE:
Name | Description |
XI_TS_RST_ARM_ONCE | Engine is disabled after TimeStamp has been reset after selected event. |
XI_TS_RST_ARM_PERSIST | Engine is armed permanently so each selected event will trigger TimeStamp reset. |
Timestamp reset source¶
Description: Defines source for timestamp reset engine as well as the polarity active signal. The engine is edge sensitive.
Note: Number of active GPI or GPO depends on camera model.
Type: dict
Usage:
ts_rst_source = cam.get_ts_rst_source()
ts_rst_source_min = cam.get_ts_rst_source_minimum()
ts_rst_source_max = cam.get_ts_rst_source_maximum()
ts_rst_source_inc = cam.get_ts_rst_source_increment()
cam.set_ts_rst_source(ts_rst_source)
Corresponding dictionary XI_TS_RST_SOURCE:
Name | Description |
XI_TS_RST_OFF | No source selected TimeStamp reset is not armed. |
XI_TS_RST_SRC_GPI_1 | GPI1 rising edge is active (signal after de-bounce module) |
XI_TS_RST_SRC_GPI_2 | GPI2 rising edge is active |
XI_TS_RST_SRC_GPI_3 | GPI3 rising edge is active |
XI_TS_RST_SRC_GPI_4 | GPI4 rising edge is active |
XI_TS_RST_SRC_GPI_1_INV | GPI1 falling edge is active |
XI_TS_RST_SRC_GPI_2_INV | GPI2 falling edge is active |
XI_TS_RST_SRC_GPI_3_INV | GPI3 falling edge is active |
XI_TS_RST_SRC_GPI_4_INV | GPI4 falling edge is active |
XI_TS_RST_SRC_GPO_1 | TimeStamp reset source selected GPO1 |
XI_TS_RST_SRC_GPO_2 | TimeStamp reset source selected GPO2 |
XI_TS_RST_SRC_GPO_3 | TimeStamp reset source selected GPO3 |
XI_TS_RST_SRC_GPO_4 | TimeStamp reset source selected GPO4 |
XI_TS_RST_SRC_GPO_1_INV | TimeStamp reset source selected GPO1 inverted |
XI_TS_RST_SRC_GPO_2_INV | TimeStamp reset source selected GPO2 inverted |
XI_TS_RST_SRC_GPO_3_INV | TimeStamp reset source selected GPO3 inverted |
XI_TS_RST_SRC_GPO_4_INV | TimeStamp reset source selected GPO4 inverted |
XI_TS_RST_SRC_TRIGGER | TRIGGER to sensor rising edge is active |
XI_TS_RST_SRC_TRIGGER_INV | TRIGGER to sensor rising edge is active |
XI_TS_RST_SRC_SW | TRIGGER to sensor rising edge is active. TimeStamp is reset by software take effect imminently. |
XI_TS_RST_SRC_EXPACTIVE | Exposure Active signal rising edge |
XI_TS_RST_SRC_EXPACTIVE_INV | Exposure Active signal falling edge |
XI_TS_RST_SRC_FVAL | Frame valid signal rising edge (internal signal in camera) |
XI_TS_RST_SRC_FVAL_INV | Frame valid signal falling edge (internal signal in camera) |
XI_TS_RST_SRC_GPI_5 | GPI5 rising edge is active |
XI_TS_RST_SRC_GPI_6 | GPI6 rising edge is active |
XI_TS_RST_SRC_GPI_5_INV | GPI5 falling edge is active |
XI_TS_RST_SRC_GPI_6_INV | GPI6 falling edge is active |
XI_TS_RST_SRC_GPI_7 | TimeStamp reset source selected GPI7 (after de bounce) |
XI_TS_RST_SRC_GPI_8 | TimeStamp reset source selected GPI8 (after de bounce) |
XI_TS_RST_SRC_GPI_9 | TimeStamp reset source selected GPI9 (after de bounce) |
XI_TS_RST_SRC_GPI_10 | TimeStamp reset source selected GPI10 (after de bounce) |
XI_TS_RST_SRC_GPI_11 | TimeStamp reset source selected GPI11 (after de bounce) |
XI_TS_RST_SRC_GPI_7_INV | TimeStamp reset source selected GPI7 inverted (after de bounce) |
XI_TS_RST_SRC_GPI_8_INV | TimeStamp reset source selected GPI8 inverted (after de bounce) |
XI_TS_RST_SRC_GPI_9_INV | TimeStamp reset source selected GPI9 inverted (after de bounce) |
XI_TS_RST_SRC_GPI_10_INV | TimeStamp reset source selected GPI10 inverted (after de bounce) |
XI_TS_RST_SRC_GPI_11_INV | TimeStamp reset source selected GPI11 inverted (after de bounce) |
Extended Device Parameters
Device exists¶
Description: Returns 1 if camera connected and works properly.
Type: bool
Usage:
isexist = cam.is_isexist()
Acq. buffer size¶
Description: Defines the size of the acquisition buffer in bytes(see Image below). This is a circle buffer which contains image data from sensor. This parameter can be set only when acquisition is stopped.
Note1: If the processing of this image takes more time than these 7seconds, the image data will be automatically overwritten with new image data due to the circular character of the buffer.
Note2: The maximal value for this parameter is 2147483647 because it uses the signed integer.
Type: int
Usage:
acq_buffer_size = cam.get_acq_buffer_size()
acq_buffer_size_min = cam.get_acq_buffer_size_minimum()
acq_buffer_size_max = cam.get_acq_buffer_size_maximum()
acq_buffer_size_inc = cam.get_acq_buffer_size_increment()
cam.set_acq_buffer_size(acq_buffer_size)
Acq. buffer size unit¶
Description: Acquisition buffer size unit. Default 1. E.g. Value 1024 means that buffer_size is in KiBytes.
Type: int
Usage:
acq_buffer_size_unit = cam.get_acq_buffer_size_unit()
acq_buffer_size_unit_min = cam.get_acq_buffer_size_unit_minimum()
acq_buffer_size_unit_max = cam.get_acq_buffer_size_unit_maximum()
acq_buffer_size_unit_inc = cam.get_acq_buffer_size_unit_increment()
cam.set_acq_buffer_size_unit(acq_buffer_size_unit)
Acq. transport buffer size bytes¶
Description: Size of one transport buffer in bytes (only valid for MQ,MD camera families). Frame/Field can contain multiple transport buffers. To decrease CPU load and increase system performance on committing transport buffers to kernel driver, transport buffer size has to be as high as possible. However in case of small Frame/Field size and high framerates it is necessary to decrease transport buffer size and increase queue of Frame/Field buffers ( buffers_queue_size ). Check out How to optimize software performance on high frame rates for more info.
Note: Whole range minimum to maximum is not guaranteed on all tested configurations. Please be aware of possible issues on some controllers.
Type: int
Usage:
acq_transport_buffer_size = cam.get_acq_transport_buffer_size()
acq_transport_buffer_size_min = cam.get_acq_transport_buffer_size_minimum()
acq_transport_buffer_size_max = cam.get_acq_transport_buffer_size_maximum()
acq_transport_buffer_size_inc = cam.get_acq_transport_buffer_size_increment()
cam.set_acq_transport_buffer_size(acq_transport_buffer_size)
Acq. transport packet size bytes¶
Description: Acquisition transport packet size in bytes. (only valid for MQ,MD camera families)
Type: int
Usage:
acq_transport_packet_size = cam.get_acq_transport_packet_size()
acq_transport_packet_size_min = cam.get_acq_transport_packet_size_minimum()
acq_transport_packet_size_max = cam.get_acq_transport_packet_size_maximum()
acq_transport_packet_size_inc = cam.get_acq_transport_packet_size_increment()
cam.set_acq_transport_packet_size(acq_transport_packet_size)
Acq. queue image count¶
Description: buffers_queue_size - 1 is the maximum number of images which can be stored in the buffers queue.
Type: int
Usage:
buffers_queue_size = cam.get_buffers_queue_size()
buffers_queue_size_min = cam.get_buffers_queue_size_minimum()
buffers_queue_size_max = cam.get_buffers_queue_size_maximum()
buffers_queue_size_inc = cam.get_buffers_queue_size_increment()
cam.set_buffers_queue_size(buffers_queue_size)
Total number of buffers to be committed to transport¶
Description: Defines number of buffers to be committed to transport layer. (only valid for USB 3.0 camera families)
Type: int
Usage:
acq_transport_buffer_commit = cam.get_acq_transport_buffer_commit()
acq_transport_buffer_commit_min = cam.get_acq_transport_buffer_commit_minimum()
acq_transport_buffer_commit_max = cam.get_acq_transport_buffer_commit_maximum()
acq_transport_buffer_commit_inc = cam.get_acq_transport_buffer_commit_increment()
cam.set_acq_transport_buffer_commit(acq_transport_buffer_commit)
Retrieve recent image¶
Description: This parameter changes the behavior of xiGetImage.
Note1: possible value: 0 - Retrieves next available image from buffer
Note2: possible value: 1 - Retrieves the most recent image from buffer
Type: bool
Usage:
recent_frame = cam.is_recent_frame()
cam.enable_recent_frame()
cam.disable_recent_frame()
Device reset¶
Description: Resets the camera firmware. From the functional view, it is the same as disconnection and connection of the camera.It is typically followed by an enumeration of the operating system which might take some time (e.g. 10 seconds). Application shall wait some time after the reset and then use xiGetNumberDevices in order to enumerate the camera again. It should be used on the device with the stopped acquisition. After re-enumeration closing of the old device to release its handler is recommended. A new handler should be used for further image acquisition.
Note: currently supported only for xiQ camera family
Type: int
Usage:
device_reset = cam.get_device_reset()
device_reset_min = cam.get_device_reset_minimum()
device_reset_max = cam.get_device_reset_maximum()
device_reset_inc = cam.get_device_reset_increment()
cam.set_device_reset(device_reset)
Enable/disable the Concatenated Images in One Buffer feature¶
Description: Enable/disable the Concatenated Images in One Buffer feature
Type: bool
Usage:
concat_img_mode = cam.is_concat_img_mode()
cam.enable_concat_img_mode()
cam.disable_concat_img_mode()
Number of Concatenated Images in One Buffer¶
Description: Number of Concatenated Images in One Buffer.
Note: Read more at Concatenated Images in One Buffer feature.
Type: int
Usage:
concat_img_count = cam.get_concat_img_count()
concat_img_count_min = cam.get_concat_img_count_minimum()
concat_img_count_max = cam.get_concat_img_count_maximum()
concat_img_count_inc = cam.get_concat_img_count_increment()
cam.set_concat_img_count(concat_img_count)
Offset between images data in transport buffer when feature Concatenated Images in One Buffer is enabled¶
Description: Offset between images data in transport buffer when feature Concatenated Images in One Buffer is enabled
Type: int
Usage:
concat_img_transport_img_offset = cam.get_concat_img_transport_img_offset()
concat_img_transport_img_offset_min = cam.get_concat_img_transport_img_offset_minimum()
concat_img_transport_img_offset_max = cam.get_concat_img_transport_img_offset_maximum()
concat_img_transport_img_offset_inc = cam.get_concat_img_transport_img_offset_increment()
Probe Selector¶
Description: Select Probe
Type: dict
Usage:
probe_selector = cam.get_probe_selector()
probe_selector_min = cam.get_probe_selector_minimum()
probe_selector_max = cam.get_probe_selector_maximum()
probe_selector_inc = cam.get_probe_selector_increment()
cam.set_probe_selector(probe_selector)
Corresponding dictionary XI_PROBE_SELECTOR:
Name | Description |
XI_PROBE_SELECTOR_CURRENT_MAINBOARD_VCC_IN | Current probe on Main Board at VCC_IN power supply |
XI_PROBE_SELECTOR_VOLTAGE_MAINBOARD_VCC_IN | Voltage probe on Main Board at VCC_IN power supply |
XI_PROBE_SELECTOR_CURRENT_MAINBOARD_VCC_ADJ2 | Current probe on Main Board at VCC_ADJ2 power supply |
XI_PROBE_SELECTOR_VOLTAGE_MAINBOARD_VCC_ADJ2 | Voltage probe on Main Board at VCC_ADJ2 power supply |
XI_PROBE_SELECTOR_CURRENT_MAINBOARD_VCC_ADJ1 | Current probe on Main Board at VCC_ADJ1 power supply |
XI_PROBE_SELECTOR_VOLTAGE_MAINBOARD_VCC_ADJ1 | Voltage probe on Main Board at VCC_ADJ1 power supply |
XI_PROBE_SELECTOR_CURRENT_MAINBOARD_VCC_PLT | Current probe on Main Board at VCC_PLT power supply |
XI_PROBE_SELECTOR_VOLTAGE_MAINBOARD_VCC_PLT | Voltage probe on Main Board at VCC_PLT power supply |
XI_PROBE_SELECTOR_VOLTAGE_SENSORBOARD_VCC_ADJ1 | Voltage probe on Sensor Board at VCC_ADJ1 |
XI_PROBE_SELECTOR_VOLTAGE_SENSORBOARD_VCC_ADJ2 | Voltage probe on Sensor Board at VCC_ADJ2 |
XI_PROBE_SELECTOR_VOLTAGE_SENSORBOARD_VCC_5V0 | Voltage probe on Sensor Board at VCC_5V0 |
XI_PROBE_SELECTOR_VOLTAGE_SENSORBOARD_VCC_3V3 | Voltage probe on Sensor Board at VCC_3V3 |
XI_PROBE_SELECTOR_VOLTAGE_DATA_CON_INPUT | Voltage probe on device input, if device is bus powered |
XI_PROBE_SELECTOR_VOLTAGE_PELTIER1 | Voltage probe on peltier #1 |
XI_PROBE_SELECTOR_CURRENT_PELTIER1 | Current probe on peltier #1 |
XI_PROBE_SELECTOR_VOLTAGE_PELTIER2 | Voltage probe on peltier #2 |
XI_PROBE_SELECTOR_CURRENT_PELTIER2 | Current probe on peltier #2 |
XI_PROBE_SELECTOR_VOLTAGE_MAINBOARD_VCC_5V0 | Voltage probe on Main Board at VCC_5V0 power supply |
XI_PROBE_SELECTOR_CURRENT_MAINBOARD_VCC_5V0 | Current probe on Main Board at VCC_5V0 power supply |
Probe Value¶
Description: Returns Value of the selected Probe
Type: float
Usage:
probe_value = cam.get_probe_value()
probe_value_min = cam.get_probe_value_minimum()
probe_value_max = cam.get_probe_value_maximum()
probe_value_inc = cam.get_probe_value_increment()
Sensor Defects Correction Parameters
Column FPN correction¶
Description: Correction of column fpn.
Type: dict
Usage:
column_fpn_correction = cam.get_column_fpn_correction()
column_fpn_correction_min = cam.get_column_fpn_correction_minimum()
column_fpn_correction_max = cam.get_column_fpn_correction_maximum()
column_fpn_correction_inc = cam.get_column_fpn_correction_increment()
cam.set_column_fpn_correction(column_fpn_correction)
Corresponding dictionary XI_SWITCH:
Name | Description |
XI_OFF | Turn parameter off |
XI_ON | Turn parameter on |
Row FPN correction¶
Description: Correction of row fpn.
Type: dict
Usage:
row_fpn_correction = cam.get_row_fpn_correction()
row_fpn_correction_min = cam.get_row_fpn_correction_minimum()
row_fpn_correction_max = cam.get_row_fpn_correction_maximum()
row_fpn_correction_inc = cam.get_row_fpn_correction_increment()
cam.set_row_fpn_correction(row_fpn_correction)
Corresponding dictionary XI_SWITCH:
Name | Description |
XI_OFF | Turn parameter off |
XI_ON | Turn parameter on |
Column black offset correction¶
Description: Correction of column black offset.
Type: dict
Usage:
column_black_offset_correction = cam.get_column_black_offset_correction()
column_black_offset_correction_min = cam.get_column_black_offset_correction_minimum()
column_black_offset_correction_max = cam.get_column_black_offset_correction_maximum()
column_black_offset_correction_inc = cam.get_column_black_offset_correction_increment()
cam.set_column_black_offset_correction(column_black_offset_correction)
Corresponding dictionary XI_SWITCH:
Name | Description |
XI_OFF | Turn parameter off |
XI_ON | Turn parameter on |
Row black offset correction¶
Description: Correction of row black offset.
Type: dict
Usage:
row_black_offset_correction = cam.get_row_black_offset_correction()
row_black_offset_correction_min = cam.get_row_black_offset_correction_minimum()
row_black_offset_correction_max = cam.get_row_black_offset_correction_maximum()
row_black_offset_correction_inc = cam.get_row_black_offset_correction_increment()
cam.set_row_black_offset_correction(row_black_offset_correction)
Corresponding dictionary XI_SWITCH:
Name | Description |
XI_OFF | Turn parameter off |
XI_ON | Turn parameter on |
Sensor Features Parameters
Sensor mode¶
Description: Current sensor mode. Allows to select sensor mode by one integer. Setting of this parameter affects: image dimensions and downsampling.
Type: dict
Usage:
sensor_mode = cam.get_sensor_mode()
sensor_mode_min = cam.get_sensor_mode_minimum()
sensor_mode_max = cam.get_sensor_mode_maximum()
sensor_mode_inc = cam.get_sensor_mode_increment()
cam.set_sensor_mode(sensor_mode)
Corresponding dictionary XI_SENSOR_MODE:
Name | Description |
XI_SENS_MD0 | Sensor mode number 0 |
XI_SENS_MD1 | Sensor mode number 1 |
XI_SENS_MD2 | Sensor mode number 2 |
XI_SENS_MD3 | Sensor mode number 3 |
XI_SENS_MD4 | Sensor mode number 4 |
XI_SENS_MD5 | Sensor mode number 5 |
XI_SENS_MD6 | Sensor mode number 6 |
XI_SENS_MD7 | Sensor mode number 7 |
XI_SENS_MD8 | Sensor mode number 8 |
XI_SENS_MD9 | Sensor mode number 9 |
XI_SENS_MD10 | Sensor mode number 10 |
XI_SENS_MD11 | Sensor mode number 11 |
XI_SENS_MD12 | Sensor mode number 12 |
XI_SENS_MD13 | Sensor mode number 13 |
XI_SENS_MD14 | Sensor mode number 14 |
XI_SENS_MD15 | Sensor mode number 15 |
HDR¶
Description: Enable High Dynamic Range sensor feature.
Note1: enables HDR mode for certain type of sensors. For more information see HDR mode support page.
Type: bool
Usage:
hdr = cam.is_hdr()
cam.enable_hdr()
cam.disable_hdr()
HDR Knee point count¶
Description: number of kneepoints.
Note1: Defines the number of kneepoints in the Piecewise Linear Response (PWLR) curve.
Note2: In case of one kneepoint, the kneepoint is defined by parameters (T2,SL2). In case of two kneepoints define both (T1,SL1), (T2,SL2).
Type: int
Usage:
hdr_kneepoint_count = cam.get_hdr_kneepoint_count()
hdr_kneepoint_count_min = cam.get_hdr_kneepoint_count_minimum()
hdr_kneepoint_count_max = cam.get_hdr_kneepoint_count_maximum()
hdr_kneepoint_count_inc = cam.get_hdr_kneepoint_count_increment()
cam.set_hdr_kneepoint_count(hdr_kneepoint_count)
HDR Time slope 1¶
Description: Exposure time (T1) of 1st kneepoint in % of exposure
Type: int
Usage:
hdr_t1 = cam.get_hdr_t1()
hdr_t1_min = cam.get_hdr_t1_minimum()
hdr_t1_max = cam.get_hdr_t1_maximum()
hdr_t1_inc = cam.get_hdr_t1_increment()
cam.set_hdr_t1(hdr_t1)
HDR Time slope 2¶
Description: Exposure time (T2) of 2nd kneepoint in % of
Type: int
Usage:
hdr_t2 = cam.get_hdr_t2()
hdr_t2_min = cam.get_hdr_t2_minimum()
hdr_t2_max = cam.get_hdr_t2_maximum()
hdr_t2_inc = cam.get_hdr_t2_increment()
cam.set_hdr_t2(hdr_t2)
HDR Knee point 1¶
Description: Saturation level (SL1) of 1st kneepoint in % of sensor saturation.
Type: int
Usage:
hdr_kneepoint1 = cam.get_hdr_kneepoint1()
hdr_kneepoint1_min = cam.get_hdr_kneepoint1_minimum()
hdr_kneepoint1_max = cam.get_hdr_kneepoint1_maximum()
hdr_kneepoint1_inc = cam.get_hdr_kneepoint1_increment()
cam.set_hdr_kneepoint1(hdr_kneepoint1)
HDR Knee point 2¶
Description: Saturation level (SL2) of 2nd kneepoint in % of sensor saturation.
Type: int
Usage:
hdr_kneepoint2 = cam.get_hdr_kneepoint2()
hdr_kneepoint2_min = cam.get_hdr_kneepoint2_minimum()
hdr_kneepoint2_max = cam.get_hdr_kneepoint2_maximum()
hdr_kneepoint2_inc = cam.get_hdr_kneepoint2_increment()
cam.set_hdr_kneepoint2(hdr_kneepoint2)
Black level¶
Description: Black level is calculated level (in pixel counts) that should reflect the value of pixels without light. It should be the same as XI_IMG.black_level from last image get using xiGetImage. Setting of this parameter does not affect the data from sensor or API when camera is connected. It can be used for setting black level only for Offline Processing.
Type: int
Usage:
image_black_level = cam.get_image_black_level()
image_black_level_min = cam.get_image_black_level_minimum()
image_black_level_max = cam.get_image_black_level_maximum()
image_black_level_inc = cam.get_image_black_level_increment()
Image Area¶
Description: Defines image area of sensor as output.
Type: dict
Usage:
image_area = cam.get_image_area()
image_area_min = cam.get_image_area_minimum()
image_area_max = cam.get_image_area_maximum()
image_area_inc = cam.get_image_area_increment()
cam.set_image_area(image_area)
Corresponding dictionary XI_IMAGE_AREA_SELECTOR:
Name | Description |
XI_IMAGE_AREA_ACTIVE | All light sensitive pixels suggested by image vendor. |
XI_IMAGE_AREA_ACTIVE_AND_MASKED | All Active pixels plus masked pixels surrounding the Active area. |
DualADC Mode¶
Description: Sets DualADC Mode
Type: dict
Usage:
dual_adc_mode = cam.get_dual_adc_mode()
dual_adc_mode_min = cam.get_dual_adc_mode_minimum()
dual_adc_mode_max = cam.get_dual_adc_mode_maximum()
dual_adc_mode_inc = cam.get_dual_adc_mode_increment()
cam.set_dual_adc_mode(dual_adc_mode)
Corresponding dictionary XI_DUAL_ADC_MODE:
Name | Description |
XI_DUAL_ADC_MODE_OFF | Disable DualADC feature |
XI_DUAL_ADC_MODE_COMBINED | Set Combined mode |
XI_DUAL_ADC_MODE_NON_COMBINED | Set NonCombined mode |
DualADC Gain Ratio¶
Description: Sets DualADC Gain Ratio in dB
Type: float
Usage:
dual_adc_gain_ratio = cam.get_dual_adc_gain_ratio()
dual_adc_gain_ratio_min = cam.get_dual_adc_gain_ratio_minimum()
dual_adc_gain_ratio_max = cam.get_dual_adc_gain_ratio_maximum()
dual_adc_gain_ratio_inc = cam.get_dual_adc_gain_ratio_increment()
cam.set_dual_adc_gain_ratio(dual_adc_gain_ratio)
DualADC Threshold¶
Description: Sets DualADC Threshold value
Type: int
Usage:
dual_adc_threshold = cam.get_dual_adc_threshold()
dual_adc_threshold_min = cam.get_dual_adc_threshold_minimum()
dual_adc_threshold_max = cam.get_dual_adc_threshold_maximum()
dual_adc_threshold_inc = cam.get_dual_adc_threshold_increment()
cam.set_dual_adc_threshold(dual_adc_threshold)
Compression Region Selector¶
Description: Sets Compression Region Selector
Type: int
Usage:
compression_region_selector = cam.get_compression_region_selector()
compression_region_selector_min = cam.get_compression_region_selector_minimum()
compression_region_selector_max = cam.get_compression_region_selector_maximum()
compression_region_selector_inc = cam.get_compression_region_selector_increment()
cam.set_compression_region_selector(compression_region_selector)
Compression Region Start¶
Description: Sets Compression Region Start
Type: float
Usage:
compression_region_start = cam.get_compression_region_start()
compression_region_start_min = cam.get_compression_region_start_minimum()
compression_region_start_max = cam.get_compression_region_start_maximum()
compression_region_start_inc = cam.get_compression_region_start_increment()
cam.set_compression_region_start(compression_region_start)
Compression Region Gain¶
Description: Sets Compression Region Gain
Type: float
Usage:
compression_region_gain = cam.get_compression_region_gain()
compression_region_gain_min = cam.get_compression_region_gain_minimum()
compression_region_gain_max = cam.get_compression_region_gain_maximum()
compression_region_gain_inc = cam.get_compression_region_gain_increment()
cam.set_compression_region_gain(compression_region_gain)
Version Info Parameters
Version Selector¶
Description: Selects module/unit, which version we get.
Type: dict
Usage:
version_selector = cam.get_version_selector()
version_selector_min = cam.get_version_selector_minimum()
version_selector_max = cam.get_version_selector_maximum()
version_selector_inc = cam.get_version_selector_increment()
cam.set_version_selector(version_selector)
Corresponding dictionary XI_VERSION:
Name | Description |
XI_VER_API | version of API |
XI_VER_DRV | version of device driver |
XI_VER_MCU1 | version of MCU1 firmware. |
XI_VER_MCU2 | version of MCU2 firmware. |
XI_VER_MCU3 | version of MCU3 firmware. |
XI_VER_FPGA1 | version of FPGA1 firmware. |
XI_VER_XMLMAN | version of XML manifest. |
XI_VER_HW_REV | version of hardware revision. |
XI_VER_FACTORY_SET | version of factory set. |
version¶
Description: Returns version of selected module/unit(XI_PRM_VERSION_SELECTOR).
Type: str
Usage:
version = cam.get_version(buffer_size=256)
API version¶
Description: Returns the version of API.
Type: str
Usage:
api_version = cam.get_api_version(buffer_size=256)
Driver version¶
Description: Returns the version of the current device driver.
Type: str
Usage:
drv_version = cam.get_drv_version(buffer_size=256)
MCU1 version¶
Description: Returns the version of the current MCU1 firmware.
Type: str
Usage:
version_mcu1 = cam.get_version_mcu1(buffer_size=256)
MCU2 version¶
Description: Returns the version of the current MCU2 firmware.
Type: str
Usage:
version_mcu2 = cam.get_version_mcu2(buffer_size=256)
MCU3 version¶
Description: Returns the version of the current MCU3 firmware.
Type: str
Usage:
version_mcu3 = cam.get_version_mcu3(buffer_size=256)
FPGA1 version¶
Description: Returns version of FPGA firmware currently running.
Type: str
Usage:
version_fpga1 = cam.get_version_fpga1(buffer_size=256)
XMLMAN version¶
Description: Returns version of XML manifest.
Type: str
Usage:
version_xmlman = cam.get_version_xmlman(buffer_size=256)
Hardware revision¶
Description: Returns the hardware revision number of the camera.
Type: str
Usage:
hw_revision = cam.get_hw_revision(buffer_size=256)
Factory set version¶
Description: Returns version of factory set.
Type: str
Usage:
factory_set_version = cam.get_factory_set_version(buffer_size=256)
API Features Parameters
Debug level¶
Description: Setting the API debug level allows to select amount of messages stored to debug output. This should be done as the first API call.
Type: dict
Usage:
debug_level = cam.get_debug_level()
debug_level_min = cam.get_debug_level_minimum()
debug_level_max = cam.get_debug_level_maximum()
debug_level_inc = cam.get_debug_level_increment()
cam.set_debug_level(debug_level)
Corresponding dictionary XI_DEBUG_LEVEL:
Name | Description |
XI_DL_DETAIL | (see Note1) |
XI_DL_TRACE | Prints errors, warnings and important informations |
XI_DL_WARNING | Prints all errors and warnings |
XI_DL_ERROR | Prints all errors |
XI_DL_FATAL | Prints only important errors |
XI_DL_DISABLED | Prints no messages |
Note1: Prints same as XI_DL_TRACE plus locking of resources.
Note2: In Windows use DebugView to view the current messages.
Note3: In Linux the messages are printed to stderr
Auto bandwidth calculation¶
Description: Setting this parameter the application can control API behavior. Setting to XI_OFF - API will skip auto bandwidth measurement and calculation before opening the camera (xiOpenDevice), resulting in reducing the time to open a camera. Setting to XI_ON the measurement is enabled (default).
Note1: It is important to set this parameter to XI_OFF in case when multiple cameras are connected to one hub with enabled acquisition and new camera should be opened - to not affect overall streaming by auto bandwidth measurement.
Note2: When set to value XI_OFF, the time required to open a camera (xiOpenDevice) is reduced.
Type: bool
Usage:
auto_bandwidth_calculation = cam.is_auto_bandwidth_calculation()
cam.enable_auto_bandwidth_calculation()
cam.disable_auto_bandwidth_calculation()
2015/FAPI process chain enable¶
Description: Setting this parameter the application can control API behavior. When set to XI_OFF - API will use original processing in image pipe for cameras families MU, MQ, MD. Setting to XI_ON - API will use newer processing type.
Note: There are some differences between processing so the switching may be done with caution. For older implementation we advise to stick to original processing. Only if some features require the newer processing it might be enabled. Switching may be done before xiOpenDevice.
Type: bool
Usage:
new_process_chain_enable = cam.is_new_process_chain_enable()
cam.enable_new_process_chain_enable()
cam.disable_new_process_chain_enable()
Number of threads per image processor¶
Description: Number of threads per image processor. An application can change this number in order to optimize performance or decrease number of threads to save resources.
Note: this parameter does not work for MQ, MD camera families and for MU9Px-MH camera.
Type: int
Usage:
proc_num_threads = cam.get_proc_num_threads()
proc_num_threads_min = cam.get_proc_num_threads_minimum()
proc_num_threads_max = cam.get_proc_num_threads_maximum()
proc_num_threads_inc = cam.get_proc_num_threads_increment()
cam.set_proc_num_threads(proc_num_threads)
Camera FFS Parameters
Note: Some of XIMEA cameras contain Flash File System. It allows to store/read small customer file in each camera. For more information visit our knowledge base article .
FFS Read file¶
Description: File data to be read from camera flash file system.
Type: str
Usage:
read_file_ffs = cam.get_read_file_ffs(buffer_size=256)
FFS Write file¶
Description: File data to be written to camera flash file system.
Type: str
Usage:
write_file_ffs = cam.get_write_file_ffs(buffer_size=256)
cam.set_write_file_ffs(write_file_ffs)
FFS File name¶
Description: Name of file to be written/read from camera FFS.
Note: On MX,MC,CB,MT cameras family, there is limited set of filenames. User's application can use filenames: User1, User2, User3 to store some application specific data.
Type: str
Usage:
ffs_file_name = cam.get_ffs_file_name(buffer_size=256)
cam.set_ffs_file_name(ffs_file_name)
FFS file id¶
Description: File number(id) in camera FFS.
Type: int
Usage:
ffs_file_id = cam.get_ffs_file_id()
ffs_file_id_min = cam.get_ffs_file_id_minimum()
ffs_file_id_max = cam.get_ffs_file_id_maximum()
ffs_file_id_inc = cam.get_ffs_file_id_increment()
FFS file size¶
Description: Size of a file specified with parameter ffs_file_id in bytes.
Type: int
Usage:
ffs_file_size = cam.get_ffs_file_size()
ffs_file_size_min = cam.get_ffs_file_size_minimum()
ffs_file_size_max = cam.get_ffs_file_size_maximum()
ffs_file_size_inc = cam.get_ffs_file_size_increment()
FFS Free size¶
Description: Size of free camera flash file system space in bytes.
Type: int
Usage:
free_ffs_size = cam.get_free_ffs_size()
free_ffs_size_min = cam.get_free_ffs_size_minimum()
free_ffs_size_max = cam.get_free_ffs_size_maximum()
free_ffs_size_inc = cam.get_free_ffs_size_increment()
FFFS Used size¶
Description: Size of used camera flash file system space in bytes.
Type: int
Usage:
used_ffs_size = cam.get_used_ffs_size()
used_ffs_size_min = cam.get_used_ffs_size_minimum()
used_ffs_size_max = cam.get_used_ffs_size_maximum()
used_ffs_size_inc = cam.get_used_ffs_size_increment()
FFS Access key¶
Description: Setting of the key enables file operations on some cameras. It is required to set before usage of write_file_ffs .
Type: int
Usage:
ffs_access_key = cam.get_ffs_access_key()
ffs_access_key_min = cam.get_ffs_access_key_minimum()
ffs_access_key_max = cam.get_ffs_access_key_maximum()
ffs_access_key_inc = cam.get_ffs_access_key_increment()
cam.set_ffs_access_key(ffs_access_key)
APIContextControl Parameters
API Context list¶
Description: API Context contains the text representation of current settings for offline image processing. It can be gotten while acquisition to store the context. Respectively, it can be set while offline processing - to restore the context.
Type: str
Usage:
xiapi_context_list = cam.get_xiapi_context_list(buffer_size=256)
cam.set_xiapi_context_list(xiapi_context_list)
Sensor Control Parameters
Note: Some of XIMEA cameras have sensors with specific features.
Sensor feature selector¶
Description: Selects the current feature which is accessible by sensor_feature_value . See more at our support page, SENSOR FEATURE SELECTOR.
Type: dict
Usage:
sensor_feature_selector = cam.get_sensor_feature_selector()
sensor_feature_selector_min = cam.get_sensor_feature_selector_minimum()
sensor_feature_selector_max = cam.get_sensor_feature_selector_maximum()
sensor_feature_selector_inc = cam.get_sensor_feature_selector_increment()
cam.set_sensor_feature_selector(sensor_feature_selector)
Corresponding dictionary XI_SENSOR_FEATURE_SELECTOR:
Name | Description |
XI_SENSOR_FEATURE_ZEROROT_ENABLE | Sensor Zero ROT enable for ONSEMI PYTHON family. For camera model:MQ013xG-ON (on/off) |
XI_SENSOR_FEATURE_BLACK_LEVEL_CLAMP | Black level offset clamping (value). for Camera model:MD |
XI_SENSOR_FEATURE_MD_FPGA_DIGITAL_GAIN_DISABLE | Disable digital component of gain for MD family (1=disabled/0=enabled) |
XI_SENSOR_FEATURE_ACQUISITION_RUNNING | Sensor acquisition is running status (0/1). Could be stopped by setting of 0. For camera model:CB,MC,MX,MT |
XI_SENSOR_FEATURE_TIMING_MODE | Sensor timing mode (value depends on sensor) |
XI_SENSOR_FEATURE_PARALLEL_ADC | Enables the parallel ADC readout mode, where all exposed pixels undergo dual sampling, leading to reduced readout noise at the cost of increased readout time |
XI_SENSOR_FEATURE_BLACK_LEVEL_OFFSET_RAW | Sensor specific register raw black level offset (value) |
XI_SENSOR_FEATURE_SHORT_INTERVAL_SHUTTER | Sensor short Interval Shutter (on/off) |
XI_SENSOR_FEATURE_AUTO_LOW_POWER_MODE_AUTO | Sensor low power mode (on/off) |
XI_SENSOR_FEATURE_HIGH_CONVERSION_GAIN | Enables high conversion gain feature which applies additional gain to the signal at the pixel level. This leads to a reduction in read noise and a boost in sensitivity and signal-to-noise ratio, particularly in low-light situations. Consequently, the camera exhibits superior performance in dark environments, capturing images with minimal noise and enhanced detail. |
XI_SENSOR_FEATURE_DUAL_TRG_EXP_ZONE_DIVIDER_POSITION | Sensor Dual Trigger Exposure Zone Divider Position |
XI_SENSOR_FEATURE_TOF_VCSEL_CTRL_VOLTAGE_MV | ToF VCSEL Control Voltage in mV |
XI_SENSOR_FEATURE_MULTIPLE_ADC | Multiple ADC |
Sensor feature value¶
Description: Allows access to sensor feature value currently selected by sensor_feature_selector
Type: int
Usage:
sensor_feature_value = cam.get_sensor_feature_value()
sensor_feature_value_min = cam.get_sensor_feature_value_minimum()
sensor_feature_value_max = cam.get_sensor_feature_value_maximum()
sensor_feature_value_inc = cam.get_sensor_feature_value_increment()
cam.set_sensor_feature_value(sensor_feature_value)
Extended Features Parameters
Acquisition status selector¶
Description: Selects the internal acquisition signal to read using acquisition_status
Type: dict
Usage:
acquisition_status_selector = cam.get_acquisition_status_selector()
acquisition_status_selector_min = cam.get_acquisition_status_selector_minimum()
acquisition_status_selector_max = cam.get_acquisition_status_selector_maximum()
acquisition_status_selector_inc = cam.get_acquisition_status_selector_increment()
cam.set_acquisition_status_selector(acquisition_status_selector)
Corresponding dictionary XI_ACQUISITION_STATUS_SELECTOR:
Name | Description |
XI_ACQUISITION_STATUS_ACQ_ACTIVE | Device is currently doing an acquisition of one or many frames. |
Acquisition status¶
Description: Returns status of acquisition.
Type: dict
Usage:
acquisition_status = cam.get_acquisition_status()
acquisition_status_min = cam.get_acquisition_status_minimum()
acquisition_status_max = cam.get_acquisition_status_maximum()
acquisition_status_inc = cam.get_acquisition_status_increment()
Corresponding dictionary XI_SWITCH:
Name | Description |
XI_OFF | Turn parameter off |
XI_ON | Turn parameter on |
Data Pipe Unit Selector¶
Description: Data Pipe Unit Selector.
Type: dict
Usage:
dp_unit_selector = cam.get_dp_unit_selector()
dp_unit_selector_min = cam.get_dp_unit_selector_minimum()
dp_unit_selector_max = cam.get_dp_unit_selector_maximum()
dp_unit_selector_inc = cam.get_dp_unit_selector_increment()
cam.set_dp_unit_selector(dp_unit_selector)
Corresponding dictionary XI_DP_UNIT_SELECTOR:
Name | Description |
XI_DP_UNIT_SENSOR | Selects device image sensor |
XI_DP_UNIT_FPGA | Selects device image FPGA |
Data Pipe processor Selector¶
Description: Data Pipe Processor Selector.
Type: dict
Usage:
dp_proc_selector = cam.get_dp_proc_selector()
dp_proc_selector_min = cam.get_dp_proc_selector_minimum()
dp_proc_selector_max = cam.get_dp_proc_selector_maximum()
dp_proc_selector_inc = cam.get_dp_proc_selector_increment()
cam.set_dp_proc_selector(dp_proc_selector)
Corresponding dictionary XI_DP_PROC_SELECTOR:
Name | Description |
XI_DP_PROC_NONE | Default empty processor |
XI_DP_PROC_CHANNEL_MUXER | Channel Muxer (selected processor combines multiple input channels) |
XI_DP_PROC_PIXEL_SEQUENCER | Selects pixel data output sequence |
XI_DP_PROC_CHANNEL_1 | Selects sensor output channel 1 |
XI_DP_PROC_CHANNEL_2 | Selects sensor output channel 2 |
XI_DP_PROC_FRAME_BUFFER | Selects frame buffer memory |
Data Pipe processor parameter Selector¶
Description: Data Pipe Processor parameter Selector.
Type: dict
Usage:
dp_param_selector = cam.get_dp_param_selector()
dp_param_selector_min = cam.get_dp_param_selector_minimum()
dp_param_selector_max = cam.get_dp_param_selector_maximum()
dp_param_selector_inc = cam.get_dp_param_selector_increment()
cam.set_dp_param_selector(dp_param_selector)
Corresponding dictionary XI_DP_PARAM_SELECTOR:
Name | Description |
XI_DP_PARAM_NONE | Empty parameter |
XI_DP_PARAM_CHMUX_CHANNEL_SELECTOR | Defines output of Channel Muxer processor |
XI_DP_PARAM_CHMUX_ALPHA | Channel merger coefficient Alpha |
XI_DP_PARAM_CHMUX_BETA | Channel merger coefficient Beta |
XI_DP_PARAM_PIXSEQ_SELECTOR | PixSeq Selector |
XI_DP_PARAM_CHANNEL_TIMING | Selected channel timing |
XI_DP_PARAM_FRAMEBUF_MODE | Frame Buffer Mode |
XI_DP_PARAM_FRAMEBUF_SIZE | Frame Buffer Size Bytes |
Data Pipe processor parameter value¶
Description: Data Pipe processor parameter value.
Type: float
Usage:
dp_param_value = cam.get_dp_param_value()
dp_param_value_min = cam.get_dp_param_value_minimum()
dp_param_value_max = cam.get_dp_param_value_maximum()
dp_param_value_inc = cam.get_dp_param_value_increment()
cam.set_dp_param_value(dp_param_value)
Enable or disable low level streaming via GenTL.¶
Description: Control of GenTL data stream. Enabling by XI_ON the acquisition buffering must be controlled by GenTL interface (e.g. DSAllocAndAnnounceBuffer, DSQueueBuffer)
Type: bool
Usage:
gentl_stream_en = cam.is_gentl_stream_en()
cam.enable_gentl_stream_en()
cam.disable_gentl_stream_en()
Get GenTL stream context pointer for low level streaming¶
Description: Pointer to GenTL stream context. It can be used later with GenTL buffers handling.
Note: See more details in the example xiAPI-capture-50-images-gentl.
Type: str
Usage:
gentl_stream_context = cam.get_gentl_stream_context(buffer_size=256)
User Set Control Parameters
Note: Parameters for for global control of the device settings. They allow loading or saving factory or user-defined settings to the camera memory.
User Set selector¶
Description: User Set to be loaded by user_set_load .
Note: Available only on some camera models: MX377, MJ042, MJ150.
Type: dict
Usage:
user_set_selector = cam.get_user_set_selector()
user_set_selector_min = cam.get_user_set_selector_minimum()
user_set_selector_max = cam.get_user_set_selector_maximum()
user_set_selector_inc = cam.get_user_set_selector_increment()
cam.set_user_set_selector(user_set_selector)
Corresponding dictionary XI_USER_SET_SELECTOR:
Name | Description |
XI_US_12_STD_L | 12bit per channel STD Low Gain mode preset. |
XI_US_12_STD_H | 12bit per channel STD High Gain mode preset. |
XI_US_14_STD_L | 14bit per channel STD Low Gain mode preset. |
XI_US_NONE | No preset selected. |
XI_US_14_STD_H | 14bit per channel STD High Gain mode preset. |
XI_US_2_12_CMS_S_L | 12bit per channel, 2 samples, CMS(summing) Low Gain mode preset. |
XI_US_2_12_CMS_S_H | 12bit per channel, 2 samples, CMS(summing) High Gain mode preset. |
XI_US_2_14_CMS_S_L | 14bit per channel, 2 samples, CMS(summing) Low Gain mode preset. |
XI_US_2_14_CMS_S_H | 14bit per channel, 2 samples, CMS(summing) High Gain mode preset. |
XI_US_4_12_CMS_S_L | 12bit per channel, 4 samples, CMS(summing) Low Gain mode preset. |
XI_US_4_12_CMS_S_H | 12bit per channel, 4 samples, CMS(summing) High Gain mode preset. |
XI_US_4_14_CMS_S_L | 14bit per channel, 4 samples, CMS(summing) Low Gain mode preset. |
XI_US_4_14_CMS_S_H | 14bit per channel, 4 samples, CMS(summing) High Gain mode preset. |
XI_US_2_12_HDR_HL | 12bit per channel, 2 samples, HDR High Low Gain mode preset. |
XI_US_2_12_HDR_L | 12bit per channel, 2 samples, HDR Low Gain mode preset. |
XI_US_2_12_HDR_H | 12bit per channel, 2 samples, HDR High Gain mode preset. |
XI_US_4_12_CMS_HDR_HL | 12bit per channel, 4 samples, CMS + HDR High Low Gain mode preset. |
XI_US_2_14_HDR_L | 14bit per channel, 2 samples, HDR Low Gain mode preset. |
XI_US_2_14_HDR_H | 14bit per channel, 2 samples, HDR High Gain mode preset. |
XI_US_2_12_CMS_A_L | 12bit per channel, 2 samples, CMS(averaging) Low Gain mode preset. |
XI_US_2_12_CMS_A_H | 12bit per channel, 2 samples, CMS(averaging) High Gain mode preset. |
User Set load¶
Description: Loads User Set selected by user_set_selector . User Set is list of API parameters and values, which is applied similarily as xiSetParam one by one. If setting of some parameter fails, the process of loading is aborted and error value is returned to the application. All parameters changed remains without any restore to previous state.
Note: Available only on some camera models: MX377, MJ042, MJ150.
Type: int
Usage:
user_set_load = cam.get_user_set_load()
user_set_load_min = cam.get_user_set_load_minimum()
user_set_load_max = cam.get_user_set_load_maximum()
user_set_load_inc = cam.get_user_set_load_increment()
cam.set_user_set_load(user_set_load)
User Set Default¶
Description: Selected User Set to load and make active when the device is opened. Change might affect default mode in other applications, e.g. CamTool.
Note: Available only on some camera models: MX377, MJ042, MJ150.
Type: dict
Usage:
user_set_default = cam.get_user_set_default()
user_set_default_min = cam.get_user_set_default_minimum()
user_set_default_max = cam.get_user_set_default_maximum()
user_set_default_inc = cam.get_user_set_default_increment()
cam.set_user_set_default(user_set_default)
Corresponding dictionary XI_USER_SET_SELECTOR:
Name | Description |
XI_US_12_STD_L | 12bit per channel STD Low Gain mode preset. |
XI_US_12_STD_H | 12bit per channel STD High Gain mode preset. |
XI_US_14_STD_L | 14bit per channel STD Low Gain mode preset. |
XI_US_NONE | No preset selected. |
XI_US_14_STD_H | 14bit per channel STD High Gain mode preset. |
XI_US_2_12_CMS_S_L | 12bit per channel, 2 samples, CMS(summing) Low Gain mode preset. |
XI_US_2_12_CMS_S_H | 12bit per channel, 2 samples, CMS(summing) High Gain mode preset. |
XI_US_2_14_CMS_S_L | 14bit per channel, 2 samples, CMS(summing) Low Gain mode preset. |
XI_US_2_14_CMS_S_H | 14bit per channel, 2 samples, CMS(summing) High Gain mode preset. |
XI_US_4_12_CMS_S_L | 12bit per channel, 4 samples, CMS(summing) Low Gain mode preset. |
XI_US_4_12_CMS_S_H | 12bit per channel, 4 samples, CMS(summing) High Gain mode preset. |
XI_US_4_14_CMS_S_L | 14bit per channel, 4 samples, CMS(summing) Low Gain mode preset. |
XI_US_4_14_CMS_S_H | 14bit per channel, 4 samples, CMS(summing) High Gain mode preset. |
XI_US_2_12_HDR_HL | 12bit per channel, 2 samples, HDR High Low Gain mode preset. |
XI_US_2_12_HDR_L | 12bit per channel, 2 samples, HDR Low Gain mode preset. |
XI_US_2_12_HDR_H | 12bit per channel, 2 samples, HDR High Gain mode preset. |
XI_US_4_12_CMS_HDR_HL | 12bit per channel, 4 samples, CMS + HDR High Low Gain mode preset. |
XI_US_2_14_HDR_L | 14bit per channel, 2 samples, HDR Low Gain mode preset. |
XI_US_2_14_HDR_H | 14bit per channel, 2 samples, HDR High Gain mode preset. |
XI_US_2_12_CMS_A_L | 12bit per channel, 2 samples, CMS(averaging) Low Gain mode preset. |
XI_US_2_12_CMS_A_H | 12bit per channel, 2 samples, CMS(averaging) High Gain mode preset. |