datacube.utils.geometry.decompose_rws#

datacube.utils.geometry.decompose_rws(A)[source]#

Compute decomposition Affine matrix sans translation into Rotation, Shear and Scale.

Note: that there are ambiguities for negative scales.

Example: R(90)*S(1,1) == R(-90)*S(-1,-1), (R*(-I))*((-I)*S) == R*S

A = R W S

Where:

R [ca -sa] W [1, w] S [sx, 0]

[sa ca] [0, 1] [ 0, sy]

Returns

Rotation, Sheer, Scale