def METHOD_NAME(
    self,
    window: Optional[RasterWindow] = None,
    out_shape: Optional[RasterShape] = None,
) -> np.ndarray:
    """
    Reads a slice into the xr.DataArray.
    :param RasterWindow window: The slice to read
    :param RasterShape out_shape: The desired output shape
    :return: Requested data in a :class:`numpy.ndarray`
    """
    if window is None:
        ix: Tuple = (...,)
    else:
        ix = tuple(slice(*w) if isinstance(w, tuple) else w for w in window)
    def fn() -> Any:
        return self.da[ix].values
    data = fn()
    if out_shape and data.shape != out_shape:
        raise ValueError(
            f"Data shape does not match 'out_shape': {data.shape} != {out_shape}"
        )
    return data