code: def extract_group_names(groups: List) -> Tuple:
      """Get a unique set of the group names.
  
      Reverts to parameter names (and number of parameters) if groups not
      defined.
  
      Parameters
      ----------
      groups : List
  
  
      Returns
      -------
      tuple : names, number of groups
      """
      names = list(OrderedDict.fromkeys(groups))
      number = len(names)
  
      return names, number
  
file_path: SALib/src/SALib/util/__init__.py
imports: from collections import OrderedDict
  from typing import Dict, Tuple
  import warnings
  import numpy
  import scipy
  from typing import List
  from .util_funcs import avail_approaches, read_param_file, _check_bounds, _check_groups
  from .problem import ProblemSpec
  from .results import ResultDict
label_desc: Use image node_id 5 for calling a global function with example usage: extract_group_names(groups) and returns: names,  number