SCENE C++ API  2.1.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
LSProcessSettings Class Reference

Interface to read and write settings for processing. More...

#include <lsprocesssettings.h>

+ Inheritance diagram for LSProcessSettings:

Public Types

enum  Colorization : uint8_t { NO_COLORIZATION, COLORIZE_SCANS, LASER_ILUMINATED_HDR }
 Options for the colorization of scans. More...
 

Public Member Functions

LSResult::Result setDarkScanPointFilter (const bool filterState)
 The dark scan point filter removes points based on a minimum reflectance value. More...
 
bool getDarkScanPointFilter () const
 Get the state of dark scan point filter. More...
 
LSResult::Result setFilterReflectanceThreshold (const int reflectance)
 The reflectance threshold value indicates the minimum reflectance value a scan point must have. More...
 
int getFilterReflectanceThreshold () const
 Get reflectance threshold. More...
 
LSResult::Result setColorization (Colorization colorization)
 During processing, it is possible to apply color to each point based on the pictures taken by the scanner. More...
 
Colorization getColorization () const
 Get colorization method. More...
 
LSResult::Result setDistanceFilter (const bool filterState)
 The distance filter simply removes scan points which are outside of a distance range which is defined by the minimum and maximum distance. More...
 
bool getDistanceFilter () const
 Get the state of distance filter. More...
 
LSResult::Result setFilterMinimumDistance (const double distanceValue)
 Specify the minimum distance in meters for the distance filter. More...
 
double getFilterMinimumDistance () const
 Get minimum distance in meters. More...
 
LSResult::Result setFilterMaximumDistance (const double distanceValue)
 Specify the maximum distance in meters of the distance filter. More...
 
double getFilterMaximumDistance () const
 Get maximum distance in meters. More...
 
LSResult::Result setEdgeArtifactFilter (const bool filterState)
 The edge artifact filter is especially useful to remove artifacts at the edges of objects. More...
 
bool getEdgeArtifactFilter () const
 Get the state of Edge Artifact Filter. More...
 
LSResult::Result setStrayFilter (const bool filterState)
 The Stray Point Filter checks if the 2D grid cell of a scan point contains a sufficient percentage of points with a distance similar to the scan point itself. More...
 
bool getStrayFilter () const
 Get the state of Stray Point Filter. More...
 
LSResult::Result setStrayFilterGridSize (const int gridSize)
 The size of the surrounding area used for comparison. More...
 
int getStrayFilterGridSize () const
 Get the Size of grid. More...
 
LSResult::Result setStrayFilterDistance (const double strayDistance)
 A scan point is counted if the difference in distance is smaller than the Distance Threshold. More...
 
double getStrayFilterDistance () const
 Get the Stray Distance. More...
 
LSResult::Result setStrayFilterAllocation (const double allocationPercentage)
 If at least the percentage of scan points indicated by the Allocation Threshold in the surrounding area is also within this distance threshold, the scan point remains in the scan. More...
 
double getStrayFilterAllocation () const
 Get the Allocation Threshold. More...
 
LSResult::Result setSphereDetection (const bool filterState)
 SCENE can find spheres in the scans during processing. More...
 
bool getSphereDetection () const
 Get the state of sphere detection. More...
 
LSResult::Result setActiveSphereRadii (const std::vector< double > &radiiVector)
 Set the list of active sphere radii in meters.The active sphere radii are used during processing when searching for spheres is active. More...
 
std::vector< double > getActiveSphereRadii () const
 Get the list of active sphere radii in meters. More...
 
LSResult::Result setCheckboardsDetection (const bool filterState)
 SCENE can find checkerboard targets in the scans during processing. More...
 
bool getCheckboardsDetection () const
 Get the state of checkerboard target detection. More...
 
LSResult::Result setPlaneDetection (const bool filterState)
 SCENE can find planes in the scans during processing. More...
 
bool getPlaneDetection () const
 Get the state of planes detection. More...
 
LSResult::Result setMarkerDetection (const bool filterState)
 SCENE can find Freestyle markers in the scans during processing. More...
 
bool getMarkerDetection () const
 Get the state of Freestyle marker detection. More...
 
LSResult::Result setCreatePointClouds (const bool creationState)
 If enabled, a scan point cloud for each scan will be created as last part of the processing. More...
 
bool getCreatePointClouds () const
 Get the state of point cloud creation. More...
 
- Public Member Functions inherited from LSAttributeContainer
LSString getTypeName () const
 Gets the type name of this instance. More...
 
LSString getName () const
 Gets the name of the container. More...
 
LSResult::Result setName (LSString name)
 Sets the name of the container. More...
 
LSString getUuid () const
 Returns the unique id of the container. More...
 
LSString assignUuid ()
 Assigns a unique id to the container if the container does not not yet have a unique id. More...
 
unsigned int getNumAttributes () const
 Get the number of attributes in the container. More...
 
LSString getAttributeName (unsigned int index) const
 Get the name of an attribute in the container. More...
 
unsigned int getAttributeIndex (LSString name) const
 Get the index of an attribute in the container. More...
 
LSAttribute getAttribute (unsigned int index) const
 Get an attribute based on its index. More...
 
LSAttribute getAttribute (LSString name) const
 Get an attribute based on its name. More...
 
LSResult::Result setAttribute (unsigned int index, const LSAttribute &attribute)
 Set an attribute based on its index. More...
 
LSResult::Result setAttribute (LSString name, const LSAttribute &attribute)
 Set an attribute based on its name. More...
 
LSResult::Result addCustomAttribute (LSString name, const LSAttribute &attribute)
 Add a new custom attribute to the container. More...
 
bool removeCustomAttribute (LSString name)
 Remove a custom attribute from the container. More...
 
unsigned int getNumFields () const
 Returns the number of fields in the container. More...
 
ref_ptr< LSAttributeContainergetField (unsigned int index) const
 Returns the field at position n in the container. More...
 
ref_ptr< LSAttributeContainergetField (const LSString &name) const
 Returns the field with the given name. More...
 
LSResult::Result addField (const LSString &name, const LSString &typeName, ref_ptr< LSAttributeContainer > &fieldOut)
 Add a field to the container. More...
 
bool rmField (const LSString &name)
 Removes the field with a given name from the container. More...
 

Static Public Member Functions

static ref_ptr< LSProcessSettingscreate ()
 Creates a new settings object based on a copy of the current SCENE settings. More...
 

Additional Inherited Members

- Protected Member Functions inherited from LSRefType
void ref () const
 Increments the internal reference counter. More...
 
void unref () const
 Decrements the internal reference counter. More...
 

Detailed Description

Interface to read and write settings for processing.

An LSProcessSettings object can be used as additional parameter for processScan() to specify the processing settings.

Version
SCENE API Version 2.0.19.

Member Enumeration Documentation

◆ Colorization

enum Colorization : uint8_t
strong

Options for the colorization of scans.

Enumerator
NO_COLORIZATION 

If enabled, the scan will not be colorized.

COLORIZE_SCANS 

Default - Applies the image data taken by the laser scanner to colorize the scan points.

LASER_ILUMINATED_HDR 

Enhances the color image with laser light intensity measurements.

Member Function Documentation

◆ create()

static ref_ptr<LSProcessSettings> create ( )
static

Creates a new settings object based on a copy of the current SCENE settings.

This instance can then be used as a parameter when running processScan().

Returns
the created instance of LSProcessSettings.
Version
SCENE API Version 2.0.19.

◆ setDarkScanPointFilter()

LSResult::Result setDarkScanPointFilter ( const bool  filterState)

The dark scan point filter removes points based on a minimum reflectance value.

Parameters
filterState
  • true = Filter active
  • false = Filter inactive
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Version
SCENE API Version 2.0.19.

◆ getDarkScanPointFilter()

bool getDarkScanPointFilter ( ) const

Get the state of dark scan point filter.

For more information please see setDarkScanPointFilter().

◆ setFilterReflectanceThreshold()

LSResult::Result setFilterReflectanceThreshold ( const int  reflectance)

The reflectance threshold value indicates the minimum reflectance value a scan point must have.

Parameters
reflectanceMinimum reflectance value
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Note
The valid Reflectance Threshold range is 0 - 2048.
Dark scan point filter must be active in order to take effect
Version
SCENE API Version 2.0.19.

◆ getFilterReflectanceThreshold()

int getFilterReflectanceThreshold ( ) const

Get reflectance threshold.

For more information please see setFilterReflectanceThreshold().

◆ setColorization()

LSResult::Result setColorization ( Colorization  colorization)

During processing, it is possible to apply color to each point based on the pictures taken by the scanner.

Parameters
colorizationEnum containing the method of colorization.
See also
Colorization
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Version
SCENE API Version 2.0.19.

◆ getColorization()

Colorization getColorization ( ) const

Get colorization method.

For more information please see setColorization().

◆ setDistanceFilter()

LSResult::Result setDistanceFilter ( const bool  filterState)

The distance filter simply removes scan points which are outside of a distance range which is defined by the minimum and maximum distance.

Parameters
filterState
  • true = Filter active
  • false = Filter inactive
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Version
SCENE API Version 2.0.19.

◆ getDistanceFilter()

bool getDistanceFilter ( ) const

Get the state of distance filter.

For more information please see setDistanceFilter().

◆ setFilterMinimumDistance()

LSResult::Result setFilterMinimumDistance ( const double  distanceValue)

Specify the minimum distance in meters for the distance filter.

For more information please see setDistanceFilter().

Parameters
distanceValueMinimum distance in meters
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Note
Distance Filter must be active in order to take effect
Version
SCENE API Version 2.0.19.

◆ getFilterMinimumDistance()

double getFilterMinimumDistance ( ) const

Get minimum distance in meters.

For more information please see setFilterMinimumDistance().

◆ setFilterMaximumDistance()

LSResult::Result setFilterMaximumDistance ( const double  distanceValue)

Specify the maximum distance in meters of the distance filter.

For more information please see setDistanceFilter().

Parameters
distanceValueMaximum distance in meters
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Note
Distance Filter must be active in order to take effect
Version
SCENE API Version 2.0.19.

◆ getFilterMaximumDistance()

double getFilterMaximumDistance ( ) const

Get maximum distance in meters.

For more information please see setFilterMinimumDistance().

◆ setEdgeArtifactFilter()

LSResult::Result setEdgeArtifactFilter ( const bool  filterState)

The edge artifact filter is especially useful to remove artifacts at the edges of objects.

Parameters
filterState
  • true = Filter active
  • false = Filter inactive
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Version
SCENE API Version 2.0.19.

◆ getEdgeArtifactFilter()

bool getEdgeArtifactFilter ( ) const

Get the state of Edge Artifact Filter.

For more information please see setEdgeArtifactFilter().

◆ setStrayFilter()

LSResult::Result setStrayFilter ( const bool  filterState)

The Stray Point Filter checks if the 2D grid cell of a scan point contains a sufficient percentage of points with a distance similar to the scan point itself.

Parameters
filterState
  • true = Filter active
  • false = Filter inactive
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Version
SCENE API Version 2.0.19.

◆ getStrayFilter()

bool getStrayFilter ( ) const

Get the state of Stray Point Filter.

For more information please see setStrayFilter().

◆ setStrayFilterGridSize()

LSResult::Result setStrayFilterGridSize ( const int  gridSize)

The size of the surrounding area used for comparison.

For each scan point of the scan the filter takes the valid scan points of this surrounding area and counts how many of them are at a distance to the scanner which is approximately the same as the distance of the scan point currently being checked. For more information please see setStrayFilter().

Parameters
gridSizeSize of grid
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Note
The Grid size must be a positive value
Version
SCENE API Version 2.0.19.

◆ getStrayFilterGridSize()

int getStrayFilterGridSize ( ) const

Get the Size of grid.

For more information please see setStrayFilterGridSize().

◆ setStrayFilterDistance()

LSResult::Result setStrayFilterDistance ( const double  strayDistance)

A scan point is counted if the difference in distance is smaller than the Distance Threshold.

For more information please see setStrayFilter().

Parameters
strayDistanceDistance in meters
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Note
The Distance must be a positive value
Version
SCENE API Version 2.0.19.

◆ getStrayFilterDistance()

double getStrayFilterDistance ( ) const

Get the Stray Distance.

For more information please see setStrayFilterDistance().

◆ setStrayFilterAllocation()

LSResult::Result setStrayFilterAllocation ( const double  allocationPercentage)

If at least the percentage of scan points indicated by the Allocation Threshold in the surrounding area is also within this distance threshold, the scan point remains in the scan.

Otherwise it is removed. For more information please see setStrayFilter().

Parameters
allocationPercentagePercentage of scan points
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Note
The Percentage range is 0 to 1.
Version
SCENE API Version 2.0.19.

◆ getStrayFilterAllocation()

double getStrayFilterAllocation ( ) const

Get the Allocation Threshold.

For more information please see setStrayFilterAllocation().

◆ setSphereDetection()

LSResult::Result setSphereDetection ( const bool  filterState)

SCENE can find spheres in the scans during processing.

Parameters
filterState
  • true = Search active
  • false = Search inactive
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Version
SCENE API Version 2.0.19.

◆ getSphereDetection()

bool getSphereDetection ( ) const

Get the state of sphere detection.

For more information please see setSphereDetection().

◆ setActiveSphereRadii()

LSResult::Result setActiveSphereRadii ( const std::vector< double > &  radiiVector)

Set the list of active sphere radii in meters.The active sphere radii are used during processing when searching for spheres is active.

For more information please see setSphereDetection().

Parameters
radiiVectorVector of double values corresponding to the radii of active spheres
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Note
Vector has to have at least one non negative radius.
Version
SCENE API Version 2.0.19.

◆ getActiveSphereRadii()

std::vector<double> getActiveSphereRadii ( ) const

Get the list of active sphere radii in meters.

For more information please see setActiveSphereRadii().

◆ setCheckboardsDetection()

LSResult::Result setCheckboardsDetection ( const bool  filterState)

SCENE can find checkerboard targets in the scans during processing.

Parameters
filterState
  • true = Search active
  • false = Search inactive
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Version
SCENE API Version 2.0.19.

◆ getCheckboardsDetection()

bool getCheckboardsDetection ( ) const

Get the state of checkerboard target detection.

For more information please see setCheckboardsDetection().

◆ setPlaneDetection()

LSResult::Result setPlaneDetection ( const bool  filterState)

SCENE can find planes in the scans during processing.

Parameters
filterState
  • true = Search active
  • false = Search inactive
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Version
SCENE API Version 2.0.19.

◆ getPlaneDetection()

bool getPlaneDetection ( ) const

Get the state of planes detection.

For more information please see setPlaneDetection().

◆ setMarkerDetection()

LSResult::Result setMarkerDetection ( const bool  filterState)

SCENE can find Freestyle markers in the scans during processing.

Parameters
filterState
  • true = Search active
  • false = Search inactive
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Version
SCENE API Version 2.0.19.

◆ getMarkerDetection()

bool getMarkerDetection ( ) const

Get the state of Freestyle marker detection.

For more information please see setMarkerDetection().

◆ setCreatePointClouds()

LSResult::Result setCreatePointClouds ( const bool  creationState)

If enabled, a scan point cloud for each scan will be created as last part of the processing.

Parameters
creationState
  • true = Create point cloud
  • false = Does not create point cloud
Returns
LSResult::Ok if the input value is valid, LSResult::InvalidRequest otherwise.
Version
SCENE API Version 2.0.19.

◆ getCreatePointClouds()

bool getCreatePointClouds ( ) const

Get the state of point cloud creation.

For more information please see setCreatePointClouds().