code: def rotations24(self, array):
      while True:
          # imagine shape is pointing in axis 0 (up)
  
          # 4 rotations about axis 0
          for i in range(4):
              yield self.rot90_3d(array, i, self.rotation_axes[0])
  
          # rotate 180 about axis 1, now shape is pointing down in axis 0
          # 4 rotations about axis 0
          rotated_array = self.rot90_3d(
              array, 2, axis=self.rotation_axes[1]
          )
          for i in range(4):
              yield self.rot90_3d(
                  rotated_array, i, self.rotation_axes[0]
              )
  
          # rotate 90 or 270 about axis 1, now shape is pointing in axis 2
          # 8 rotations about axis 2
          rotated_array = self.rot90_3d(
              array, axis=self.rotation_axes[1]
          )
          for i in range(4):
              yield self.rot90_3d(
                  rotated_array, i, self.rotation_axes[2]
              )
  
          rotated_array = self.rot90_3d(
              array, -1, axis=self.rotation_axes[1]
          )
          for i in range(4):
              yield self.rot90_3d(
                  rotated_array, i, self.rotation_axes[2]
              )
  
          # rotate about axis 2, now shape is pointing in axis 1
          # 8 rotations about axis 1
          rotated_array = self.rot90_3d(
              array, axis=self.rotation_axes[2]
          )
          for i in range(4):
              yield self.rot90_3d(
                  rotated_array, i, self.rotation_axes[1]
              )
  
          rotated_array = self.rot90_3d(
              array, -1, axis=self.rotation_axes[2]
          )
          for i in range(4):
              yield self.rot90_3d(
                  rotated_array, i, self.rotation_axes[1]
              )
  
imports: import numpy
  from deepneuro.utilities.util import add_parameter
label_desc: Use image node_id 3 for calling the Flip_Rotate_3D obj's underlying member method code with example usage: obj.rotations24(array) without return types