code: def deconv_rl(data, h, Niter=10, mode_conv="fft", log_iter=False):
      
  
      if isinstance(data, np.ndarray):
          mode_data = "np"
      elif isinstance(data, OCLArray):
          mode_data = "gpu"
      else:
          raise TypeError("array argument (1) has bad type: %s"%type(arr_obj))
  
      if mode_conv=="fft":
          res = _deconv_rl_np_fft(data, h, Niter) if mode_data=="np" else _deconv_rl_gpu_fft(data, h, Niter)
          return res
      elif mode_conv=="spatial":
          res = _deconv_rl_np_conv(data, h, Niter) if mode_data=="np" else gpu_conv(data, h, Niter)
          return res
      else:
          raise KeyError("mode_conv = %s not known, either 'fft' or 'spatial'"%mode_conv)
docs: richardson lucy deconvolution of data with psf h
      using spatial convolutions (h should be small then)
  
      mode_conv = "fft" or "spatial"