code: def test_pixel_domain_adaptation(kind):
      img_uint8 = np.random.randint(
          low=100, high=200, size=(100, 100, 3), dtype=np.uint8
      )
      ref_img_uint8 = np.random.randint(
          low=0, high=100, size=(100, 100, 3), dtype=np.uint8
      )
      img_float, ref_img_float = [
          x.astype("float32") / 255.0
          for x in (img_uint8, ref_img_uint8)
      ]
  
      for img, ref_img in (
          (img_uint8, ref_img_uint8),
          (img_float, ref_img_float),
      ):
          adapter = A.PixelDistributionAdaptation(
              reference_images=[ref_img],
              blend_ratio=(1, 1),
              read_fn=lambda x: x,
              always_apply=True,
              transform_type=kind,
          )
          adapted = adapter(image=img)["image"]
          np.testing.assert_allclose(
              adapted.mean(),
              ref_img.mean(),
              rtol=0,
              atol=2 if img.dtype == np.uint8 else 0.01,
              err_msg=f"{adapted.mean()} {img.mean()} {ref_img.mean()}",
          )
  
imports: import random
  from typing import Dict, Tuple, Type
  import cv2
  import numpy
  import pytest
  import albumentations
  from .utils import get_dual_transforms, get_image_only_transforms, get_transforms
label_desc: Use image node_id 19 for calling a global function with example usage: test_pixel_domain_adaptation(kind) without return types