class_docstr: Masks part of the action space to enforce the agent to work in a defined space. For example,
  if the original action space is between -1 and 1, then this filter can be used in order to constrain the agent actions
  to the range 0 and 1 instead. This essentially masks the range -1 and 0 from the agent.
  The resulting action space will be shifted and will always start from 0 and have the size of the unmasked area.
docstr: :param masked_target_space_low: the lowest values that can be chosen in the target action space
  :param masked_target_space_high: the highest values that can be chosen in the target action space
code: def __init__(
      self,
      masked_target_space_low: Union[None, int, float, np.ndarray],
      masked_target_space_high: Union[None, int, float, np.ndarray],
  ):
      """
      :param masked_target_space_low: the lowest values that can be chosen in the target action space
      :param masked_target_space_high: the highest values that can be chosen in the target action space
      """
      self.masked_target_space_low = masked_target_space_low
      self.masked_target_space_high = masked_target_space_high
      self.offset = masked_target_space_low
      super().__init__()
  
file_path: coach/rl_coach/filters/action/box_masking.py
imports: from typing import Union
  import numpy
  from rl_coach.core_types import ActionType
  from rl_coach.filters.action.action_filter import ActionFilter
  from rl_coach.spaces import BoxActionSpace
label_desc: Use image node_id 1 to create a new BoxMasking object from inherited base classes: ActionFilter with example: obj = BoxMasking(masked_target_space_low, masked_target_space_high)