code: def test_smoke(self, batch_size, device, dtype):
      H, W = 250, 500
      fx, fy = W, H
      cx, cy = W / 2, H / 2
      seed = 77
      low_1, high_1 = -500, 500
      low_2, high_2 = -(max(W, H) * 3), (max(W, H) * 3)
  
      torch.manual_seed(seed)
      depth = self._get_samples(
          (batch_size, 1, H, W), low_1, high_1, device, dtype
      )
      pixel_coords = self._get_samples(
          (batch_size, H, W, 2), low_2, high_2, device, dtype
      )
  
      last_ch = torch.ones(
          (batch_size, H, W, 1), device=device, dtype=dtype
      )
      pixel_coords_input = torch.cat([pixel_coords, last_ch], axis=-1)
  
      intrinsics_inv = self._create_intrinsics_inv(
          batch_size, fx, fy, cx, cy, device=device, dtype=dtype
      )
  
      output = kornia.geometry.camera.pixel2cam(
          depth=depth,
          intrinsics_inv=intrinsics_inv,
          pixel_coords=pixel_coords_input,
      )
  
      assert output.shape == (batch_size, H, W, 3)
  
imports: import math
  import pytest
  import torch
  from torch.autograd import gradcheck
  import kornia
  from kornia.testing import assert_close, tensor_to_gradcheck_var
label_desc: Use image node_id 4 for calling the TestPixel2Cam obj's underlying member method code with example usage: obj.test_smoke(batch_size, device, dtype) without return types