code: def test_transform():
      img_id = "0b73b427d1.png"
      img = Image.open(
          os.path.join(settings.TRAIN_IMG_DIR, img_id)
      ).convert("RGB")
      mask = (
          Image.open(os.path.join(settings.TRAIN_MASK_DIR, img_id))
          .convert("L")
          .point(lambda x: 0 if x < 128 else 1, "L")
      )
  
      img_id = "0a1ea1af4.jpg"
      img = Image.open(
          os.path.join(r"D:\data\ship\train_v2", img_id)
      ).convert("RGB")
      mask = (
          Image.open(os.path.join(r"D:\data\ship\train_masks", img_id))
          .convert("L")
          .point(lambda x: 0 if x < 128 else 1, "L")
      )
  
      trans = Compose(
          [
              RandomHFlipWithMask(),
              RandomVFlipWithMask(),
              RandomRotateWithMask([0, 90, 180, 270]),
              # RandomRotateWithMask(15),
              RandomResizedCropWithMask(768, scale=(0.81, 1)),
          ]
      )
  
      trans2 = RandomAffineWithMask(45, (0.2, 0.2), (0.9, 1.1))
      trans3, trans4 = get_img_mask_augments(True, "edge")
  
      img, mask = trans4(img, mask)
  
      img.show()
      mask.point(lambda x: x * 255).show()
  
imports: import os
  import cv2
  import numpy
  import random
  import torchvision.transforms.functional
  from torchvision.transforms import RandomResizedCrop, ColorJitter, RandomAffine
  import PIL
  from PIL import Image
  import collections
  import settings
label_desc: Use image node_id 2 for calling a global function with example usage: test_transform() without return types