sksurgerysurfacematch.algorithms.goicp_registration module¶
Go ICP implementation of RigidRegistration interface.
-
class
sksurgerysurfacematch.algorithms.goicp_registration.RigidRegistration(dt_size: int = 200, dt_factor: float = 2.0, normalise: bool = True, num_moving_points: int = 1000, rotation_limits=[-45, 45], trans_limits=[-0.5, 0.5])[source]¶ Bases:
sksurgerysurfacematch.interfaces.rigid_registration.RigidRegistrationClass that uses GoICP implementation to register fixed/moving clouds. At the moment, we are just relying on all default parameters. :param dt_size: Nodes per dimension of distance transform :param dt_factor: GoICP distance transform factor TODO: rest of params
-
register(moving_cloud: numpy.ndarray, fixed_cloud: numpy.ndarray) → numpy.ndarray[source]¶ Uses GoICP library, wrapped in scikit-surgerygoicp.
Parameters: - fixed_cloud – [Nx3] fixed point cloud.
- moving_cloud – [Mx3] moving point cloud.
- normalise – If true, data will be centred around 0 and normalised.
- num_moving_points – How many points to sample from moving cloud if 0, use all points
Returns: [4x4] transformation matrix, moving-to-fixed space.
-
-
sksurgerysurfacematch.algorithms.goicp_registration.create_scaling_matrix(scale: float) → numpy.ndarray[source]¶ Create a scaling matrix, with the same value in each axis.
-
sksurgerysurfacematch.algorithms.goicp_registration.create_translation_matrix(translate: numpy.ndarray) → numpy.ndarray[source]¶ Create translation matrix from 3x1 translation vector.
-
sksurgerysurfacematch.algorithms.goicp_registration.demean_and_normalise(points_a: numpy.ndarray, points_b: numpy.ndarray)[source]¶ Independently centre each point cloud around 0,0,0, then normalise both to [-1,1].
Parameters: - points_a (np.ndarray) – 1st point cloud
- points_b (np.ndarray) – 2nd point cloud
Returns: normalised points clouds, scale factor & translations
-
sksurgerysurfacematch.algorithms.goicp_registration.numpy_to_POINT3D_array(numpy_pointcloud)[source]¶ Covert numpy array to POINT3D array suitable for GoICP algorithm.