scipp.spatial.affine_transform#

scipp.spatial.affine_transform(*, unit=Unit(1), value)#

Initializes a single affine transformation from the provided affine matrix coefficients.

Parameters:
  • unit (Unit | str, default: Unit(1)) – The unit of the affine transformation’s translation component.

  • value (ndarray[tuple[Any, ...], dtype[TypeVar(_Float, bound= float64 | float32, covariant=True)]] | Sequence[TypeVar(_Float, bound= float64 | float32, covariant=True)]) – A 4x4 matrix of affine coefficients.

Returns:

Variable – A scalar variable of dtype affine_transform3.

See also

scipp.spatial.affine_transforms

Create multiple affine transformations.

Examples

Create an affine transformation combining identity rotation and translation:

>>> import numpy as np
>>> import scipp as sc
>>> affine_matrix = np.array([
...     [1, 0, 0, 5],
...     [0, 1, 0, 10],
...     [0, 0, 1, 15],
...     [0, 0, 0, 1]
... ])
>>> affine = sc.spatial.affine_transform(value=affine_matrix, unit='m')
>>> affine
<scipp.Variable> ()  affine_transform3              [m]   1  0  0  5
 0  1  0 10
 0  0  1 15
 0  0  0  1