eVision .NET API
Loading...
Searching...
No Matches
eVision.Easy3D.EPointCloudMerger Class Reference

Merges several EPointCloud of the same scene from different sensors after having performed a calibration. More...

Inheritance diagram for eVision.Easy3D.EPointCloudMerger:
Collaboration diagram for eVision.Easy3D.EPointCloudMerger:

Public Member Functions

 EPointCloudMerger ()
 Constructs an EPointCloudMerger.
 EPointCloudMerger (eVision.Easy3D.EPointCloudMerger other)
 Constructs an EPointCloudMerger.
 EPointCloudMerger (bool enableDecimation, float mergedCloudResolution, eVision.Easy3D.E3DTransformMatrix[] transforms)
 Constructs an EPointCloudMerger.
void Load (string path)
 Loads the EPointCloudMerger. The given ESerializer must have been created for reading.
void Load (eVision.ESerializer serializer)
 Loads the EPointCloudMerger. The given ESerializer must have been created for reading.
void Save (string path)
 Saves the EPointCloudMerger. The given ESerializer must have been created for writing.
void Save (eVision.ESerializer serializer)
 Saves the EPointCloudMerger. The given ESerializer must have been created for writing.
float Calibrate (eVision.Easy3D.EPointCloud[] calibrationClouds, float calibrationObjectSize, bool computeMergedCloudResolution)
 Calibrates the transformations to apply to the point clouds from clouds of the calibration object.
float Calibrate (eVision.Easy3D.EPointCloud[] calibrationClouds, float calibrationObjectSize)
 Calibrates the transformations to apply to the point clouds from clouds of the calibration object.
void Merge (eVision.Easy3D.EPointCloud[] clouds, eVision.Easy3D.EPointCloud mergedCloud)
 Merges the given clouds by applying the transformation matrices and optionally filter the result to remove duplicate points.

Properties

float MergedCloudResolution [get, set]
 Sets/Gets the resolution of the merged point clouds.
eVision.Easy3D.E3DTransformMatrix[] Transformations [get, set]
 Sets/Gets the transformations to apply to all of the clouds to merge.
bool EnableDecimation [get, set]
 Sets/Gets whether the filtering of the merged cloud is enabled. If set to true, an EGridDecimator is used to perform a grid decimation so that a point present in several clouds is not duplicated. Defaults to true.

Detailed Description

Merges several EPointCloud of the same scene from different sensors after having performed a calibration.

License(s): Easy3DMatch

Constructor & Destructor Documentation

◆ EPointCloudMerger() [1/3]

eVision.Easy3D.EPointCloudMerger.EPointCloudMerger ( )

Constructs an EPointCloudMerger.

◆ EPointCloudMerger() [2/3]

eVision.Easy3D.EPointCloudMerger.EPointCloudMerger ( eVision.Easy3D.EPointCloudMerger other)

Constructs an EPointCloudMerger.

Parameters
otherAnother EPointCloudMerger object to be copied in the new EPointCloudMerger object.

◆ EPointCloudMerger() [3/3]

eVision.Easy3D.EPointCloudMerger.EPointCloudMerger ( bool enableDecimation,
float mergedCloudResolution,
eVision.Easy3D.E3DTransformMatrix[] transforms )

Constructs an EPointCloudMerger.

Parameters
enableDecimationWhether we want to filter the merged cloud to remove point duplicates coming from different clouds by using an EGridDecimator or not. Set to true by default.
mergedCloudResolutionThe size of a cubic cell of EGridDecimator applied to the merged EPointCloud. Set to 1 by default.
transformsA vector of E3DTransformMatrix that will be applied to each EPointCloud before merging them together.

Member Function Documentation

◆ Calibrate() [1/2]

float eVision.Easy3D.EPointCloudMerger.Calibrate ( eVision.Easy3D.EPointCloud[] calibrationClouds,
float calibrationObjectSize )

Calibrates the transformations to apply to the point clouds from clouds of the calibration object.

Parameters
calibrationCloudsA vector of EPointCloud representing different points of view of the calibration object.
calibrationObjectSizeThe size of an edge of the calibration cube in the point clouds.

The transformations to apply and possibly the mergedCloudResolution can also be set by EPointCloudMerger.Transformations and EPointCloudMerger.MergedCloudResolution respectively.

The biggest face of the calibration cube should at least contain 2% of the points in each calibration cloud for the object to be detected.

◆ Calibrate() [2/2]

float eVision.Easy3D.EPointCloudMerger.Calibrate ( eVision.Easy3D.EPointCloud[] calibrationClouds,
float calibrationObjectSize,
bool computeMergedCloudResolution )

Calibrates the transformations to apply to the point clouds from clouds of the calibration object.

Parameters
calibrationCloudsA vector of EPointCloud representing different points of view of the calibration object.
calibrationObjectSizeThe size of an edge of the calibration cube in the point clouds.
computeMergedCloudResolutionWhether to compute the resolution of the merged cloud from the given clouds or not.

If set to true, the resolution will be set to half the average distance between a point on the calibration object of the first cloud and its nearest neighbor.

Defaults to false.

The transformations to apply and possibly the mergedCloudResolution can also be set by EPointCloudMerger.Transformations and EPointCloudMerger.MergedCloudResolution respectively.

The biggest face of the calibration cube should at least contain 2% of the points in each calibration cloud for the object to be detected.

◆ Load() [1/2]

void eVision.Easy3D.EPointCloudMerger.Load ( eVision.ESerializer serializer)

Loads the EPointCloudMerger. The given ESerializer must have been created for reading.

Parameters
serializerThe serializer.

◆ Load() [2/2]

void eVision.Easy3D.EPointCloudMerger.Load ( string path)

Loads the EPointCloudMerger. The given ESerializer must have been created for reading.

Parameters
pathThe file path.

◆ Merge()

void eVision.Easy3D.EPointCloudMerger.Merge ( eVision.Easy3D.EPointCloud[] clouds,
eVision.Easy3D.EPointCloud mergedCloud )

Merges the given clouds by applying the transformation matrices and optionally filter the result to remove duplicate points.

Parameters
cloudsA vector of EPointCloud representing different points of view of the object.
mergedCloudAn empty cloud that will be filled with the merging of the clouds.

The EPointCloudMerger must have been calibrated or the transformations to apply set, see EPointCloudMerger.Calibrate, EPointCloudMerger.Transformations or constructor.

◆ Save() [1/2]

void eVision.Easy3D.EPointCloudMerger.Save ( eVision.ESerializer serializer)

Saves the EPointCloudMerger. The given ESerializer must have been created for writing.

Parameters
serializerThe ESerializer object that is written to.

◆ Save() [2/2]

void eVision.Easy3D.EPointCloudMerger.Save ( string path)

Saves the EPointCloudMerger. The given ESerializer must have been created for writing.

Parameters
pathThe file path.

Property Documentation

◆ EnableDecimation

bool eVision.Easy3D.EPointCloudMerger.EnableDecimation
getset

Sets/Gets whether the filtering of the merged cloud is enabled. If set to true, an EGridDecimator is used to perform a grid decimation so that a point present in several clouds is not duplicated. Defaults to true.

◆ MergedCloudResolution

float eVision.Easy3D.EPointCloudMerger.MergedCloudResolution
getset

Sets/Gets the resolution of the merged point clouds.

◆ Transformations

eVision.Easy3D.E3DTransformMatrix [] eVision.Easy3D.EPointCloudMerger.Transformations
getset

Sets/Gets the transformations to apply to all of the clouds to merge.

The transformations to apply can also be produced by EPointCloudMerger.Calibrate.