code: def rotate_coords_3d(coords, angle_x, angle_y, angle_z):
      rot_matrix = np.identity(len(coords))
      rot_matrix = create_matrix_rotation_x_3d(angle_x, rot_matrix)
      rot_matrix = create_matrix_rotation_y_3d(angle_y, rot_matrix)
      rot_matrix = create_matrix_rotation_z_3d(angle_z, rot_matrix)
      coords = (
          np.dot(
              coords.reshape(len(coords), -1).transpose(), rot_matrix
          )
          .transpose()
          .reshape(coords.shape)
      )
      return coords
  
imports: import random
  import numpy
  import paddle
  from paddle.nn.functional import avg_pool2d, avg_pool3d
  from typing import List, Tuple, Union, Callable
  from copy import deepcopy
  from scipy.ndimage import map_coordinates, fourier_gaussian
  from scipy.ndimage.filters import gaussian_filter, gaussian_gradient_magnitude
  from scipy.ndimage.morphology import grey_dilation
  from skimage.transform import resize
  from scipy.ndimage.measurements import label
label_desc: Use image node_id 22 for calling a global function with example usage: rotate_coords_3d(coords, angle_x, angle_y, angle_z) and returns: coords