:py:mod:`rofunc.utils.datalab.poselib.poselib.core.rotation3d`
==============================================================

.. py:module:: rofunc.utils.datalab.poselib.poselib.core.rotation3d

.. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d
   :allowtitles:

Module Contents
---------------

Functions
~~~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`quat_mul <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_mul>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_mul
          :summary:
   * - :py:obj:`quat_pos <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_pos>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_pos
          :summary:
   * - :py:obj:`quat_abs <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_abs>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_abs
          :summary:
   * - :py:obj:`quat_unit <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_unit>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_unit
          :summary:
   * - :py:obj:`quat_conjugate <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_conjugate>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_conjugate
          :summary:
   * - :py:obj:`quat_real <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_real>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_real
          :summary:
   * - :py:obj:`quat_imaginary <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_imaginary>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_imaginary
          :summary:
   * - :py:obj:`quat_norm_check <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_norm_check>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_norm_check
          :summary:
   * - :py:obj:`quat_normalize <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_normalize>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_normalize
          :summary:
   * - :py:obj:`quat_from_xyz <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_from_xyz>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_from_xyz
          :summary:
   * - :py:obj:`quat_identity <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_identity>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_identity
          :summary:
   * - :py:obj:`quat_from_angle_axis <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_from_angle_axis>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_from_angle_axis
          :summary:
   * - :py:obj:`quat_from_rotation_matrix <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_from_rotation_matrix>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_from_rotation_matrix
          :summary:
   * - :py:obj:`quat_mul_norm <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_mul_norm>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_mul_norm
          :summary:
   * - :py:obj:`quat_rotate <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_rotate>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_rotate
          :summary:
   * - :py:obj:`quat_inverse <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_inverse>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_inverse
          :summary:
   * - :py:obj:`quat_identity_like <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_identity_like>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_identity_like
          :summary:
   * - :py:obj:`quat_angle_axis <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_angle_axis>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_angle_axis
          :summary:
   * - :py:obj:`quat_yaw_rotation <rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_yaw_rotation>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_yaw_rotation
          :summary:
   * - :py:obj:`transform_from_rotation_translation <rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_from_rotation_translation>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_from_rotation_translation
          :summary:
   * - :py:obj:`transform_identity <rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_identity>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_identity
          :summary:
   * - :py:obj:`transform_rotation <rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_rotation>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_rotation
          :summary:
   * - :py:obj:`transform_translation <rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_translation>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_translation
          :summary:
   * - :py:obj:`transform_inverse <rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_inverse>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_inverse
          :summary:
   * - :py:obj:`transform_identity_like <rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_identity_like>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_identity_like
          :summary:
   * - :py:obj:`transform_mul <rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_mul>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_mul
          :summary:
   * - :py:obj:`transform_apply <rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_apply>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_apply
          :summary:
   * - :py:obj:`rot_matrix_det <rofunc.utils.datalab.poselib.poselib.core.rotation3d.rot_matrix_det>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.rot_matrix_det
          :summary:
   * - :py:obj:`rot_matrix_integrity_check <rofunc.utils.datalab.poselib.poselib.core.rotation3d.rot_matrix_integrity_check>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.rot_matrix_integrity_check
          :summary:
   * - :py:obj:`rot_matrix_from_quaternion <rofunc.utils.datalab.poselib.poselib.core.rotation3d.rot_matrix_from_quaternion>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.rot_matrix_from_quaternion
          :summary:
   * - :py:obj:`euclidean_to_rotation_matrix <rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_to_rotation_matrix>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_to_rotation_matrix
          :summary:
   * - :py:obj:`euclidean_integrity_check <rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_integrity_check>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_integrity_check
          :summary:
   * - :py:obj:`euclidean_translation <rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_translation>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_translation
          :summary:
   * - :py:obj:`euclidean_inverse <rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_inverse>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_inverse
          :summary:
   * - :py:obj:`euclidean_to_transform <rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_to_transform>`
     - .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_to_transform
          :summary:

API
~~~

.. py:function:: quat_mul(a, b)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_mul

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_mul

.. py:function:: quat_pos(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_pos

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_pos

.. py:function:: quat_abs(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_abs

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_abs

.. py:function:: quat_unit(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_unit

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_unit

.. py:function:: quat_conjugate(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_conjugate

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_conjugate

.. py:function:: quat_real(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_real

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_real

.. py:function:: quat_imaginary(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_imaginary

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_imaginary

.. py:function:: quat_norm_check(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_norm_check

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_norm_check

.. py:function:: quat_normalize(q)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_normalize

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_normalize

.. py:function:: quat_from_xyz(xyz)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_from_xyz

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_from_xyz

.. py:function:: quat_identity(shape: typing.List[int])
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_identity

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_identity

.. py:function:: quat_from_angle_axis(angle, axis, degree: bool = False)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_from_angle_axis

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_from_angle_axis

.. py:function:: quat_from_rotation_matrix(m)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_from_rotation_matrix

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_from_rotation_matrix

.. py:function:: quat_mul_norm(x, y)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_mul_norm

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_mul_norm

.. py:function:: quat_rotate(rot, vec)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_rotate

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_rotate

.. py:function:: quat_inverse(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_inverse

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_inverse

.. py:function:: quat_identity_like(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_identity_like

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_identity_like

.. py:function:: quat_angle_axis(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_angle_axis

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_angle_axis

.. py:function:: quat_yaw_rotation(x, z_up: bool = True)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_yaw_rotation

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.quat_yaw_rotation

.. py:function:: transform_from_rotation_translation(r: typing.Optional[torch.Tensor] = None, t: typing.Optional[torch.Tensor] = None)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_from_rotation_translation

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_from_rotation_translation

.. py:function:: transform_identity(shape: typing.List[int])
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_identity

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_identity

.. py:function:: transform_rotation(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_rotation

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_rotation

.. py:function:: transform_translation(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_translation

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_translation

.. py:function:: transform_inverse(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_inverse

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_inverse

.. py:function:: transform_identity_like(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_identity_like

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_identity_like

.. py:function:: transform_mul(x, y)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_mul

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_mul

.. py:function:: transform_apply(rot, vec)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_apply

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.transform_apply

.. py:function:: rot_matrix_det(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.rot_matrix_det

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.rot_matrix_det

.. py:function:: rot_matrix_integrity_check(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.rot_matrix_integrity_check

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.rot_matrix_integrity_check

.. py:function:: rot_matrix_from_quaternion(q)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.rot_matrix_from_quaternion

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.rot_matrix_from_quaternion

.. py:function:: euclidean_to_rotation_matrix(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_to_rotation_matrix

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_to_rotation_matrix

.. py:function:: euclidean_integrity_check(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_integrity_check

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_integrity_check

.. py:function:: euclidean_translation(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_translation

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_translation

.. py:function:: euclidean_inverse(x)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_inverse

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_inverse

.. py:function:: euclidean_to_transform(transformation_matrix)
   :canonical: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_to_transform

   .. autodoc2-docstring:: rofunc.utils.datalab.poselib.poselib.core.rotation3d.euclidean_to_transform
