docs: def set_parameters(self, **args):
          """sets the processor stored parameters"""
          for k, v in self.PARAMETERS.items():
              new_value = args.get(k)
              if new_value != None:
                  if not _same_type(new_value, v):
                      raise Exception(
                          "On processor {0}, argument {1} takes something like {2}, but {3} was given".format(self, k, v,
                                                                                                              new_value))
                  setattr(self, k, new_value)
          not_used = set(args.keys()).difference(set(self.PARAMETERS.keys()))
          not_given = set(self.PARAMETERS.keys()).difference(set(args.keys()))
          return not_used, not_given