Swarm-SLAM  1.0.0
C-SLAM Framework
icp_utils Namespace Reference

Functions

def pcd2xyz (pcd)
 
def extract_fpfh (pcd, voxel_size)
 
def find_knn_cpu (feat0, feat1, knn=1, return_distance=False)
 
def find_correspondences (feats0, feats1, mutual_filter=True)
 
def get_teaser_solver (noise_bound)
 
def Rt2T (R, t)
 
def downsample (points, voxel_size)
 
def solve_teaser (src, dst, voxel_size, min_inliers)
 
def to_transform_msg (translation, rotation)
 
def open3d_to_ros (open3d_cloud)
 
def ros_to_open3d (msg)
 
def ros_pointcloud_to_points (pc_msg)
 
def downsample_ros_pointcloud (pc_msg, voxel_size)
 
def compute_transform (src, dst, voxel_size, min_inliers)
 

Variables

list FIELDS_XYZ
 

Function Documentation

◆ compute_transform()

def icp_utils.compute_transform (   src,
  dst,
  voxel_size,
  min_inliers 
)
Computes a 3D transform between 2 point clouds using TEASER++.

Be careful: TEASER++ computes the transform from dst to src.

Args:
    src (Open3D point cloud): pointcloud from
    dst (Open3D point cloud): pointcloud to
    voxel_size (int): Voxel size
    min_inliers (int): Minimum number of inlier points correspondance to consider the registration a success

Returns:
    (Transform, bool): transform and success flag

Definition at line 174 of file icp_utils.py.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ downsample()

def icp_utils.downsample (   points,
  voxel_size 
)

Definition at line 93 of file icp_utils.py.

Here is the caller graph for this function:

◆ downsample_ros_pointcloud()

def icp_utils.downsample_ros_pointcloud (   pc_msg,
  voxel_size 
)

Definition at line 170 of file icp_utils.py.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ extract_fpfh()

def icp_utils.extract_fpfh (   pcd,
  voxel_size 
)

Definition at line 26 of file icp_utils.py.

Here is the caller graph for this function:

◆ find_correspondences()

def icp_utils.find_correspondences (   feats0,
  feats1,
  mutual_filter = True 
)

Definition at line 49 of file icp_utils.py.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ find_knn_cpu()

def icp_utils.find_knn_cpu (   feat0,
  feat1,
  knn = 1,
  return_distance = False 
)

Definition at line 40 of file icp_utils.py.

Here is the caller graph for this function:

◆ get_teaser_solver()

def icp_utils.get_teaser_solver (   noise_bound)

Definition at line 68 of file icp_utils.py.

Here is the caller graph for this function:

◆ open3d_to_ros()

def icp_utils.open3d_to_ros (   open3d_cloud)

Definition at line 152 of file icp_utils.py.

Here is the caller graph for this function:

◆ pcd2xyz()

def icp_utils.pcd2xyz (   pcd)

Definition at line 22 of file icp_utils.py.

Here is the caller graph for this function:

◆ ros_pointcloud_to_points()

def icp_utils.ros_pointcloud_to_points (   pc_msg)

Definition at line 166 of file icp_utils.py.

Here is the caller graph for this function:

◆ ros_to_open3d()

def icp_utils.ros_to_open3d (   msg)

Definition at line 159 of file icp_utils.py.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Rt2T()

def icp_utils.Rt2T (   R,
  t 
)

Definition at line 86 of file icp_utils.py.

Here is the caller graph for this function:

◆ solve_teaser()

def icp_utils.solve_teaser (   src,
  dst,
  voxel_size,
  min_inliers 
)

Definition at line 99 of file icp_utils.py.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ to_transform_msg()

def icp_utils.to_transform_msg (   translation,
  rotation 
)

Definition at line 138 of file icp_utils.py.

Here is the caller graph for this function:

Variable Documentation

◆ FIELDS_XYZ

list icp_utils.FIELDS_XYZ
Initial value:
1 = [
2  PointField(name='x', offset=0, datatype=PointField.FLOAT32, count=1),
3  PointField(name='y', offset=4, datatype=PointField.FLOAT32, count=1),
4  PointField(name='z', offset=8, datatype=PointField.FLOAT32, count=1),
5 ]

Definition at line 13 of file icp_utils.py.