code: def test_real(self, device, dtype, data):
      torch.random.manual_seed(0)
      # This is not unit test, but that is quite good integration test
      data_dev = utils.dict_to(data, device, dtype)
      config = {"depth_confidence": -1, "width_confidence": -1}
      lg = (
          LightGlueMatcher("disk", config)
          .to(device=device, dtype=dtype)
          .eval()
      )
      with torch.no_grad():
          dists, idxs = lg(
              data_dev["descs1"],
              data_dev["descs2"],
              data_dev["lafs1"],
              data_dev["lafs2"],
          )
      assert idxs.shape[1] == 2
      assert dists.shape[1] == 1
      assert idxs.shape[0] == dists.shape[0]
      assert dists.shape[0] <= data_dev["descs1"].shape[0]
      assert dists.shape[0] <= data_dev["descs2"].shape[0]
      expected_idxs = data_dev["lightglue_disk_idxs"].long()
      assert_close(idxs, expected_idxs, rtol=1e-4, atol=1e-4)
  
imports: import pytest
  import torch
  from torch.autograd import gradcheck
  import kornia.testing
  from kornia.feature.integrated import LightGlueMatcher
  from kornia.feature.laf import laf_from_center_scale_ori
  from kornia.feature.matching import DescriptorMatcher, GeometryAwareDescriptorMatcher, match_adalam, match_fginn, match_mnn, match_nn, match_smnn, match_snn
  from kornia.testing import assert_close
label_desc: Use image node_id 1 for calling the TestLightGlueDISK obj's underlying member method code with example usage: obj.test_real(device, dtype, data) without return types