geo3d.geometry.transforms

Classes

Translate

Class to translate a point cloud.

MinNormalize

Class to normalize a point cloud by its minimum values.

MeanNormalize

Class to normalize a point cloud by its mean values.

Scale

Class to scale a point cloud.

Jitter

Class to jitter a point cloud.

Drop

Class to drop points of a point cloud.

Flip

Class to flip points between axes x to y of a point cloud.

Rotate

Class to rotate a point cloud around the Z-axis.

Module Contents

class geo3d.geometry.transforms.Translate(vector: tuple[float, float, float])

Class to translate a point cloud.

vector
__call__(data: numpy.typing.NDArray[numpy.floating]) numpy.typing.NDArray[numpy.floating]

Apply the translation to a 3D array.

Parameters:

data (np.ndarray) – An array of shape (n, 3).

Returns:

The transformed array of shape (n, 3).

Return type:

np.ndarray

class geo3d.geometry.transforms.MinNormalize

Class to normalize a point cloud by its minimum values.

__call__(data: numpy.typing.NDArray[numpy.floating]) numpy.typing.NDArray[numpy.floating]

Apply the normalization to a 3D array..

Parameters:

data (np.ndarray) – An array of shape (n, 3).

Returns:

The normalized array of shape (n, 3).

Return type:

np.ndarray

class geo3d.geometry.transforms.MeanNormalize

Class to normalize a point cloud by its mean values.

__call__(data: numpy.typing.NDArray[numpy.floating]) numpy.typing.NDArray[numpy.floating]

Apply the normalization to a 3D array.

Parameters:

data (np.ndarray) – An array of shape (n, 3).

Returns:

The normalized array of shape (n, 3).

Return type:

np.ndarray

class geo3d.geometry.transforms.Scale(range: tuple[float, float] = (0.8, 1.2))

Class to scale a point cloud.

range = (0.8, 1.2)
__call__(data: numpy.typing.NDArray[numpy.floating]) numpy.typing.NDArray[numpy.floating]

Apply the scaling to a 3D array..

Parameters:

data (np.ndarray) – An array of shape (n, 3)

Returns:

The scaled array of shape (n, 3).

Return type:

np.ndarray

class geo3d.geometry.transforms.Jitter(sigma: float = 0.01, clip: float = 0.05)

Class to jitter a point cloud.

The Jitter is designed to add random noise to a point cloud. The noise is a Gaussian noise scaled by a sigma value and limited by a clip value.

sigma = 0.01
clip = 0.05
__call__(data: numpy.typing.NDArray[numpy.floating]) numpy.typing.NDArray[numpy.floating]

Apply the jittering to a 3D array.

Parameters:

data (np.ndarray) – An array of shape (n, 3)

Returns:

The jittered array of shape (n, 3).

Return type:

np.ndarray

class geo3d.geometry.transforms.Drop(ratio: float = 0.3)

Class to drop points of a point cloud.

ratio = 0.3
__call__(data: numpy.typing.NDArray[numpy.floating]) tuple[numpy.typing.NDArray[numpy.floating], numpy.typing.NDArray]

Apply the dropping to a 3D array.

Parameters:

data (np.ndarray) – An array of shape (n, 3)

Returns:

A tuple of the dropped points and their relative indices.

Return type:

(np.ndarray, np.ndarray)

class geo3d.geometry.transforms.Flip

Class to flip points between axes x to y of a point cloud.

__call__(data: numpy.typing.NDArray[numpy.floating]) numpy.typing.NDArray[numpy.floating]

Apply the flip to a 3D array.

Parameters:

data (np.ndarray) – An array of shape (n, 3)

Returns:

The flipped array of shape (n, 3).

Return type:

np.ndarray

class geo3d.geometry.transforms.Rotate(angle: float, rotation_centered: bool = False)

Class to rotate a point cloud around the Z-axis.

angle
rotation_centered = False
__call__(data: numpy.typing.NDArray[numpy.floating]) numpy.typing.NDArray[numpy.floating]

Apply the rotation to a 3D array.

Parameters:

data (np.ndarray) – An array of shape (n, 3)

Returns:

The rotated array of shape (n, 3).

Return type:

np.ndarray