class_docstr: TODO: extend to be more flexible and useful.
  Ponder about how best to apply to multiple dimensions
class_docstr_tok: ["TODO",":","extend","to","be","more","flexible","and","useful",".","Ponder","about","how","best","to","apply","to","multiple","dimensions"]
code: def load(self, kwargs):
      # Flip and Rotate options
      add_parameter(self, kwargs, "flip", True)
      add_parameter(self, kwargs, "rotate", True)
      add_parameter(self, kwargs, "flip_axis", 2)
      add_parameter(self, kwargs, "rotate_axis", (1, 2))
      add_parameter(self, kwargs, "shuffle", True)
  
      # TODO: This is incredibly over-elaborate, return to fix.
      self.transforms_list = []
  
      if self.flip:
          self.flip_list = [False, True]
      else:
          self.flip_list = [False]
  
      if self.rotate:
          self.rotations_90 = [0, 1, 2, 3]
      else:
          self.rotations_90 = [0]
  
      self.available_transforms = np.array(
          np.meshgrid(self.flip_list, self.rotations_90)
      ).T.reshape(-1, 2)
      self.total_transforms = self.available_transforms.shape[0]
      self.augmentation_string = "_rotate2D_"
  
imports: import numpy
  from deepneuro.utilities.util import add_parameter
label_desc: Use image node_id 1 for calling the Flip_Rotate_2D obj's underlying member method code with example usage: obj.load(kwargs) without return types