scipy.spatial.transform.Rotation.
mean#
- Rotation.mean(self, weights=None)#
- Get the mean of the rotations. - The mean used is the chordal L2 mean (also called the projected or induced arithmetic mean) [1]. If - Ais a set of rotation matrices, then the mean- Mis the rotation matrix that minimizes the following loss function:\[L(M) = \sum_{i = 1}^{n} w_i \lVert \mathbf{A}_i - \mathbf{M} \rVert^2 ,\]- where \(w_i\)’s are the weights corresponding to each matrix. - Parameters:
- weightsarray_like shape (N,), optional
- Weights describing the relative importance of the rotations. If None (default), then all values in weights are assumed to be equal. 
 
- Returns:
- meanRotationinstance
- Object containing the mean of the rotations in the current instance. 
 
- mean
 - References [1]- Hartley, Richard, et al., “Rotation Averaging”, International Journal of Computer Vision 103, 2013, pp. 267-305. - Examples - >>> from scipy.spatial.transform import Rotation as R >>> r = R.from_euler('zyx', [[0, 0, 0], ... [1, 0, 0], ... [0, 1, 0], ... [0, 0, 1]], degrees=True) >>> r.mean().as_euler('zyx', degrees=True) array([0.24945696, 0.25054542, 0.24945696])