Overview

Navigation:  NxLib API >

Overview

Previous pageReturn to chapter overviewNext page

NxLib API concept

Usually libraries come in form of a DLL providing the user with a huge variety of functions; the architecture of NxLib is quite different:

Parameter Tree

The NxLib DLL only exports a small set of functions to modify its internal tree structure in which all camera and processing parameters are contained. Upon loading the NxLib library in a process, the library creates the tree and initializes all its nodes. The exported functions allow to read and write standard JSON data types from and to the nodes of the tree. A node is identified by its path corresponding to its location where it resides in the tree.

The structure of the tree and the function of the parameters therein are documented under Tree. The accessor functions can be found in the Basic Access chapter.

Commands

Additionally to the tree holding all parameters, the user can execute commands by writing a command name and its parameters to a special tree item called Execute. Parameters and results are read from and written to subtrees of the execute item in the tree. This allows a very flexible and easily extendable parametrization of the library functions.

The list of available commands and their parameters and return values can be found under Commands.

Binary Outputs

The final results of all 3D processing steps is contained in one of the following Binary tree items:

Per camera results:

oDisparityMap, holds the raw stereo matching result (pixel shifts between left and right stereo member camera)

Generated by executing the commands (Open1), Capture, ComputeDisparityMap

oPointMap, holds metric 3D point coordinates in world coordinates

Generated by executing the commands (Open1), Capture, ComputeDisparityMap, ComputePointMap

Global results (containing information from all cameras):

oRenderPointMap, hold metric 3D point coordinates in world coordinates as seen from an arbitrary telecentric view point, or from a monocular camera perspective

Generated by executing the commands (Open1), Capture, ComputeDisparityMap, RenderPointMap

oRenderPointMapTexture, holds the texture information from monocular cameras and is generated together with RenderPointMap as above.

oRenderView, holds a color image of the virtual scene showing the calibrated workspace origin, camera positions and captured 3D surfaces

Generated by executing the commands (Open1), Capture, ComputeDisparityMap, RenderView

 


1 only needs to be called once after library initialization