class_docstr: Module version of matching functions.
  
  See :func:`~kornia.feature.match_nn`, :func:`~kornia.feature.match_snn`,
      :func:`~kornia.feature.match_mnn` or :func:`~kornia.feature.match_smnn` for more details.
  
  Args:
      match_mode: type of matching, can be `nn`, `snn`, `mnn`, `smnn`.
      th: threshold on distance ratio, or other quality measure.
class_docstr_tok: ["Module","version","of","matching","functions",".","See",":","func",":","`","~kornia.feature.match_nn","`",",",":","func",":","`","~kornia.feature.match_snn","`",",",":","func",":","`","~kornia.feature.match_mnn","`","or",":","func",":","`","~kornia.feature.match_smnn","`","for","more","details",".","Args",":","match_mode",":","type","of","matching",",","can","be","`","nn","`",",","`","snn","`",",","`","mnn","`",",","`","smnn","`",".","th",":","threshold","on","distance","ratio",",","or","other","quality","measure","."]
code: def __init__(self, match_mode: str = "snn", th: float = 0.8) -> None:
      super().__init__()
      _match_mode: str = match_mode.lower()
      self.known_modes = ["nn", "mnn", "snn", "smnn"]
      if _match_mode not in self.known_modes:
          raise NotImplementedError(
              f"{match_mode} is not supported. Try one of {self.known_modes}"
          )
      self.match_mode = _match_mode
      self.th = th
  
imports: from typing import Any, ClassVar, Dict, List, Optional, Tuple
  import torch
  from kornia.core import Module, Tensor, concatenate
  from kornia.core.check import KORNIA_CHECK_DM_DESC, KORNIA_CHECK_SHAPE
  from kornia.feature.laf import get_laf_center
  from kornia.testing import is_mps_tensor_safe
  from .adalam import get_adalam_default_config, match_adalam
label_desc: Use image node_id 1 to create a new DescriptorMatcher object from inherited base classes: Module with example: obj = DescriptorMatcher(match_mode, th)