code: def test_cuda_approx(
      self, test_case_description, sigmas, input, expected
  ):
      # Skip this test
      if not torch.cuda.is_available():
          return
  
      # Params to determine the implementation to test
      device = torch.device("cuda")
      fast_approx = True
  
      # Create input tensor and apply filter
      input_tensor = torch.from_numpy(np.array(input)).to(
          dtype=torch.float, device=device
      )
      output = (
          BilateralFilter.apply(input_tensor, *sigmas, fast_approx)
          .cpu()
          .numpy()
      )
  
      # Ensure result are as expected
      np.testing.assert_allclose(output, expected, atol=2e-1)
  
file_path: MONAI/tests/test_bilateral_approx_cuda.py
imports: from __future__ import annotations
  import unittest
  import numpy
  import torch
  from parameterized import parameterized
  from torch.autograd import gradcheck
  from monai.networks.layers.filtering import BilateralFilter
  from tests.utils import skip_if_no_cpp_extension, skip_if_no_cuda
label_desc: Use image node_id 1 for calling the BilateralFilterTestCaseCudaApprox obj's underlying member method code with example usage: obj.test_cuda_approx(test_case_description, sigmas, input, expected) without return types