class_docstr: An input filter is a module that filters the input from an environment to the agent.
class_docstr_tok: ["An","input","filter","is","a","module","that","filters","the","input","from","an","environment","to","the","agent","."]
docstr: Add a reward filter to the filters list
  :param filter_name: the filter name
  :param filter: the filter to add
  :param add_as_the_first_filter: add the filter to the top of the filters stack
  :return: None
code: def add_reward_filter(
      self,
      filter_name: str,
      filter: "RewardFilter",
      add_as_the_first_filter: bool = False,
  ):
      """
      Add a reward filter to the filters list
      :param filter_name: the filter name
      :param filter: the filter to add
      :param add_as_the_first_filter: add the filter to the top of the filters stack
      :return: None
      """
      self._reward_filters[filter_name] = filter
      if add_as_the_first_filter:
          self._reward_filters.move_to_end(filter_name, last=False)
  
imports: import copy
  import os
  from collections import OrderedDict
  from copy import deepcopy
  from typing import Dict, Union, List
  from rl_coach.core_types import EnvResponse, ActionInfo, Transition
  from rl_coach.spaces import ActionSpace, RewardSpace, ObservationSpace
  from rl_coach.utils import force_list
label_desc: Use image node_id 15 for calling the InputFilter obj's underlying member method code with example usage: obj.add_reward_filter(filter_name, filter, add_as_the_first_filter) without return types