Executing Commands

<< Click to Display Table of Contents >>

Navigation:  Halcon Interface >

Executing Commands

Command execution is carried out via the special parameter 'do_execute' in the 'set_framegrabber_param' function. When parallel execution is disabled, the 'do_execute' parameter is only supported on handles referencing the tree's root node.

After opening a stereo camera, you can capture a depth image by simply executing the three commands, with default parameters:

set_framegrabber_param (RootHandle, 'do_execute', 'Capture')
set_framegrabber_param (RootHandle, 'do_execute', 'ComputeDisparityMap')
set_framegrabber_param (RootHandle, 'do_execute', 'ComputePointMap')

To specify additional parameters for the execution, you can simply set the Parameters node before the execution:

set_framegrabber_param (RootHandle, '/Execute/Parameters/FinalTrigger', 'All')
set_framegrabber_param (RootHandle, 'do_execute', 'Capture')

Parameters can also be specified inline in JSON notation, after the command:

set_framegrabber_param (RootHandle, 'do_execute', ['Capture', '{"FinalTrigger":"All"}'])

Parallel Execution

Note: You need at least version 1.9 of the NxLib to use the parallel execution.

By default, the 'do_execute' parameter uses the NxLib's default execute node to execute commands. This means that your commands will be executed sequentially, even if you issue them from different handles. When a handle's 'parallel_execution' flag is enabled, it will use its own execute node instead.

If you want to set parameters or get the results of such a command, you can use the 'exec:' prefix. It will automatically be replaced with the path to the handle's execute node.

set_framegrabber_param (RootHandle, 'exec:Parameters/FinalTrigger', 'All')
set_framegrabber_param (RootHandle, 'do_execute', 'Capture')