InitFusionParameters Struct Reference

Holds the options used to initialize the Fusion object. More...

Functions

 InitFusionParameters (bool verbose=false, UNIT coordinateUnits=UNIT.MILLIMETER, COORDINATE_SYSTEM coordinateSystem=COORDINATE_SYSTEM.IMAGE, bool outputPerformanceMetrics=false, uint timeoutPeriodsNumber=5, SynchronizationParameter synchronizationParameters=new SynchronizationParameter(), int sdkGpuId=-1, IntPtr? sdkCudaCtx=null, Resolution? maximumWorkingResolution=null)
 Default constructor. More...
 

Attributes

UNIT coordinateUnits
 This parameter allows you to select the unit to be used for all metric values of the SDK (depth, point cloud, tracking, mesh, and others). Default : UNIT::MILLIMETER More...
 
COORDINATE_SYSTEM coordinateSystem
 Positional tracking, point clouds and many other features require a given COORDINATE_SYSTEM to be used as reference. This parameter allows you to select the COORDINATE_SYSTEM used by the Camera to return its measures.
This defines the order and the direction of the axis of the coordinate system.
Default : COORDINATE_SYSTEM::IMAGE More...
 
bool outputPerformanceMetrics
 It allows users to extract some stats of the Fusion API like drop frame of each camera, latency, etc... More...
 
bool verbose
 Enable the verbosity mode of the SDK. More...
 
uint timeoutPeriodsNumber
 If specified change the number of period necessary for a source to go in timeout without data. For example, if you set this to 5 then, if any source do not receive data during 5 period, these sources will go to timeout and will be ignored. /// if any source does not receive data during 5 periods, these sources will go into timeout and will be ignored. More...
 
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 More...
 
IntPtr sdkCudaCtx
 CUcontext to be used. If your application uses another CUDA-capable library, giving its CUDA context to the ZED SDK can be useful when sharing GPU memories.
This parameter allows you to set the CUDA context to be used by the ZED SDK.
Leaving this parameter empty asks the SDK to create its own context.
Default: (empty) More...
 
SynchronizationParameter synchronizationParameters
 Specifies the parameters used for data synchronization during fusion. The SynchronizationParameter struct encapsulates the synchronization parameters that control the data fusion process. More...
 
Resolution maximumWorkingResolution
 Sets the maximum resolution for all Fusion outputs, such as images and measures. More...
 

Detailed Description

Holds the options used to initialize the Fusion object.

Constructor and Destructor

◆ InitFusionParameters()

InitFusionParameters ( bool  verbose = false,
UNIT  coordinateUnits = UNIT.MILLIMETER,
COORDINATE_SYSTEM  coordinateSystem = COORDINATE_SYSTEM.IMAGE,
bool  outputPerformanceMetrics = false,
uint  timeoutPeriodsNumber = 5,
SynchronizationParameter  synchronizationParameters = new SynchronizationParameter(),
int  sdkGpuId = -1,
IntPtr?  sdkCudaCtx = null,
Resolution maximumWorkingResolution = null 
)
inline

Default constructor.

Variables

◆ coordinateUnits

UNIT coordinateUnits

This parameter allows you to select the unit to be used for all metric values of the SDK (depth, point cloud, tracking, mesh, and others). Default : UNIT::MILLIMETER

Referenced by InitFusionParameters.InitFusionParameters().

◆ coordinateSystem

COORDINATE_SYSTEM coordinateSystem

Positional tracking, point clouds and many other features require a given COORDINATE_SYSTEM to be used as reference. This parameter allows you to select the COORDINATE_SYSTEM used by the Camera to return its measures.
This defines the order and the direction of the axis of the coordinate system.
Default : COORDINATE_SYSTEM::IMAGE

Referenced by InitFusionParameters.InitFusionParameters().

◆ outputPerformanceMetrics

bool outputPerformanceMetrics

It allows users to extract some stats of the Fusion API like drop frame of each camera, latency, etc...

Referenced by InitFusionParameters.InitFusionParameters().

◆ verbose

bool verbose

Enable the verbosity mode of the SDK.

Referenced by InitFusionParameters.InitFusionParameters().

◆ timeoutPeriodsNumber

uint timeoutPeriodsNumber

If specified change the number of period necessary for a source to go in timeout without data. For example, if you set this to 5 then, if any source do not receive data during 5 period, these sources will go to timeout and will be ignored. /// if any source does not receive data during 5 periods, these sources will go into timeout and will be ignored.

Referenced by InitFusionParameters.InitFusionParameters().

◆ 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.

Referenced by InitFusionParameters.InitFusionParameters().

◆ sdkCudaCtx

IntPtr sdkCudaCtx

CUcontext to be used. If your application uses another CUDA-capable library, giving its CUDA context to the ZED SDK can be useful when sharing GPU memories.
This parameter allows you to set the CUDA context to be used by the ZED SDK.
Leaving this parameter empty asks the SDK to create its own context.
Default: (empty)

Note
When creating you own CUDA context, you have to define the device you will use. Do not forget to also specify it on sdk_gpu_id.
On Jetson, you have to set the flag CU_CTX_SCHED_YIELD, during CUDA context creation.
You can also let the SDK create its own context, and use sl::Camera::getCUDAContext() to use it.

Referenced by InitFusionParameters.InitFusionParameters().

◆ synchronizationParameters

SynchronizationParameter synchronizationParameters

Specifies the parameters used for data synchronization during fusion. The SynchronizationParameter struct encapsulates the synchronization parameters that control the data fusion process.

Referenced by InitFusionParameters.InitFusionParameters().

◆ maximumWorkingResolution

Resolution maximumWorkingResolution

Sets the maximum resolution for all Fusion outputs, such as images and measures.

The default value is (-1, -1), which allows the Fusion to automatically select the optimal resolution for the best quality/runtime ratio.

  • For images, the output resolution can be up to the native resolution of the camera.
  • For measures involving depth, the output resolution can be up to the maximum working resolution.

Setting this parameter to (-1, -1) will ensure the best balance between quality and performance for depth measures.

Referenced by InitFusionParameters.InitFusionParameters().