code: def match_array(string_input, type_str):
      """
      matching input string to a tuple of elements in `type_str` type
  
      :param string_input:
      :param type_str:
      :return:
      """
      regex = re.compile(STATEMENT)
      matched_str = regex.match(string_input)
      if matched_str:
          filtered_groups = [
              matched
              for matched in matched_str.groups()
              if matched is not None
          ]
          if not filtered_groups:
              return ()
          try:
              values = [
                  v.strip() for v in filtered_groups[0].split(",")
              ]
          except IndexError:
              raise ValueError(
                  "unrecognised input string {}".format(string_input)
              )
          if type_str == "int":
              return tuple(int(val) for val in values)
          if type_str == "float":
              return tuple(float(val) for val in values)
          if type_str == "str":
              return tuple(values)
          raise ValueError(
              "unknown array type_str {}".format(string_input)
          )
      raise ValueError("invalid parameter {}".format(string_input))
  
label_desc: Use image node_id 1 for calling a global function with example usage: match_array(string_input, type_str) and returns: , tuple, tuple, tuple