Interface: | PhoXi |
Revision: | 1.2.14 |
Date: | 2020-02-06 |
HALCON Version: | 12,19 |
Parameter | Value List | Type | Kind | Description |
---|---|---|---|---|
bits_per_channel | [-1, 8, 10, 12, 16, 32] | integer | pre-defined | Number of bits per channel of the resulting HALCON image. PhoXi uses 32bit images. |
camera_type | ['default', 'auto', 'pal', 'ntsc'] | string | pre-defined | Unsupported query. Value list for camera type parameter. |
color_space | ['default', 'gray', 'raw', 'rgb'] | string | pre-defined | Unsupported query. Value list for color space parameter. |
defaults | [] | mixed | pre-defined | Default values for open_framegrabber. e.g.
|
device | ['<devices>'] | string | dynamic | Value list for device parameter. |
field | ['default', 'interlaced', 'progressive'] | string | pre-defined | Unsupported query. Value list for field parameter. |
general | [] | string | pre-defined | Information about the HALCON PhoXi interface. |
generic | ['<parameters>'] | mixed | pre-defined | Unsupported query. Value list for field parameter. |
horizontal_resolution | [1, 2] | integer | pre-defined | Value list for horizontal resolution.
|
info_boards | ['<devices>'] | string | dynamic | A list of the available devices. |
name | 'PhoXi' | string | pre-defined | Name of the HALCON interface. |
parameters | ['<parameters>'] | string | pre-defined | Pre-defined parameters of the HALCON interface. |
parameters_readonly | ['<parameters>'] | string | pre-defined | Pre-defined read-only parameters of the HALCON interface. |
parameters_writeonly | ['<parameters>'] | string | pre-defined | Pre-defined write-only parameters of the HALCON interface. |
port | [<ports>] | integer | pre-defined | Unsupported query. Value list for port parameter. |
revision | '<revision>' | string | pre-defined | Revision number of the PhoXi interface. |
vertical_resolution | [1, 2] | integer | pre-defined | Value list for vertical resolution.
|
('PhoXi', 1, 1, 0, 0, 0, 0, 'default', -1, 'default', -1.0, 'false', 'default', 'InstalledExamples-basic-example(File3DCamera)', -1, -1)
Parameter | Values | Default | Type | Description |
---|---|---|---|---|
Name | '<name>' | 'PhoXi' | string | HALCON image acquisition interface name.
|
HorizontalResolution | [1, 2] | 1 | integer |
|
VerticalResolution | [1, 2] | 1 | integer |
|
ImageWidth | 0 .. width | 0 | integer | Ignored.
|
ImageHeight | 0 .. height | 0 | integer | Ignored.
|
StartRow | 0 .. width | 0 | integer | Ignored.
|
StartColumn | 0 .. height | 0 | integer | Ignored.
|
Field | 'default' | string | Ignored.
|
|
BitsPerChannel | [-1, 8, 10, 12, 16, 32] | -1 | integer | Ignored. PhoXi uses fixed 32bit images.
|
ColorSpace | ['default', 'gray', 'raw', 'rgb'] | 'default' | string | Ignored.
|
Generic | -1.0 | double | Ignored.
|
|
ExternalTrigger | ['true', 'false'] | 'false' | string | Ignored.
|
CameraType | ['default', 'auto', 'pal', 'ntsc'] | 'default' | string | Ignored.
|
Device | '<device>' | 'InstalledExamples-basic-example(File3DCamera)' | string | Serial number of a scanner (YYMMxxx or YYYY-MM-xxx-LCx) or value from DeviceInfo array (see PhoXi's info_framegrabber with 'device' parameter)
|
Port | [<ports>] | -1 | integer | Ignored.
|
LineIn | -1 | integer | Ignored.
|
Parameter | Values | Default | Type | Description |
---|---|---|---|---|
3droi_camera_space_max | -99999.0 .. 99999.0 | 0.0 | double | Defines data cutting volumes in Camera space. Setting the minimal and maximal thresholds for components based on Camera Space cuts off data outside of this range. The filtration will only be applied if max > min and is applied individually for any dimension. E.g. you can specify Camera Space Min Z to 500 and Camera Space Max Z to 1000 - the data outside of this Z region will be filtered out and X, Y regions will be left unfiltered. |
3droi_camera_space_min | -99999.0 .. 99999.0 | 0.0 | double | Defines data cutting volumes in Camera space. Setting the minimal and maximal thresholds for components based on Camera Space cuts off data outside of this range. The filtration will only be applied if max > min and is applied individually for any dimension. E.g. you can specify Camera Space Min Z to 500 and Camera Space Max Z to 1000 - the data outside of this Z region will be filtered out and X, Y regions will be left unfiltered. |
3droi_point_cloud_space_max | -99999.0 .. 99999.0 | 0.0 | double | Defines data cutting volumes in Point Cloud space. Setting the minimal and maximal thresholds for components based on Point Cloud Space cuts off data outside of this range. Works differently than Camera Space ROI only when the Coordinate Space is other than Camera Space. The filtration will only be applied if max > min and is applied individually for any dimension. E.g. you can specify Point Cloud Space Min Z to 500 and Point Cloud Space Max Z to 1000 - the data outside of this Z region will be filtered out and X, Y regions will be left unfiltered. |
3droi_point_cloud_space_min | -99999.0 .. 99999.0 | 0.0 | double | Defines data cutting volumes in Point Cloud space. Setting the minimal and maximal thresholds for components based on Point Cloud Space cuts off data outside of this range. Works differently than Camera Space ROI only when the Coordinate Space is other than Camera Space. The filtration will only be applied if max > min and is applied individually for any dimension. E.g. you can specify Point Cloud Space Min Z to 500 and Point Cloud Space Max Z to 1000 - the data outside of this Z region will be filtered out and X, Y regions will be left unfiltered. |
ambient_light_suppression | ['enable', 'disable'] | 'disable' | string | Ambient light suppression samples the scene multiple times during one pattern exposure. These samples are thencombined and used to suppress the effect of ambient illumination by eliminating most of the shot noise caused by longer exposure of ambient light. Enabling the mode will set Shutter multiplier to fixed value of 2. |
bits_per_channel | [-1, 8, 10, 12, 16, 32] | 32 | integer | Unsupported command! PhoXi uses fixed 32bit images. |
calibration_volume_only | ['enable', 'disable'] | 'disable' | string | By default the volume captured by the scanner is cut off by near and far planes of the recommended scanning range. Calibration Volume Only allows to switch off the cut. When off the application displays uncut data from the whole captured volume. When on the application displays data captured only in the recommended scanning volume of the scanner. |
camera_only_mode | ['enable', 'disable'] | 'disable' | string | Specifies a mode, where only the camera captures the frame. With Camera Only Mode, you can use the internal camera of the scanner to capture 2D images of the scene. These images can be read out as Texture. It is useful to either navigate the scanner around the scene, or to take a quick snapshot to look for changes in scene. It does not perform any computations necessary for 3D Scanning and has low latency. |
coding_quality | ['Ultra', 'High', 'Fast'] | 'High' | string | Approach to achieve subpixel accuracy:
|
coding_strategy | ['Normal', 'Interreflections'] | 'Interreflections' | string | Coding strategy optimized for Interreflections uses advanced digital coding to make diffuse interreflection possible to suppress. For most scenes, strategy optimized for Interreflections provides better output, but in some edge cases where interreflections are caused by glossy material, Normal could provide more robust results. |
confidence | 0.0 .. 100.0 | 2.0 | double | Controls the amount of output points based on point reliability. This enables the user to set preference based on the application. Some applications require a more complete output at the expense of lower precision. Other applications are meant to work with precise data only and need to filter out regions where the precision does not meet a certain threshold. Renamed to Max Inaccuracy in PhoXi Control GUI. |
coordinate_space | ['CameraSpace', 'MarkerSpace', 'RobotSpace', 'CustomSpace', 'TrackerSpace'] | 'CameraSpace' | string |
|
custom_trans_rotation_matrix | -99999.0 .. 99999.0 | 0.0 | double | Defines the rotation matrix to transform from camera space to custom space. |
custom_trans_translation_vector | -99999.0 .. 99999.0 | 0.0 | double | Defines the translation vector from camera space to custom space. |
do_grab_abort | ['enable', 'disable'] | 'enable' | string | Unsupported command! By default a new asynchronous grab command is automatically given to the acquisition device at the end of grab_image_async. |
get_specific_frame_timeout | -3 .. 300000 | 10000 | integer | This parameter sets the timoeut of the PhoXi API GetSpecificFrame() call. |
grab_data_items | ['Texture', 'PointCloud', 'NormalMap', 'DepthMap', 'ConfidenceMap'] | string | The parameter controls the data returned by the operator grab_data | |
grab_timeout | 5000 | integer | Unsupported command! Desired timeout (milliseconds) for aborting a pending grab. |
|
horizontal_resolution | [1, 2] | 1 | integer | Set value for horizontal resolution.
|
laser_power | 0 .. 4095 | 4095 | integer | Can be understood as amount of light emitted by the scanner. Recommended to decrease only when experiencing overexposure. |
marker_scale | 0.0 .. 99999.0 | 1.0 | double | Enables the setting of the X and Y scale of the marker pattern. Use X or Y larger than 1 for upscaled marker patterns and smaller than 1 for downscaled marker patterns. The correct scale is when the origin of the coordinate system is placed in the center of the white circle in the marker pattern. |
max_camera_angle | 0.0 .. 90.0 | 90.0 | double | Maximal angle between point normal and direction to camera. |
max_halfway_angle | 0.0 | double | Maximal angle between normal and halfway vector. | |
max_projector_angle | 0.0 .. 90.0 | 90.0 | double | Maximal angle between point normal and direction to projector. |
maximum_fps | 0.0 .. 100.0 | 0.0 | double | Useful for limiting the fps in freerun mode. If you want to allow a scan every 10 seconds, you can set Maximum FPS to 0.1. If you want 2 scans per second, set the value to 2.0. |
min_halfway_angle | 0.0 .. 90.0 | 0.0 | double | Minimal angle between normal and halfway vector. |
normals_estimation_radius | 1 .. 4 | 2 | integer | Defines the size of the area (in pixels) around a point. Pixels in this area take part in computation of the normal at this point. |
recognize_markers | ['enable', 'disable'] | 'disable' | string | When true, markers will be recognized in the scan. If Recognize Markers is set, you need to place a marker pattern to the scanning scene, otherwise, the resulting frame will be flagged as corrupted. |
resolution | ['2064x1544', '1032x772'] | '2064x1544' | string | Resolution of the resulting image. |
robot_trans_rotation_matrix | -99999.0 .. 99999.0 | 0.0 | double | Defines the rotation matrix to transform from camera space to custom space. |
robot_trans_translation_vector | -99999.0 .. 99999.0 | 0.0 | double | Defines the translation vector from camera space to custom space. |
scan_multiplier | 1 .. 50 | 1 | integer | Scan Multiplier allows to scan multiple times and merge the output to a single point cloud. This increases S/N ratio to ensure higher quality scan. It is useful in scenarios with high dynamic range, where increased Shutter Multiplier means oversaturation of some areas of the scan. It affects the scanning process and the final duration of the scan is multiplied by Scan Multiplier. |
shutter_multiplier | 1 .. 20 | 3 | integer | Shutter Multiplier affects the duration of scanning by changing the number of repetitions of individual patterns. Higher number of Shutter Multiplier helps to scan darker materials, in situations with sharp scanning angle, or when the light pattern is reflected back only partially. In some cases, setting the value too low could result in underexposed images. Setting the value too high could result in overexposed images. It affects the scanning process and the final scanning time is multiplied by the value of Shutter Multiplier. |
start_async_after_grab_async | ['enable', 'disable'] | 'enable' | string | Unsupported command! |
surface_smoothness | ['Sharp', 'Normal', 'Smooth'] | 'Normal' | string | Defines the setting of smoothness of point cloud generation algorithm.
|
texture_source | ['LED', 'Computed', 'Laser', 'Focus'] | 'LED' | string | Defines the used texture source.
|
timeout | [0, -1, -2, -3] | integer | Defines the setting of timeout.
|
|
trigger_mode | [0, 1, 2, 3] | integer | Defines the setting of trigger mode.
|
|
use_grab_image_async_as_trigger_only | ['enable', 'disable'] | 'enable' | string | Enables PhoXi parallel image acquisition. See PhoXi's grab_image_async and grab_data_async. |
vertical_resolution | [1, 2] | 1 | integer | Set value for vertical resolution.
|
volatile | ['enable', 'disable'] | 'disable' | string | Unsupported command! |
wait_for_grabbing_end | ['enable', 'disable'] | 'enable' | string | If wait_for_grabbing_end is enabled, the call will wait until the end of Device Grabbing. This is useful for synchronous data grabbing. |
All these postfixed parameter names are not returned when calling info_framegrabber(..,'parameters',..) and are used to enable an easy parameterization via generic graphical user interface, particularly the HDevelop Image Acquisition Assistant.
Parameter | Values | Default | Type | Kind | Description |
---|---|---|---|---|---|
3droi_camera_space_max | -99999.0 .. 99999.0 | 0.0 | double | dynamic | Defines data cutting volumes in Camera space. Setting the minimal and maximal thresholds for components based on Camera Space cuts off data outside of this range. The filtration will only be applied if max > min and is applied individually for any dimension. E.g. you can specify Camera Space Min Z to 500 and Camera Space Max Z to 1000 - the data outside of this Z region will be filtered out and X, Y regions will be left unfiltered. |
3droi_camera_space_min | -99999.0 .. 99999.0 | 0.0 | double | dynamic | Defines data cutting volumes in Camera space. Setting the minimal and maximal thresholds for components based on Camera Space cuts off data outside of this range. The filtration will only be applied if max > min and is applied individually for any dimension. E.g. you can specify Camera Space Min Z to 500 and Camera Space Max Z to 1000 - the data outside of this Z region will be filtered out and X, Y regions will be left unfiltered. |
3droi_point_cloud_space_max | -99999.0 .. 99999.0 | 0.0 | double | dynamic | Defines data cutting volumes in Point Cloud space. Setting the minimal and maximal thresholds for components based on Point Cloud Space cuts off data outside of this range. Works differently than Camera Space ROI only when the Coordinate Space is other than Camera Space. The filtration will only be applied if max > min and is applied individually for any dimension. E.g. you can specify Point Cloud Space Min Z to 500 and Point Cloud Space Max Z to 1000 - the data outside of this Z region will be filtered out and X, Y regions will be left unfiltered. |
3droi_point_cloud_space_min | -99999.0 .. 99999.0 | 0.0 | double | dynamic | Defines data cutting volumes in Point Cloud space. Setting the minimal and maximal thresholds for components based on Point Cloud Space cuts off data outside of this range. Works differently than Camera Space ROI only when the Coordinate Space is other than Camera Space. The filtration will only be applied if max > min and is applied individually for any dimension. E.g. you can specify Point Cloud Space Min Z to 500 and Point Cloud Space Max Z to 1000 - the data outside of this Z region will be filtered out and X, Y regions will be left unfiltered. |
ambient_light_suppression | ['enable', 'disable'] | 'disable' | string | pre-defined | Ambient light suppression samples the scene multiple times during one pattern exposure. These samples are thencombined and used to suppress the effect of ambient illumination by eliminating most of the shot noise caused by longer exposure of ambient light. Enabling the mode will set Shutter multiplier to fixed value of 2. |
available_param_names | ['<parameters>'] | pre-defined | List of available parameters. | ||
calibration_camera_matrix | double | dynamic | Camera matrix describes the mapping of 3D points in the world pace to the 2D points in the image plane. | ||
calibration_distortion_coefficients | double | dynamic | Coefficients describing lens distortion of the camera. | ||
calibration_focus_length | double | dynamic | Focal lenght of the camera. | ||
calibration_pixel_size | double | dynamic | Pixel size of the camera. | ||
calibration_volume_only | ['enable', 'disable'] | 'disable' | string | pre-defined | By default the volume captured by the scanner is cut off by near and far planes of the recommended scanning range. Calibration Volume Only allows to switch off the cut. When off the application displays uncut data from the whole captured volume. When on the application displays data captured only in the recommended scanning volume of the scanner. |
camera_only_mode | ['enable', 'disable'] | 'disable' | string | pre-defined | Specifies a mode, where only the camera captures the frame. With Camera Only Mode, you can use the internal camera of the scanner to capture 2D images of the scene. These images can be read out as Texture. It is useful to either navigate the scanner around the scene, or to take a quick snapshot to look for changes in scene. It does not perform any computations necessary for 3D Scanning and has low latency. |
coding_quality | ['Ultra', 'High', 'Fast'] | 'High' | string | pre-defined | Approach to achieve subpixel accuracy:
|
coding_strategy | ['Normal', 'Interreflections'] | 'Interreflections' | string | pre-defined | Coding strategy optimized for Interreflections uses advanced digital coding to make diffuse interreflection possible to suppress. For most scenes, strategy optimized for Interreflections provides better output, but in some edge cases where interreflections are caused by glossy material, Normal could provide more robust results. |
confidence | 0.0 .. 100.0 | 2.0 | double | dynamic | Controls the amount of output points based on point reliability. This enables the user to set preference based on the application. Some applications require a more complete output at the expense of lower precision. Other applications are meant to work with precise data only and need to filter out regions where the precision does not meet a certain threshold. Renamed to Max Inaccuracy in PhoXi Control GUI. |
coordinate_space | ['CameraSpace', 'MarkerSpace', 'RobotSpace', 'CustomSpace', 'TrackerSpace'] | 'CameraSpace' | string | pre-defined |
|
custom_trans_rotation_matrix | -99999.0 .. 99999.0 | 0.0 | double | dynamic | Defines the rotation matrix to transform from camera space to custom space. |
custom_trans_translation_vector | -99999.0 .. 99999.0 | 0.0 | double | dynamic | Defines the translation vector from camera space to custom space. |
get_specific_frame_timeout | -3 .. 300000 | 10000 | integer | dynamic | This parameter sets the timoeut of the PhoXi API GetSpecificFrame() call. |
grab_data_items | ['Texture', 'PointCloud', 'NormalMap', 'DepthMap', 'ConfidenceMap'] | string | pre-defined | The parameter controls the data returned by the operator grab_data. Default values are set according to the devices settings. | |
'grab_timeout' | 5000 | integer | dynamic | Unsupported command! Desired timeout (milliseconds) for aborting a pending grab. |
|
laser_power | 0 .. 4095 | 4095 | integer | dynamic | Can be understood as amount of light emitted by the scanner. Recommended to decrease only when experiencing overexposure. |
marker_scale | 0.0 .. 99999.0 | 1.0 | double | dynamic | Enables the setting of the X and Y scale of the marker pattern. Use X or Y larger than 1 for upscaled marker patterns and smaller than 1 for downscaled marker patterns. The correct scale is when the origin of the coordinate system is placed in the center of the white circle in the marker pattern. |
max_camera_angle | 0.0 .. 90.0 | 90.0 | double | dynamic | Maximal angle between point normal and direction to camera. |
max_halfway_angle | 0.0 | double | dynamic | Maximal angle between normal and halfway vector. | |
max_projector_angle | 0.0 .. 90.0 | 90.0 | double | dynamic | Maximal angle between point normal and direction to projector. |
maximum_fps | 0.0 .. 100.0 | 0.0 | double | dynamic | Useful for limiting the fps in freerun mode. If you want to allow a scan every 10 seconds, you can set Maximum FPS to 0.1. If you want 2 scans per second, set the value to 2.0. |
min_halfway_angle | 0.0 .. 90.0 | 0.0 | double | dynamic | Minimal angle between normal and halfway vector. |
normals_estimation_radius | 1 .. 4 | 2 | integer | dynamic | Defines the size of the area (in pixels) around a point. Pixels in this area take part in computation of the normal at this point. |
num_buffers | 18 | integer | dynamic | Unsupported command! Number of buffers used in the acquisition process.
Two sets of each - front and back buffers. |
|
recognize_markers | ['enable', 'disable'] | 'disable' | string | pre-defined | When true, markers will be recognized in the scan. If Recognize Markers is set, you need to place a marker pattern to the scanning scene, otherwise, the resulting frame will be flagged as corrupted. |
resolution | ['2064x1544', '1032x772'] | '2064x1544' | string | pre-defined | Resolution of the resulting image. |
revision | '<revision>' | string | pre-defined | Revision number of the PhoXi interface. | |
robot_trans_rotation_matrix | -99999.0 .. 99999.0 | 0.0 | double | dynamic | Defines the rotation matrix to transform from camera space to custom space. |
robot_trans_translation_vector | -99999.0 .. 99999.0 | 0.0 | double | dynamic | Defines the translation vector from camera space to custom space. |
scan_multiplier | 1 .. 50 | 1 | integer | dynamic | Scan Multiplier allows to scan multiple times and merge the output to a single point cloud. This increases S/N ratio to ensure higher quality scan. It is useful in scenarios with high dynamic range, where increased Shutter Multiplier means oversaturation of some areas of the scan. It affects the scanning process and the final duration of the scan is multiplied by Scan Multiplier. |
shutter_multiplier | 1 .. 20 | 3 | integer | dynamic | Shutter Multiplier affects the duration of scanning by changing the number of repetitions of individual patterns. Higher number of Shutter Multiplier helps to scan darker materials, in situations with sharp scanning angle, or when the light pattern is reflected back only partially. In some cases, setting the value too low could result in underexposed images. Setting the value too high could result in overexposed images. It affects the scanning process and the final scanning time is multiplied by the value of Shutter Multiplier. |
start_async_after_grab_async | ['enable', 'disable'] | 'enable' | string | pre-defined | Unsupported command! |
surface_smoothness | ['Sharp', 'Normal', 'Smooth'] | 'Normal' | string | pre-defined | Defines the setting of smoothness of point cloud generation algorithm.
|
texture_source | ['LED', 'Computed', 'Laser', 'Focus'] | 'LED' | string | pre-defined | Defines the used texture source.
|
timeout | [0, -1, -2, -3] | integer | pre-defined | Defines the setting of timeout.
|
|
trigger_mode | [0, 1, 2, 3] | 1 | integer | pre-defined | Defines the setting of trigger mode.
|
use_grab_image_async_as_trigger_only | ['enable', 'disable'] | 'enable' | string | pre-defined | Enables PhoXi parallel image acquisition. See PhoXi's grab_image_async and grab_data_async. |
volatile | ['enable', 'disable'] | 'disable' | string | pre-defined | Unsupported command! |
wait_for_grabbing_end | ['enable', 'disable'] | 'enable' | string | pre-defined | If wait_for_grabbing_end is enabled, the call will wait until the end of Device Grabbing. This is useful for synchronous data grabbing. |
Example:
grab_image (TextureImage, AcqHandle)
Example:
grab_image_async (TextureImage, AcqHandle, MaxDelay)
Special behaviour for PhoXi devices when use_grab_image_async_as_trigger_only is enabled:
Example:
GrabDataItems:=['Texture', 'PointCloud', 'NormalMap', 'DepthMap', 'ConfidenceMap']
set_framegrabber_param (AcqHandle, 'grab_data_items', GrabDataItems)
grab_data (ImageData, Region, Contours, AcqHandle, Data)
Parameter | Type | Count | Description |
---|---|---|---|
'image' | Depending on the parameter 'grab_data_items' the following images can be returned:
|
||
'contours' | Not used. | ||
'region' | Not used. | ||
'data' | Not used. |
Example:
GrabDataItems:=['Texture', 'PointCloud', 'NormalMap', 'DepthMap', 'ConfidenceMap']
set_framegrabber_param (AcqHandle, 'grab_data_items', GrabDataItems)
grab_data_async (ImageData, Region, Contours, AcqHandle, MaxDelay, Data)
Special behaviour for PhoXi devices when use_grab_image_async_as_trigger_only is enabled: