numba_quaternion package¶
- class numba_quaternion.Quaternion(array_complex: np.ndarray[np.complex_])[source]¶
Bases:
object- property abs: np.ndarray[np.float_]¶
- 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.
- property conjugate: numba_quaternion.Quaternion¶
- 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: numba_quaternion.Quaternion¶
- property lastcol_array¶
- property norm: np.ndarray[np.float_]¶
- property normalize: numba_quaternion.Quaternion¶
- rotate(other: numba_quaternion.Quaternion) numba_quaternion.Quaternion[source]¶
- property to_rotation_matrix¶
- 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.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.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.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