code: def test_rot_x(self, device, dtype, batch_size):
      x = self._make_rand_data(
          device, dtype, batch_size, dims=1
      ).squeeze(-1)
      se3 = Se3.rot_x(x)
      quat = rotation_matrix_to_quaternion(se3.so3.matrix())
      quat = Quaternion(quat)
      roll, _, _ = euler_from_quaternion(*quat.coeffs)
      self.assert_close(x, roll)
      self.assert_close(se3.t, torch.zeros_like(se3.t))
  
imports: import pytest
  import torch
  from kornia.geometry.conversions import euler_from_quaternion, rotation_matrix_to_quaternion
  from kornia.geometry.liegroup import Se3, So3
  from kornia.geometry.quaternion import Quaternion
  from kornia.geometry.vector import Vector3
  from kornia.testing import BaseTester
label_desc: Use image node_id 23 for calling the TestSe3 obj's underlying member method code with example usage: obj.test_rot_x(device, dtype, batch_size) without return types