InitParameters Class Reference

Class containing the options used to initialize the sl.Camera object. More...

Functions

 InitParameters ()
 Default constructor. More...
 

Attributes

sl.INPUT_TYPE inputType
 Defines the input source to initialize and open an sl.Camera object from. More...
 
sl.RESOLUTION resolution
 Desired camera resolution. More...
 
int cameraFPS
 Requested camera frame rate. More...
 
int cameraDeviceID
 Id for identifying which camera to use from the connected cameras. More...
 
string pathSVO = ""
 Path to a recorded SVO file to play, including filename. More...
 
bool svoRealTimeMode
 Defines if sl.Camera object return the frame in real time mode. More...
 
UNIT coordinateUnits
 Unit of spatial data (depth, point cloud, tracking, mesh, etc.) for retrieval. More...
 
COORDINATE_SYSTEM coordinateSystem
 sl.COORDINATE_SYSTEM to be used as reference for positional tracking, mesh, point clouds, etc. More...
 
sl.DEPTH_MODE depthMode
 sl.DEPTH_MODE to be used. More...
 
float depthMinimumDistance
 Minimum depth distance to be returned, measured in the sl.UNIT defined in coordinateUnits. More...
 
float depthMaximumDistance
 Maximum depth distance to be returned, measured in the sl.UNIT defined in coordinateUnits. More...
 
FLIP_MODE cameraImageFlip
 Defines if a flip of the images is needed. More...
 
bool enableRightSideMeasure
 Enable the measurement computation on the right images. More...
 
bool cameraDisableSelfCalib
 Disables the self-calibration process at camera opening. More...
 
int sdkVerbose
 Enable the ZED SDK verbose mode. More...
 
int sdkGPUId
 NVIDIA graphics card id to use. More...
 
string sdkVerboseLogFile = ""
 File path to store the ZED SDK logs (if sdkVerbose is enabled). More...
 
int depthStabilization
 Defines whether the depth needs to be stabilized and to what extent. More...
 
string optionalSettingsPath = ""
 Optional path where the ZED SDK has to search for the settings file (SN<XXXX>.conf file). More...
 
bool sensorsRequired
 Requires the successful opening of the motion sensors before opening the camera. More...
 
string ipStream = ""
 IP address of the streaming sender to connect to. More...
 
ushort portStream = 30000
 Port of the streaming sender to connect to. More...
 
bool enableImageEnhancement = true
 Enable the Enhanced Contrast Technology, to improve image quality. More...
 
string optionalOpencvCalibrationFile
 Optional path where the ZED SDK can find a file containing the calibration information of the camera computed by OpenCV. More...
 
float openTimeoutSec
 Define a timeout in seconds after which an error is reported if the sl.Camera.Open() method fails. More...
 
bool asyncGrabCameraRecovery
 Define the behavior of the automatic camera recovery during sl.Camera.Grab() method call. More...
 
float grabComputeCappingFPS = 0
 Define a computation upper limit to the grab frequency. More...
 
bool enableImageValidityCheck
 Enable or disable the image validity verification. This will perform additional verification on the image to identify corrupted data.This verification is done in the grab function and requires some computations. If an issue is found, the grab function will output a warning as sl.ERROR_CODE.CORRUPTED_FRAME. This version doesn't detect frame tearing currently.
default: disabled More...
 

Detailed Description

Class containing the options used to initialize the sl.Camera object.

This class allows you to select multiple parameters for the sl.Camera such as the selected camera, resolution, depth mode, coordinate system, and units of measurement.
Once filled with the desired options, it should be passed to the sl.Camera.Open() method.

Note
For more info, read about the ZED SDK C++ class it mirrors: InitParameters

Constructor and Destructor

◆ InitParameters()

InitParameters ( )
inline

Default constructor.

All the parameters are set to their default and optimized values.

Variables

◆ inputType

sl.INPUT_TYPE inputType

Defines the input source to initialize and open an sl.Camera object from.

The SDK can handle different input types:

  • Select a camera by its ID (/dev/videoX on Linux, and 0 to N cameras connected on Windows)
  • Select a camera by its serial number
  • Open a recorded sequence in the SVO file format
  • Open a streaming camera from its IP address and port
Note
Available cameras and their id/serial number can be listed using sl.Camera.GetDeviceList() and sl.Camera.GetStreamingDeviceList().
Each sl.Camera will create its own memory (CPU and GPU), therefore the number of cameras used at the same time can be limited by the configuration of your computer (GPU/CPU memory and capabilities).

Default : (empty)

Note
See sl.InputType for complementary information.

Referenced by InitParameters.InitParameters().

◆ resolution

sl.RESOLUTION resolution

Desired camera resolution.

Note
Small resolutions offer higher framerate and lower computation time.
In most situations, sl.RESOLUTION.HD720 at 60 FPS is the best balance between image quality and framerate.

Default:

Note
Available resolutions are listed here: sl.RESOLUTION.

Referenced by InitParameters.InitParameters().

◆ cameraFPS

int cameraFPS

Requested camera frame rate.

If set to 0, the highest FPS of the specified camera_resolution will be used.
Default: 0

See sl.RESOLUTION for a list of supported frame rates.

Note
If the requested cameraFPS is unsupported, the closest available FPS will be used.

◆ cameraDeviceID

int cameraDeviceID

Id for identifying which camera to use from the connected cameras.

Referenced by Camera.GetInitParameters().

◆ pathSVO

string pathSVO = ""

Path to a recorded SVO file to play, including filename.

◆ svoRealTimeMode

bool svoRealTimeMode

Defines if sl.Camera object return the frame in real time mode.

When playing back an SVO file, each call to sl.Camera.Grab() will extract a new frame and use it.
However, it ignores the real capture rate of the images saved in the SVO file.
Enabling this parameter will bring the SDK closer to a real simulation when playing back a file by using the images' timestamps.
Default: false

Note
sl.Camera.Grab() will return an error when trying to play too fast, and frames will be dropped when playing too slowly.

◆ coordinateUnits

UNIT coordinateUnits

Unit of spatial data (depth, point cloud, tracking, mesh, etc.) for retrieval.

Default: sl.UNIT.MILLIMETER

◆ coordinateSystem

COORDINATE_SYSTEM coordinateSystem

sl.COORDINATE_SYSTEM to be used as reference for positional tracking, mesh, point clouds, etc.

This parameter allows you to select the sl.COORDINATE_SYSTEM used by the sl.Camera object to return its measures.
This defines the order and the direction of the axis of the coordinate system.
Default: sl.COORDINATE_SYSTEM.IMAGE

◆ depthMode

sl.DEPTH_MODE depthMode

sl.DEPTH_MODE to be used.

The ZED SDK offers several sl.DEPTH_MODE, offering various levels of performance and accuracy.
This parameter allows you to set the sl.DEPTH_MODE that best matches your needs.
Default: sl.DEPTH_MODE.PERFORMANCE

Note
Available depth mode are listed here: sl.DEPTH_MODE.

Referenced by InitParameters.InitParameters().

◆ depthMinimumDistance

float depthMinimumDistance

Minimum depth distance to be returned, measured in the sl.UNIT defined in coordinateUnits.

This parameter allows you to specify the minimum depth value (from the camera) that will be computed.


In stereovision (the depth technology used by the camera), looking for closer depth values can have a slight impact on performance and memory consumption.
On most of modern GPUs, performance impact will be low. However, the impact of memory footprint will be visible.
In cases of limited computation power, increasing this value can provide better performance.
Default: -1 (corresponding values are available here)

Note
depthMinimumDistance value cannot be greater than 3 meters.
0 will imply that depthMinimumDistance is set to the minimum depth possible for each camera (those values are available here).

◆ depthMaximumDistance

float depthMaximumDistance

Maximum depth distance to be returned, measured in the sl.UNIT defined in coordinateUnits.

When estimating the depth, the ZED SDK uses this upper limit to turn higher values into inf ones.

Note
Changing this value has no impact on performance and doesn't affect the positional tracking nor the spatial mapping.
It only change values the depth, point cloud and normals.

◆ cameraImageFlip

FLIP_MODE cameraImageFlip

Defines if a flip of the images is needed.

If you are using the camera upside down, setting this parameter to sl.FLIP_MODE.ON will cancel its rotation.
The images will be horizontally flipped.
Default: sl.FLIP_MODE.AUTO

Note
From ZED SDK 3.2 a new sl.FLIP_MODE enum was introduced to add the automatic flip mode detection based on the IMU gravity detection.
This does not work on sl.MODEL.ZED cameras since they do not have the necessary sensors.

◆ enableRightSideMeasure

bool enableRightSideMeasure

Enable the measurement computation on the right images.

By default, the ZED SDK only computes a single depth map, aligned with the left camera image.
This parameter allows you to enable sl.MEASURE.DEPTH_RIGHT and other sl.MEASURE.XXX_RIGHT at the cost of additional computation time.
For example, mixed reality pass-through applications require one depth map per eye, so this parameter can be activated.
Default: False

◆ cameraDisableSelfCalib

bool cameraDisableSelfCalib

Disables the self-calibration process at camera opening.

At initialization, sl.Camera runs a self-calibration process that corrects small offsets from the device's factory calibration.
A drawback is that calibration parameters will slightly change from one (live) run to another, which can be an issue for repeatability.
If set to true, self-calibration will be disabled and calibration parameters won't be optimized, raw calibration parameters from the configuration file will be used.
Default: false

Note
In most situations, self calibration should remain enabled.
You can also trigger the self-calibration at anytime after sl.Camera.Open() by calling sl.Camera.UpdateSelfCalibration(), even if this parameter is set to true.

◆ sdkVerbose

int sdkVerbose

Enable the ZED SDK verbose mode.

This parameter allows you to enable the verbosity of the ZED SDK to get a variety of runtime information in the console.
When developing an application, enabling verbose (sdkVerbose >= 1) mode can help you understand the current ZED SDK behavior.
However, this might not be desirable in a shipped version.
Default: 0 (no verbose message)

Note
The verbose messages can also be exported into a log file.
See sdkVerboseLogFile for more.

◆ sdkGPUId

int sdkGPUId

NVIDIA graphics card id to use.

By default the SDK will use the most powerful NVIDIA graphics card found.
However, when running several applications, or using several cameras at the same time, splitting the load over available GPUs can be useful.
This parameter allows you to select the GPU used by the sl.Camera using an ID from 0 to n-1 GPUs in your PC.
Default: -1

Note
A non-positive value will search for all CUDA capable devices and select the most powerful.

◆ sdkVerboseLogFile

string sdkVerboseLogFile = ""

File path to store the ZED SDK logs (if sdkVerbose is enabled).

The file will be created if it does not exist.
Default: ""

Note
Setting this parameter to any value will redirect all standard output print calls of the entire program.
This means that your own standard output print calls will be redirected to the log file.
This parameter can be particularly useful for creating a log system, and with Unreal or Unity applications that don't provide a standard console output.
Warning
The log file won't be cleared after successive executions of the application.
This means that it can grow indefinitely if not cleared.

◆ depthStabilization

int depthStabilization

Defines whether the depth needs to be stabilized and to what extent.

Regions of generated depth map can oscillate from one frame to another.
These oscillations result from a lack of texture (too homogeneous) on an object and by image noise.
This parameter controls a stabilization filter that reduces these oscillations.
In the range [0-100]:

  • 0 disable the depth stabilization (raw depth will be return)
  • stabilization smoothness is linear from 1 to 100

Default: 1

Note
The stabilization uses the positional tracking to increase its accuracy, so the positional tracking module will be enabled automatically when set to a value different from 0.
Note that calling sl.Camera.EnablePositionalTracking() with your own parameters afterwards is still possible.

◆ optionalSettingsPath

string optionalSettingsPath = ""

Optional path where the ZED SDK has to search for the settings file (SN<XXXX>.conf file).

This file contains the calibration information of the camera.
Default: ""

Note
The settings file will be searched in the default directory:
  • Linux: /usr/local/zed/settings/
  • Windows: C:/ProgramData/stereolabs/settings
If a path is specified and no file has been found, the ZED SDK will search the settings file in the default directory.
An automatic download of the settings file (through ZED Explorer or the installer) will still download the files on the default path.

◆ sensorsRequired

bool sensorsRequired

Requires the successful opening of the motion sensors before opening the camera.

Default: false.

Note
If set to false, the ZED SDK will try to open and use the IMU (second USB device on USB2.0) and will open the camera successfully even if the sensors failed to open.

This can be used for example when using a USB3.0 only extension cable (some fiber extension for example).

Note
This parameter only impacts the LIVE mode.
If set to true, sl.Camera.Open() will fail if the sensors cannot be opened.
This parameter should be used when the IMU data must be available, such as object detection module or when the gravity is needed.


Note
This setting is not taken into account for sl.MODEL.ZED camera since it does not include sensors.

◆ ipStream

string ipStream = ""

IP address of the streaming sender to connect to.

◆ portStream

ushort portStream = 30000

Port of the streaming sender to connect to.

◆ enableImageEnhancement

bool enableImageEnhancement = true

Enable the Enhanced Contrast Technology, to improve image quality.

Default: True.


If set to true, image enhancement will be activated in camera ISP. Otherwise, the image will not be enhanced by the IPS.

Note
This only works for firmware version starting from 1523 and up.

◆ optionalOpencvCalibrationFile

string optionalOpencvCalibrationFile

Optional path where the ZED SDK can find a file containing the calibration information of the camera computed by OpenCV.

Note
Using this will disable the factory calibration of the camera.
The file must be in a XML/YAML/JSON formatting provided by OpenCV.
It also must contain the following keys: Size, K_LEFT (intrinsic left), K_RIGHT (intrinsic right), D_LEFT (distortion left), D_RIGHT (distortion right), R (extrinsic rotation), T (extrinsic translation).
Warning
Erroneous calibration values can lead to poor accuracy in all ZED SDK modules.

◆ openTimeoutSec

float openTimeoutSec

Define a timeout in seconds after which an error is reported if the sl.Camera.Open() method fails.

Set to '-1' to try to open the camera endlessly without returning error in case of failure.
Set to '0' to return error in case of failure at the first attempt.
Default: 5.0

Note
This parameter only impacts the LIVE mode.

◆ asyncGrabCameraRecovery

bool asyncGrabCameraRecovery

Define the behavior of the automatic camera recovery during sl.Camera.Grab() method call.

When async is enabled and there's an issue with the communication with the sl.Camera object, sl.Camera.Grab() will exit after a short period and return the sl.ERROR_CODE.CAMERA_REBOOTING warning.
The recovery will run in the background until the correct communication is restored.
When asyncGrabCameraRecovery is false, the sl.Camera.Grab() method is blocking and will return only once the camera communication is restored or the timeout is reached.
Default: false

◆ grabComputeCappingFPS

float grabComputeCappingFPS = 0

Define a computation upper limit to the grab frequency.

This can be useful to get a known constant fixed rate or limit the computation load while keeping a short exposure time by setting a high camera capture framerate.
The value should be inferior to the sl.InitParameters.camera_fps and strictly positive.

Note
It has no effect when reading an SVO file.

This is an upper limit and won't make a difference if the computation is slower than the desired compute capping FPS.

Note
Internally the sl.Camera.grab() method always tries to get the latest available image while respecting the desired FPS as much as possible.

◆ enableImageValidityCheck

bool enableImageValidityCheck

Enable or disable the image validity verification. This will perform additional verification on the image to identify corrupted data.This verification is done in the grab function and requires some computations. If an issue is found, the grab function will output a warning as sl.ERROR_CODE.CORRUPTED_FRAME. This version doesn't detect frame tearing currently.
default: disabled