mrdja.ransaclp.get_ransaclp_data_from_filename

mrdja.ransaclp.get_ransaclp_data_from_filename(filename: str, ransac_iterations: int = 100, threshold: float = 0.1, audit_cloud: bool = False, verbosity_level: int = 0, inherited_verbose_string: str = '', seed: int | None = None) Dict[source]

Gets the ransaclp data from a file.

Parameters:
  • filename (str) – The filename.

  • ransac_iterations (int) – The number of ransac iterations.

  • threshold (float) – The threshold.

  • audit_cloud (bool) – Whether to audit the cloud.

  • verbosity_level (int) – The verbosity level.

  • inherited_verbose_string (str) – The inherited verbose string.

  • seed (int) – The seed.

Returns:

The ransaclp data.

Return type:

dict

Example:

>>> import open3d as o3d
>>> import mrdja.ransaclp as ransaclp
>>> import mrdja.ransac.coreransac as coreransac
>>> office_dataset = o3d.data.OfficePointClouds()
>>> office_filename = office_dataset.paths[0]
>>> ransac_iterations = 200
>>> threshold = 0.02
>>> seed = 42
>>> ransaclp_data = ransaclp.get_ransaclp_data_from_filename(office_filename, 
                                                            ransac_iterations = ransac_iterations, 
                                                            threshold = threshold, audit_cloud=True, seed = seed)
>>> ransaclp_data
{'plane': array([-0.07208637,  0.20357587, -0.97640177,  2.25114528]),
'number_inliers': 83788,
'indices_inliers': array([     7,      8,     10, ..., 248476, 248477, 248478])}
>>> pcd = o3d.io.read_point_cloud(office_filename)
>>> number_inliers = ransaclp_data["number_inliers"]
>>> indices_inliers = ransaclp_data["indices_inliers"]
>>> inlier_cloud = pcd.select_by_index(indices_inliers)
>>> inlier_cloud.paint_uniform_color([1, 0, 0])
>>> o3d.visualization.draw_geometries([pcd, inlier_cloud], window_name="RANSACLP Inliers:  " + str(number_inliers))

ransaclp_get_ransaclp_data_from_filename_example