code: def from_axis_angle(
      axis: type_alias.TensorLike,
      angle: type_alias.TensorLike,
      name: str = "euler_from_axis_angle",
  ) -> tf.Tensor:
      """Converts axis-angle to Euler angles.
  
      Note:
        In the following, A1 to An are optional batch dimensions.
  
      Args:
        axis: A tensor of shape `[A1, ..., An, 3]`, where the last dimension
          represents a normalized axis.
        angle: A tensor of shape `[A1, ..., An, 1]`, where the last dimension
          represents an angle.
        name: A name for this op that defaults to "euler_from_axis_angle".
  
      Returns:
        A tensor of shape `[A1, ..., An, 3]`, where the last dimension represents
        the three Euler angles.
      """
      with tf.name_scope(name):
          return from_quaternion(
              quaternion.from_axis_angle(axis, angle)
          )
  
file_path: graphics/tensorflow_graphics/geometry/transformation/euler.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  import tensorflow
  from tensorflow_graphics.geometry.transformation import quaternion
  from tensorflow_graphics.geometry.transformation import rotation_matrix_3d
  from tensorflow_graphics.util import asserts
  from tensorflow_graphics.util import export_api
  from tensorflow_graphics.util import safe_ops
  from tensorflow_graphics.util import shape
  from tensorflow_graphics.util import type_alias
label_desc: Use image node_id 1 for calling a global function with example usage: from_axis_angle(axis, angle, name) and returns: from_quaternion