class_docstr: Reorders the axes of the observation. This can be useful when the observation is an
  image, and we want to move the channel axis to be the last axis instead of the first axis.
code: def get_filtered_observation_space(
      self, input_observation_space: ObservationSpace
  ) -> ObservationSpace:
      axis_size = input_observation_space.shape[self.axis_origin]
      input_observation_space.shape = np.delete(
          input_observation_space.shape, self.axis_origin
      )
      if self.axis_target == -1:
          input_observation_space.shape = np.append(
              input_observation_space.shape, axis_size
          )
      elif self.axis_target < -1:
          input_observation_space.shape = np.insert(
              input_observation_space.shape,
              self.axis_target + 1,
              axis_size,
          )
      else:
          input_observation_space.shape = np.insert(
              input_observation_space.shape, self.axis_target, axis_size
          )
  
      # move the channels axis according to the axis change
      if isinstance(
          input_observation_space, PlanarMapsObservationSpace
      ):
          if input_observation_space.channels_axis == self.axis_origin:
              input_observation_space.channels_axis = self.axis_target
          elif (
              input_observation_space.channels_axis == self.axis_target
          ):
              input_observation_space.channels_axis = self.axis_origin
          elif (
              self.axis_origin
              < input_observation_space.channels_axis
              < self.axis_target
          ):
              input_observation_space.channels_axis -= 1
          elif (
              self.axis_target
              < input_observation_space.channels_axis
              < self.axis_origin
          ):
              input_observation_space.channels_axis += 1
  
      return input_observation_space
  
file_path: coach/rl_coach/filters/observation/observation_move_axis_filter.py
imports: import numpy
  from rl_coach.core_types import ObservationType
  from rl_coach.filters.observation.observation_filter import ObservationFilter
  from rl_coach.spaces import ObservationSpace, PlanarMapsObservationSpace
label_desc: Use image node_id 4 for calling the ObservationMoveAxisFilter obj's underlying member method code with example usage: obj.get_filtered_observation_space(input_observation_space) and returns: input_observation_space