class_docstr: Add a single layer of falling raindrops to images.
  
  Added in 0.4.0.
  
  **Supported dtypes**:
  
      * ``uint8``: yes; indirectly tested (1)
      * ``uint16``: no
      * ``uint32``: no
      * ``uint64``: no
      * ``int8``: no
      * ``int16``: no
      * ``int32``: no
      * ``int64``: no
      * ``float16``: no
      * ``float32``: no
      * ``float64``: no
      * ``float128``: no
      * ``bool``: no
  
      - (1) indirectly tested via tests for :class:`Rain`
  
  Parameters
  ----------
  density : number or tuple of number or list of number or imgaug.parameters.StochasticParameter
      Same as in :class:`~imgaug.augmenters.weather.SnowflakesLayer`.
  
  density_uniformity : number or tuple of number or list of number or imgaug.parameters.StochasticParameter
      Same as in :class:`~imgaug.augmenters.weather.SnowflakesLayer`.
  
  drop_size : number or tuple of number or list of number or imgaug.parameters.StochasticParameter
      Same as `flake_size` in
      :class:`~imgaug.augmenters.weather.SnowflakesLayer`.
  
  drop_size_uniformity : number or tuple of number or list of number or imgaug.parameters.StochasticParameter
      Same as `flake_size_uniformity` in
      :class:`~imgaug.augmenters.weather.SnowflakesLayer`.
  
  angle : number or tuple of number or list of number or imgaug.parameters.StochasticParameter
      Same as in :class:`~imgaug.augmenters.weather.SnowflakesLayer`.
  
  speed : number or tuple of number or list of number or imgaug.parameters.StochasticParameter
      Same as in :class:`~imgaug.augmenters.weather.SnowflakesLayer`.
  
  blur_sigma_fraction : number or tuple of number or list of number or imgaug.parameters.StochasticParameter
      Same as in :class:`~imgaug.augmenters.weather.SnowflakesLayer`.
  
  blur_sigma_limits : tuple of float, optional
      Same as in :class:`~imgaug.augmenters.weather.SnowflakesLayer`.
  
  seed : None or int or imgaug.random.RNG or numpy.random.Generator or numpy.random.BitGenerator or numpy.random.SeedSequence or numpy.random.RandomState, optional
      See :func:`~imgaug.augmenters.meta.Augmenter.__init__`.
  
  name : None or str, optional
      See :func:`~imgaug.augmenters.meta.Augmenter.__init__`.
  
  random_state : None or int or imgaug.random.RNG or numpy.random.Generator or numpy.random.BitGenerator or numpy.random.SeedSequence or numpy.random.RandomState, optional
      Old name for parameter `seed`.
      Its usage will not yet cause a deprecation warning,
      but it is still recommended to use `seed` now.
      Outdated since 0.4.0.
  
  deterministic : bool, optional
      Deprecated since 0.4.0.
      See method ``to_deterministic()`` for an alternative and for
      details about what the "deterministic mode" actually does.
code: def _blend(cls, image, speed_sample, noise_small_blur_rgb):
      # We set the mean color based on the noise here. That's a pseudo-random
      # approach that saves us from adding the random state as a parameter.
      # Note that the sum of noise_small_blur_rgb can be 0 when at least one
      # image axis size is 0.
      noise_sum = np.sum(noise_small_blur_rgb.flat[0:1000])
      noise_sum = noise_sum if noise_sum > 0 else 1
      drop_mean_color = 110 + (240 - 110) % noise_sum
      noise_small_blur_rgb = noise_small_blur_rgb / 255.0
      # The 1.3 multiplier increases the visibility of drops a bit.
      noise_small_blur_rgb = np.clip(1.3 * noise_small_blur_rgb, 0, 1.0)
      image_f32 = image.astype(np.float32)
      image_f32 = (
          1 - noise_small_blur_rgb
      ) * image_f32 + noise_small_blur_rgb * drop_mean_color
      return np.clip(image_f32, 0, 255).astype(np.uint8)
  
imports: from __future__ import print_function, division, absolute_import
  import numpy
  import imgaug
  from .None import meta, arithmetic, blur, contrast, color
  from ..None import parameters
  from ..None import dtypes
label_desc: Use image node_id 4 for calling the RainLayer obj's underlying member method code with example usage: obj._blend(cls, image, speed_sample, noise_small_blur_rgb) and returns: np