open3d.pipelines.registration.CorrespondenceCheckerBasedOnEdgeLength

class open3d.pipelines.registration.CorrespondenceCheckerBasedOnEdgeLength

Check if two point clouds build the polygons with similar edge lengths. That is, checks if the lengths of any two arbitrary edges (line formed by two vertices) individually drawn withinin source point cloud and within the target point cloud with correspondences are similar. The only parameter similarity_threshold is a number between 0 (loose) and 1 (strict)

Check(self, source, target, corres, transformation)

Function to check if two points can be aligned. The two input point clouds must have exact the same number of points.

Parameters
  • source (open3d.cpu.pybind.geometry.PointCloud) – Source point cloud.

  • target (open3d.cpu.pybind.geometry.PointCloud) – Target point cloud.

  • corres (open3d.cpu.pybind.utility.Vector2iVector) – Correspondence set between source and target point cloud.

  • transformation (numpy.ndarray[float64[4, 4]]) – The estimated transformation (inplace).

Returns

bool

__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: open3d.cpu.pybind.pipelines.registration.CorrespondenceCheckerBasedOnEdgeLength, arg0: open3d.cpu.pybind.pipelines.registration.CorrespondenceCheckerBasedOnEdgeLength) -> None

Copy constructor

  1. __init__(self: open3d.cpu.pybind.pipelines.registration.CorrespondenceCheckerBasedOnEdgeLength, similarity_threshold: float = 0.9) -> None

property require_pointcloud_alignment_

Some checkers do not require point clouds to be aligned, e.g., the edge length checker. Some checkers do, e.g., the distance checker.

property similarity_threshold

For the check to be true,

\(||\text{edge}_{\text{source}}|| > \text{similarity_threshold} \times ||\text{edge}_{\text{target}}||\) and

\(||\text{edge}_{\text{target}}|| > \text{similarity_threshold} \times ||\text{edge}_{\text{source}}||\)

must hold true for all edges.

Type

float value between 0 (loose) and 1 (strict)