class_docstr: generate randomised rotation matrix for data augmentation
class_docstr_tok: ["generate","randomised","rotation","matrix","for","data","augmentation"]
code: def init_non_uniform_angle(
      self, rotation_angle_x, rotation_angle_y, rotation_angle_z
  ):
      if len(rotation_angle_x):
          assert rotation_angle_x[0] < rotation_angle_x[1]
      if len(rotation_angle_y):
          assert rotation_angle_y[0] < rotation_angle_y[1]
      if len(rotation_angle_z):
          assert rotation_angle_z[0] < rotation_angle_z[1]
      self.rotation_angle_x = [float(e) for e in rotation_angle_x]
      self.rotation_angle_y = [float(e) for e in rotation_angle_y]
      self.rotation_angle_z = [float(e) for e in rotation_angle_z]
  
file_path: NiftyNet/niftynet/layer/rand_rotation.py
imports: from __future__ import absolute_import, print_function
  import numpy
  import scipy.ndimage
  from niftynet.layer.base_layer import RandomisedLayer
label_desc: Use image node_id 3 for calling the RandomRotationLayer obj's underlying member method code with example usage: obj.init_non_uniform_angle(rotation_angle_x, rotation_angle_y, rotation_angle_z) without return types