HomeSupportAPIsPython → XiAPI Python Manual

xiApiPython Manual

Table of Contents

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:

Image Processing: enabled


Format: XI_RAW8 Parameters controlled automatically:

Image Processing: disabled


Format: XI_MONO16 (see Note2) Parameters controlled automatically:

Image Processing: enabled


Format: XI_RAW16 (see Note2) Parameters controlled automatically:

Image Processing: disabled


Format: XI_RGB32, XI_RGB24, XI_RGB_PLANAR Parameters controlled automatically:

Image Processing: enabled


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 transfers

Type: 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.
Generated:41b2dc7: Tue Dec 3 03:05:03 CET 2024