code: def test_identity_resize(self, batch_shape, device, dtype):
      # create input data
      batch_size, channels, height, width = batch_shape
      patch_src = torch.rand(
          batch_size,
          channels,
          height,
          width,
          device=device,
          dtype=dtype,
      )
      dst_homo_src = utils.create_eye_batch(
          batch_size, eye_size=3, device=device, dtype=dtype
      )
  
      # instantiate warper warp from source to destination
      warper = kornia.geometry.transform.HomographyWarper(
          height // 2, width // 2, align_corners=True
      )
      patch_dst = warper(patch_src, dst_homo_src)
  
      # check the corners
      assert_close(
          patch_src[..., 0, 0],
          patch_dst[..., 0, 0],
          atol=1e-4,
          rtol=1e-4,
      )
      assert_close(
          patch_src[..., 0, -1],
          patch_dst[..., 0, -1],
          atol=1e-4,
          rtol=1e-4,
      )
      assert_close(
          patch_src[..., -1, 0],
          patch_dst[..., -1, 0],
          atol=1e-4,
          rtol=1e-4,
      )
      assert_close(
          patch_src[..., -1, -1],
          patch_dst[..., -1, -1],
          atol=1e-4,
          rtol=1e-4,
      )
  
imports: import pytest
  import torch
  from torch.autograd import gradcheck
  import kornia
  import kornia.testing
  from kornia.testing import assert_close
  from kornia.utils.helpers import _torch_inverse_cast
label_desc: Use image node_id 8 for calling the TestHomographyWarper obj's underlying member method code with example usage: obj.test_identity_resize(batch_shape, device, dtype) without return types