code: def _get_resizer():
      """Tries to define a ``resizer`` function using next libraries, in the given
      order:
  
      - cv2
      - PIL
      - scipy
  
      Returns a dictionary with following attributes:
  
      - ``resizer``: Function used to resize images in ``resize`` FX function.
      - ``origin``: Library used to resize.
      - ``error_msgs``: If any of the libraries is available, shows the user why
        this feature is not available and how to fix it in several error messages
        which are formatted in the error displayed, if resizing is not possible.
      """
      error_messages = []
  
      resizer_getters = {
          "cv2": _get_cv2_resizer,
          "PIL": _get_PIL_resizer,
          "scipy": _get_scipy_resizer,
      }
      for origin, resizer_getter in resizer_getters.items():
          resizer, _error_messages = resizer_getter()
          if resizer is not None:
              return {
                  "resizer": resizer,
                  "origin": origin,
                  "error_msgs": [],
              }
          else:
              error_messages.extend(_error_messages)
  
      return {
          "resizer": None,
          "origin": None,
          "error_msgs": reversed(error_messages),
      }
  
imports: import numbers
label_desc: Use image node_id 4 for calling a global function with example usage: _get_resizer() and returns: dict, dict