def METHOD_NAME(path: str) -> Tuple[np.ndarray, str, str]:
    """Reads an image from the specified path and return it as a numpy array"""
    logger.debug(f"Reading image from path: {path}")
    dirname, basename, _ = split_file_path(path)
    img = None
    error = None
    for name, decoder in _decoders:
        try:
            img = decoder(path)
        except Exception as e:
            error = e
            logger.warning(f"Decoder {name} failed")
        if img is not None:
            break
    if img is None:
        if error is not None:
            raise error
        raise RuntimeError(
            f'The image "{path}" you are trying to read cannot be read by chaiNNer.'
        )
    return img, dirname, basename