code: def test_shape(self, batch_size, num_features, device, dtype):
      image_src = torch.rand(
          batch_size, num_features, 3, 4, device=device, dtype=dtype
      )
      depth_dst = torch.rand(
          batch_size, 1, 3, 4, device=device, dtype=dtype
      )
      src_trans_dst = torch.rand(
          batch_size, 4, 4, device=device, dtype=dtype
      )
      camera_matrix = torch.rand(
          batch_size, 3, 3, device=device, dtype=dtype
      )
  
      image_dst = kornia.geometry.depth.warp_frame_depth(
          image_src, depth_dst, src_trans_dst, camera_matrix
      )
      assert image_dst.shape == (batch_size, num_features, 3, 4)
  
imports: import pytest
  import torch
  from torch.autograd import gradcheck
  import kornia
  import kornia.testing
  from kornia.testing import assert_close
label_desc: Use image node_id 2 for calling the TestWarpFrameDepth obj's underlying member method code with example usage: obj.test_shape(batch_size, num_features, device, dtype) without return types