numba_quaternion package

class numba_quaternion.Quaternion(array_complex: np.ndarray[np.complex_])[source]

Bases: object

property abs
property array
array_complex: np.ndarray[np.complex_]
property azimuthal_equidistant_projection_polar_with_orientation

Convert from detector pointing to Azimuthal equidistant projection in polar coordinate with orientation.

Returned array is in radian, has the last dimension with 3 elements, 1st as the angular distance to North pole, 2nd as the azimuth, 3rd as the orientation in angle.

property azimuthal_equidistant_projection_with_orientation

Convert from detector pointing to Azimuthal equidistant projection in cartesian coordinate with orientation.

Returned array is in radian, has the last dimension with 3 elements, 1st as the horizontal angular position, 2nd as the vertical angular position, 3rd as the orientation in angle.

clear_cache()[source]
property conjugate
classmethod from_array(array: np.ndarray[np.float_])Quaternion[source]

Create Quaternion from real array with last axis as w, x, y, z.

classmethod from_azimuthal_equidistant_projection_polar_with_orientation(array: np.ndarray[np.float_])Quaternion[source]
classmethod from_lastcol_array(array: np.ndarray[np.float_])Quaternion[source]

Create Quaternion from real array with last axis as x, y, z, w.

Convention used in TOAST.

classmethod from_rotation_matrix(array: np.ndarray[np.float_])Quaternion[source]
property inverse
property lastcol_array
property norm
property normalize
rotate(other: numba_quaternion.Quaternion)numba_quaternion.Quaternion[source]
property to_rotation_matrix
numba_quaternion.abs(p: np.ndarray[np.complex_])np.ndarray[np.float_][source]
numba_quaternion.azimuthal_equidistant_projection_polar_with_orientation_to_rotation_matrix(array: np.ndarray[np.float_])np.ndarray[np.float_][source]

Convert Azimuthal equidistant projection in polar coordinate with orientation to detector pointing.

Input array is in radian, has the last dimension with 3 elements, 1st as the angular distance to North pole, 2nd as the azimuth, 3rd as the orientation in angle.

numba_quaternion.canonical_quat_to_lastcol(quat: np.ndarray[np.float_])np.ndarray[np.float_][source]

Convert from real-part-in-first-column to real-part-in-last-column

numba_quaternion.complex128_to_float64(array: np.ndarray[np.complex128])np.ndarray[np.float64][source]
numba_quaternion.complex64_to_float32(array: np.ndarray[np.complex64])np.ndarray[np.float32][source]
numba_quaternion.complex_to_float(array: np.ndarray[np.complex_])np.ndarray[np.float_][source]
numba_quaternion.conjugate(p: np.ndarray[np.complex_])np.ndarray[np.complex_][source]
numba_quaternion.dist_spherical(p: np.ndarray[np.complex_], q: np.ndarray[np.complex_])float[source]

Great circle distance between 2 detector quaternions.

numba_quaternion.dist_spherical_pairwise(ps: np.ndarray[np.complex_])np.ndarray[np.float_][source]

Pair-wise great circle distances between detector quaternions.

Assume input is a 1-dim array of quarternions (2d-array) and return pairwise distance in 1d-array, ordered in “row-major” and “j>i” directions. E.g. for 3 detectors, [(0, 1), (0, 2), (1, 2)] ordering.

numba_quaternion.dist_spherical_pairwise_from_lastcol_array(ps: np.ndarray[np.float_])np.ndarray[np.float_][source]
numba_quaternion.float32_to_complex64(array: np.ndarray[np.float32])np.ndarray[np.complex64][source]
numba_quaternion.float64_to_complex128(array: np.ndarray[np.float64])np.ndarray[np.complex128][source]
numba_quaternion.float_to_complex(array: np.ndarray[np.float_])np.ndarray[np.complex_][source]
numba_quaternion.inverse(p: np.ndarray[np.complex_])np.ndarray[np.complex_][source]
numba_quaternion.lastcol_quat_to_canonical(quat: np.ndarray[np.float_])np.ndarray[np.float_][source]

Convert from real-part-in-last-column to real-part-in-first-column

numba_quaternion.matmul(p: np.ndarray[np.complex_], q: np.ndarray[np.complex_])np.ndarray[np.complex_][source]

Perform quarternion matrix multiplication using complex matrix multiplication

numba_quaternion.mul(p: np.ndarray[np.complex_], q: np.ndarray[np.complex_])np.ndarray[np.complex_][source]

Perform quarternion multiplication using complex multiplication

numba_quaternion.norm(p: np.ndarray[np.complex_])np.ndarray[np.float_][source]
numba_quaternion.quat_to_azimuthal_equidistant_projection_polar_with_orientation(quats: np.ndarray[np.complex_])np.ndarray[np.float_][source]

Convert from detector pointing to Azimuthal equidistant projection in polar coordinate with orientation.

Returned array is in radian, has the last dimension with 3 elements, 1st as the angular distance to North pole, 2nd as the azimuth, 3rd as the orientation in angle.

numba_quaternion.quat_to_azimuthal_equidistant_projection_with_orientation(quats: np.ndarray[np.complex_])np.ndarray[np.float_][source]

Convert from detector pointing to Azimuthal equidistant projection in cartesian coordinate with orientation.

Returned array is in radian, has the last dimension with 3 elements, 1st as the horizontal angular position, 2nd as the vertical angular position, 3rd as the orientation in angle.

numba_quaternion.quat_to_rotation_matrix(quats: np.ndarray[np.complex_])np.ndarray[np.float_][source]

Convert quaternion to rotation matrix.

numba_quaternion.rotate(p: np.ndarray[np.complex_], v: np.ndarray[np.complex_])np.ndarray[np.complex_][source]

Rotate v by p respecting Numpy broadcasting rule.

numba_quaternion.rotate_2d(p: np.ndarray[np.complex_], v: np.ndarray[np.complex_])List[np.ndarray[np.complex_]][source]

Rotate each row of v by p and stack at an axis.

Parameters

v – 2d-array

numba_quaternion.rotation_matrix_to_quat(m: np.ndarray[np.float_])np.ndarray[np.complex_][source]

Convert rotation matrix to quaternion.

See https://en.wikipedia.org/wiki/Rotation_matrix#Quaternion