code: def test_euler_mat_2(x, y, z):
      M1 = nea.euler2mat(z, y, x)
      M2 = sympy_euler(z, y, x)
      assert_array_almost_equal(M1, M2)
      M3 = np.dot(x_only(x), np.dot(y_only(y), z_only(z)))
      assert_array_almost_equal(M1, M3)
      zp, yp, xp = nea.mat2euler(M1)
      # The parameters may not be the same as input, but they give the
      # same rotation matrix
      M4 = nea.euler2mat(zp, yp, xp)
      assert_array_almost_equal(M1, M4)
  
file_path: nibabel/nibabel/tests/test_euler.py
imports: import math
  import numpy
  import pytest
  from numpy import pi
  from numpy.testing import assert_array_almost_equal, assert_array_equal
  from ..None import eulerangles
  from ..None import quaternions
label_desc: Use image node_id 8 for calling a global function with example usage: test_euler_mat_2(x, y, z) without return types