code: def test_richardson_lucy_filtered(dtype_image, dtype_psf):
      if dtype_image == np.float64:
          atol = 1e-8
      else:
          atol = 1e-5
      test_img_astro = rgb2gray(astronaut())
  
      psf = np.ones((5, 5), dtype=dtype_psf) / 25
      data = convolve2d(test_img_astro, psf, "same")
      data = data.astype(dtype_image, copy=False)
  
      deconvolved = restoration.richardson_lucy(
          data, psf, 5, filter_epsilon=1e-6
      )
      assert deconvolved.dtype == _supported_float_type(data.dtype)
  
      path = fetch("restoration/tests/astronaut_rl.npy")
      np.testing.assert_allclose(
          deconvolved, np.load(path), rtol=1e-3, atol=atol
      )
  
file_path: scikit-image/skimage/restoration/tests/test_restoration.py
imports: import numpy
  import pytest
  from scipy import ndimage
  from scipy.signal import convolve2d, convolve
  from skimage import restoration, util
  from skimage._shared import filters
  from skimage._shared.testing import fetch
  from skimage._shared.utils import _supported_float_type
  from skimage.color import rgb2gray
  from skimage.data import astronaut, camera
  from skimage.restoration import uft
label_desc: Use image node_id 7 for calling a global function with example usage: test_richardson_lucy_filtered(dtype_image, dtype_psf) without return types