scipp.spatial.inv#

scipp.spatial.inv(var)#

Return the inverse of a spatial transformation.

Parameters:

var (Variable) –

Input variable. Its dtype must be one of

  • scipp.DType.linear_transform3

  • scipp.DType.affine_transform3

  • scipp.DType.rotation3

  • scipp.DType.translation3

Returns:

Variable – A variable holding the inverse transformation to var.

Examples

Inverse of a translation:

>>> import scipp as sc
>>> trans = sc.spatial.translation(value=[1, 2, 3], unit='m')
>>> inv_trans = sc.spatial.inv(trans)
>>> inv_trans
<scipp.Variable> ()  translation3              [m]  (-1, -2, -3)

Inverse of a rotation:

>>> import numpy as np
>>> rot = sc.spatial.rotation(value=[0, 0, 1/np.sqrt(2), 1/np.sqrt(2)])
>>> inv_rot = sc.spatial.inv(rot)
>>> inv_rot
<scipp.Variable> ()  rotation3  [dimensionless]  (...-0.707107k)

Inverse of a scaling transformation:

>>> scale = sc.spatial.scaling_from_vector(value=[2, 3, 4])
>>> inv_scale = sc.spatial.inv(scale)
>>> inv_scale
<scipp.Variable> ()  linear_transform3  [dimensionless]  ((0.5, 0, 0), , (0, 0.333333, 0), , (0, 0, 0.25), )