code: def test_axis_angle(self, device, dtype, batch_size):
      q1 = Quaternion.random(batch_size, device, dtype)
      angle = 2 * q1.scalar.arccos()[..., None]
      axis = q1.vec / (angle / 2).sin()
      axis_angle = axis * angle
      q2 = Quaternion.from_axis_angle(axis_angle)
      q2 = q2.to(device, dtype)
      self.assert_close(q1, q2)
  
imports: import pytest
  import torch
  from kornia.geometry.quaternion import Quaternion
  from kornia.testing import assert_close
label_desc: Use image node_id 21 for calling the TestQuaternion obj's underlying member method code with example usage: obj.test_axis_angle(device, dtype, batch_size) without return types