mvIMPACT Acquire SDK C++

Category for control of 3D camera specific features. More...

#include <mvIMPACT_acquire_GenICam.h>

Public Member Functions

 Scan3dControl (mvIMPACT::acquire::Device *pDev, const std::string &settingName="Base")
 Constructs a new mvIMPACT::acquire::GenICam::Scan3dControl object.
 

Public Attributes

PropertyF scan3dAxisMax
 A floating point property. Maximum valid transmitted coordinate value of the selected Axis.
 
PropertyF scan3dAxisMin
 A floating point property. Minimum valid transmitted coordinate value of the selected Axis.
 
PropertyF scan3dBaseline
 A floating point property. Returns the baseline as the physical distance of two cameras in a stereo camera setup.
 
PropertyF scan3dCoordinateOffset
 A floating point property. Offset when transforming a pixel from relative coordinates to world coordinates.
 
PropertyI64 scan3dCoordinateReferenceSelector
 An enumerated integer property. Sets the index to read a coordinate system reference value defining the transform of a point from the current (Anchor or Transformed) system to the reference system.
 
PropertyF scan3dCoordinateReferenceValue
 A floating point property. Returns the reference value selected.
 
PropertyF scan3dCoordinateScale
 A floating point property. Scale factor when transforming a pixel from relative coordinates to world coordinates.
 
PropertyI64 scan3dCoordinateSelector
 An enumerated integer property. Selects the individual coordinates in the vectors for 3D information/transformation.
 
PropertyI64 scan3dCoordinateSystem
 An enumerated integer property. Specifies the Coordinate system to use for the device.
 
PropertyI64 scan3dCoordinateSystemReference
 An enumerated integer property. Defines coordinate system reference location.
 
PropertyI64 scan3dCoordinateTransformSelector
 An enumerated integer property. Sets the index to read/write a coordinate transform value.
 
PropertyI64 scan3dDistanceUnit
 An enumerated integer property. Specifies the unit used when delivering (calibrated) distance data.
 
PropertyI64 scan3dExtractionMethod
 An enumerated integer property. Selects the method for extracting 3D from the input sensor data.
 
PropertyI64 scan3dExtractionSelector
 An enumerated integer property. Selects the 3D Extraction processing module to control (if multiple ones are present).
 
PropertyI64 scan3dExtractionSource
 An enumerated integer property. Selects the sensor's data source region for 3D Extraction module.
 
PropertyF scan3dFocalLength
 A floating point property. Returns the focal length of the camera in pixel.
 
PropertyIBoolean scan3dInvalidDataFlag
 A boolean property. Enables the definition of a non-valid flag value in the data stream.
 
PropertyF scan3dInvalidDataValue
 A floating point property. Value which identifies a non-valid pixel if Scan3dInvalidDataFlag is enabled.
 
PropertyI64 scan3dOutputMode
 An enumerated integer property. Controls the Calibration and data organization of the device and the coordinates transmitted.
 
PropertyF scan3dPrincipalPointU
 A floating point property. Returns the value of the horizontal position of the principal point, relative to the region origin, i.e.
 
PropertyF scan3dPrincipalPointV
 A floating point property. Returns the value of the vertical position of the principal point, relative to the region origin, i.e.
 
PropertyF scan3dTransformValue
 A floating point property. Specifies the transform value selected.
 

Detailed Description

Category for control of 3D camera specific features.

A category for control of 3D camera specific features.

Constructor & Destructor Documentation

◆ Scan3dControl()

Scan3dControl ( mvIMPACT::acquire::Device pDev,
const std::string &  settingName = "Base" 
)
inlineexplicit

Constructs a new mvIMPACT::acquire::GenICam::Scan3dControl object.

Parameters
[in]pDevA pointer to a mvIMPACT::acquire::Device object obtained from a mvIMPACT::acquire::DeviceManager object.
[in]settingNameThe name of the driver internal setting to access with this instance. A list of valid setting names can be obtained by a call to mvIMPACT::acquire::FunctionInterface::getAvailableSettings, new settings can be created with the function mvIMPACT::acquire::FunctionInterface::createSetting

Member Data Documentation

◆ scan3dAxisMax

PropertyF scan3dAxisMax

A floating point property. Maximum valid transmitted coordinate value of the selected Axis.

Maximum valid transmitted coordinate value of the selected Axis.

◆ scan3dAxisMin

PropertyF scan3dAxisMin

A floating point property. Minimum valid transmitted coordinate value of the selected Axis.

Minimum valid transmitted coordinate value of the selected Axis.

◆ scan3dBaseline

PropertyF scan3dBaseline

A floating point property. Returns the baseline as the physical distance of two cameras in a stereo camera setup.

Returns the baseline as the physical distance of two cameras in a stereo camera setup. The value of this feature can be used for 3D reconstruction from disparity images. In this case, the unit of the 3D coordinates corresponds to the unit of the baseline.

◆ scan3dCoordinateOffset

PropertyF scan3dCoordinateOffset

A floating point property. Offset when transforming a pixel from relative coordinates to world coordinates.

Offset when transforming a pixel from relative coordinates to world coordinates.

◆ scan3dCoordinateReferenceSelector

PropertyI64 scan3dCoordinateReferenceSelector

An enumerated integer property. Sets the index to read a coordinate system reference value defining the transform of a point from the current (Anchor or Transformed) system to the reference system.

Sets the index to read a coordinate system reference value defining the transform of a point from the current (Anchor or Transformed) system to the reference system.

The following string values might be valid for this feature:

  • RotationX (Display string: 'Rotation X'): Rotation around X axis.
  • RotationY (Display string: 'Rotation Y'): Rotation around Y axis.
  • RotationZ (Display string: 'Rotation Z'): Rotation around Z axis.
  • TranslationX (Display string: 'Translation X'): X axis translation.
  • TranslationY (Display string: 'Translation Y'): Y axis translation.
  • TranslationZ (Display string: 'Translation Z'): Z axis translation.
Note
Depending on the device some of these values might not be supported and especially when working with third party devices there might be custom values which are not listed here. To get a complete and reliable list of supported values at runtime an application should therefore call mvIMPACT::acquire::EnumPropertyI::getTranslationDictStrings() or one of the other functions dealing with translation dictionaries for enumerated properties.

◆ scan3dCoordinateReferenceValue

PropertyF scan3dCoordinateReferenceValue

A floating point property. Returns the reference value selected.

Returns the reference value selected. Reads the value of a rotation or translation value for the current (Anchor or Transformed) coordinate system transformation to the Reference system.

◆ scan3dCoordinateScale

PropertyF scan3dCoordinateScale

A floating point property. Scale factor when transforming a pixel from relative coordinates to world coordinates.

Scale factor when transforming a pixel from relative coordinates to world coordinates.

◆ scan3dCoordinateSelector

PropertyI64 scan3dCoordinateSelector

An enumerated integer property. Selects the individual coordinates in the vectors for 3D information/transformation.

Selects the individual coordinates in the vectors for 3D information/transformation.

The following string values might be valid for this feature:

  • CoordinateA (Display string: 'Coordinate A'): The first (X or Theta) coordinate
  • CoordinateB (Display string: 'Coordinate B'): The second (Y or Phi) coordinate
  • CoordinateC (Display string: 'Coordinate C'): The third (Z or Rho) coordinate.
Note
Depending on the device some of these values might not be supported and especially when working with third party devices there might be custom values which are not listed here. To get a complete and reliable list of supported values at runtime an application should therefore call mvIMPACT::acquire::EnumPropertyI::getTranslationDictStrings() or one of the other functions dealing with translation dictionaries for enumerated properties.

◆ scan3dCoordinateSystem

PropertyI64 scan3dCoordinateSystem

An enumerated integer property. Specifies the Coordinate system to use for the device.

Specifies the Coordinate system to use for the device.

The following string values might be valid for this feature:

  • Cartesian (Display string: 'Cartesian'): Default value. 3-axis orthogonal, right-hand X-Y-Z.
  • Spherical (Display string: 'Spherical'): A Theta-Phi-Rho coordinate system.
  • Cylindrical (Display string: 'Cylindrical'): A Theta-Y-Rho coordinate system.
Note
Depending on the device some of these values might not be supported and especially when working with third party devices there might be custom values which are not listed here. To get a complete and reliable list of supported values at runtime an application should therefore call mvIMPACT::acquire::EnumPropertyI::getTranslationDictStrings() or one of the other functions dealing with translation dictionaries for enumerated properties.

◆ scan3dCoordinateSystemReference

PropertyI64 scan3dCoordinateSystemReference

An enumerated integer property. Defines coordinate system reference location.

Defines coordinate system reference location.

The following string values might be valid for this feature:

  • Anchor (Display string: 'Anchor'): Default value. Original fixed reference. The coordinate system fixed relative the camera reference point marker is used.
  • Transformed (Display string: 'Transformed'): Transformed reference system. The transformed coordinate system is used according to the definition in the rotation and translation matrices.
Note
Depending on the device some of these values might not be supported and especially when working with third party devices there might be custom values which are not listed here. To get a complete and reliable list of supported values at runtime an application should therefore call mvIMPACT::acquire::EnumPropertyI::getTranslationDictStrings() or one of the other functions dealing with translation dictionaries for enumerated properties.

◆ scan3dCoordinateTransformSelector

PropertyI64 scan3dCoordinateTransformSelector

An enumerated integer property. Sets the index to read/write a coordinate transform value.

Sets the index to read/write a coordinate transform value.

The following string values might be valid for this feature:

  • RotationX (Display string: 'Rotation X'): Rotation around X axis.
  • RotationY (Display string: 'Rotation Y'): Rotation around Y axis.
  • RotationZ (Display string: 'Rotation Z'): Rotation around Z axis.
  • TranslationX (Display string: 'Translation X'): Translation along X axis.
  • TranslationY (Display string: 'Translation Y'): Translation along Y axis.
  • TranslationZ (Display string: 'Translation Z'): Translation along Z axis.
Note
Depending on the device some of these values might not be supported and especially when working with third party devices there might be custom values which are not listed here. To get a complete and reliable list of supported values at runtime an application should therefore call mvIMPACT::acquire::EnumPropertyI::getTranslationDictStrings() or one of the other functions dealing with translation dictionaries for enumerated properties.

◆ scan3dDistanceUnit

PropertyI64 scan3dDistanceUnit

An enumerated integer property. Specifies the unit used when delivering (calibrated) distance data.

Specifies the unit used when delivering (calibrated) distance data.

The following string values might be valid for this feature:

  • Millimeter (Display string: 'Millimeter'): Distance values are in millimeter units (default).
  • Meter (Display string: 'Meter'): Distance values are in meter units.
  • Inch (Display string: 'Inch'): Distance values are in inch units.
  • Pixel (Display string: 'Pixel'): Distance values are given as a multiple of the size of a pixel.
Note
Depending on the device some of these values might not be supported and especially when working with third party devices there might be custom values which are not listed here. To get a complete and reliable list of supported values at runtime an application should therefore call mvIMPACT::acquire::EnumPropertyI::getTranslationDictStrings() or one of the other functions dealing with translation dictionaries for enumerated properties.

◆ scan3dExtractionMethod

PropertyI64 scan3dExtractionMethod

An enumerated integer property. Selects the method for extracting 3D from the input sensor data.

Selects the method for extracting 3D from the input sensor data.

The following string values might be valid for this feature:

  • Default (Display string: 'Default'): Default range extraction method for the device.
Note
Depending on the device some of these values might not be supported and especially when working with third party devices there might be custom values which are not listed here. To get a complete and reliable list of supported values at runtime an application should therefore call mvIMPACT::acquire::EnumPropertyI::getTranslationDictStrings() or one of the other functions dealing with translation dictionaries for enumerated properties.

◆ scan3dExtractionSelector

PropertyI64 scan3dExtractionSelector

An enumerated integer property. Selects the 3D Extraction processing module to control (if multiple ones are present).

Selects the 3D Extraction processing module to control (if multiple ones are present).

The following string values might be valid for this feature:

  • Scan3dExtraction0 (Display string: 'Scan 3d Extraction 0'): Selects Scan3d Extraction module 0.
  • Scan3dExtraction1 (Display string: 'Scan 3d Extraction 1'): Selects Scan3d Extraction module 1.
  • Scan3dExtraction2 (Display string: 'Scan 3d Extraction 2'): Selects Scan3d Extraction module 2.
  • Scan3dExtraction#3# (Display string: 'Scan 3d Extraction #3#'): Selects Scan3d Extraction module #3#.
Note
Depending on the device some of these values might not be supported and especially when working with third party devices there might be custom values which are not listed here. To get a complete and reliable list of supported values at runtime an application should therefore call mvIMPACT::acquire::EnumPropertyI::getTranslationDictStrings() or one of the other functions dealing with translation dictionaries for enumerated properties.

◆ scan3dExtractionSource

PropertyI64 scan3dExtractionSource

An enumerated integer property. Selects the sensor's data source region for 3D Extraction module.

Selects the sensor's data source region for 3D Extraction module.

The following string values might be valid for this feature:

  • Region0 (Display string: 'Region 0'): Data come from Sensor's Region0.
  • Region1 (Display string: 'Region 1'): Data come from Sensor's Region1.
  • Region2 (Display string: 'Region 2'): Data come from Sensor's Region2.
  • Region#3# (Display string: 'Region #3#'): Data come from Sensor's Region#3#.
Note
Depending on the device some of these values might not be supported and especially when working with third party devices there might be custom values which are not listed here. To get a complete and reliable list of supported values at runtime an application should therefore call mvIMPACT::acquire::EnumPropertyI::getTranslationDictStrings() or one of the other functions dealing with translation dictionaries for enumerated properties.

◆ scan3dFocalLength

PropertyF scan3dFocalLength

A floating point property. Returns the focal length of the camera in pixel.

Returns the focal length of the camera in pixel. The focal length depends on the selected region. The value of this feature takes into account horizontal binning, decimation, or any other function changing the image resolution.

◆ scan3dInvalidDataFlag

PropertyIBoolean scan3dInvalidDataFlag

A boolean property. Enables the definition of a non-valid flag value in the data stream.

Enables the definition of a non-valid flag value in the data stream. Note that the confidence output is an alternate recommended way to identify non-valid pixels. Using a Scan3dInvalidDataValue may give processing penalties due to special handling.

◆ scan3dInvalidDataValue

PropertyF scan3dInvalidDataValue

A floating point property. Value which identifies a non-valid pixel if Scan3dInvalidDataFlag is enabled.

Value which identifies a non-valid pixel if Scan3dInvalidDataFlag is enabled.

◆ scan3dOutputMode

PropertyI64 scan3dOutputMode

An enumerated integer property. Controls the Calibration and data organization of the device and the coordinates transmitted.

Controls the Calibration and data organization of the device and the coordinates transmitted.

The following string values might be valid for this feature:

  • UncalibratedC (Display string: 'Uncalibrated C'): Uncalibrated 2.5D Depth map. The distance data does not represent a physical unit and may be non-linear. The data is a 2.5D range map only.
  • CalibratedABC_Grid (Display string: 'Calibrated ABC Grid'): 3 Coordinates in grid organization. The full 3 coordinate data with the grid array organization from the sensor kept.
  • CalibratedABC_PointCloud (Display string: 'Calibrated ABC Point Cloud'): 3 Coordinates without organization. The full 3 coordinate data without any organization of data points. Typically only valid points transmitted giving varying image size.
  • CalibratedAC (Display string: 'Calibrated AC'): 2 Coordinates with fixed B sampling. The data is sent as a A and C coordinates (X,Z or Theta,Rho). The B (Y) axis uses the scale and offset parameters for the B axis.
  • CalibratedAC_Linescan (Display string: 'Calibrated AC Linescan'): 2 Coordinates with varying sampling. The data is sent as a A and C coordinates (X,Z or Theta,Rho). The B (Y) axis comes from the encoder chunk value.
  • CalibratedC (Display string: 'Calibrated C'): Calibrated 2.5D Depth map. The distance data is expressed in the chosen distance unit. The data is a 2.5D range map. No information on X-Y axes available.
  • CalibratedC_Linescan (Display string: 'Calibrated C Linescan'): Depth Map with varying B sampling. The distance data is expressed in the chosen distance unit. The data is a 2.5D range map. The B (Y) axis comes from the encoder chunk value.
  • RectifiedC (Display string: 'Rectified C'): Rectified 2.5D Depth map. The distance data has been rectified to a uniform sampling pattern in the X and Y direction. The data is a 2.5D range map only. If a complete 3D point cloud is rectified but transmitted as explicit coordinates it should be transmitted as one of the 'CalibratedABC' formats.
  • RectifiedC_Linescan (Display string: 'Rectified C Linescan'): Rectified 2.5D Depth map with varying B sampling. The data is sent as rectified 1D profiles using Coord3D_C pixels. The B (Y) axis comes from the encoder chunk value.
  • DisparityC (Display string: 'Disparity C'): Disparity 2.5D Depth map. The distance is inversely proportional to the pixel (disparity) value.
  • DisparityC_Linescan (Display string: 'Disparity C Linescan'): Disparity 2.5D Depth map with varying B sampling. The distance is inversely proportional to the pixel (disparity) value. The B (Y) axis comes from the encoder chunk value.
Note
Depending on the device some of these values might not be supported and especially when working with third party devices there might be custom values which are not listed here. To get a complete and reliable list of supported values at runtime an application should therefore call mvIMPACT::acquire::EnumPropertyI::getTranslationDictStrings() or one of the other functions dealing with translation dictionaries for enumerated properties.

◆ scan3dPrincipalPointU

PropertyF scan3dPrincipalPointU

A floating point property. Returns the value of the horizontal position of the principal point, relative to the region origin, i.e.

Returns the value of the horizontal position of the principal point, relative to the region origin, i.e. OffsetX. The value of this feature takes into account horizontal binning, decimation, or any other function changing the image resolution.

◆ scan3dPrincipalPointV

PropertyF scan3dPrincipalPointV

A floating point property. Returns the value of the vertical position of the principal point, relative to the region origin, i.e.

Returns the value of the vertical position of the principal point, relative to the region origin, i.e. OffsetY. The value of this feature takes into account vertical binning, decimation, or any other function changing the image resolution.

◆ scan3dTransformValue

PropertyF scan3dTransformValue

A floating point property. Specifies the transform value selected.

Specifies the transform value selected. For translations (Scan3dCoordinateTransformSelector = TranslationX/Y/Z) it is expressed in the distance unit of the system, for rotations (Scan3dCoordinateTransformSelector =RotationX/Y/Z) in degrees.