class_docstr: Convenience module, which implements GFTT detector + AffNet-HardNet descriptor.
class_docstr_tok: ["Convenience","module",",","which","implements","GFTT","detector","+","AffNet-HardNet","descriptor","."]
code: def __init__(
      self,
      num_features: int = 8000,
      upright: bool = False,
      device: Device = torch.device("cpu"),
      config: Detector_config = get_default_detector_config(),
  ) -> None:
      detector = MultiResolutionDetector(
          CornerGFTT(),
          num_features,
          config,
          ori_module=PassLAF() if upright else LAFOrienter(19),
          aff_module=LAFAffNetShapeEstimator(True).eval(),
      ).to(device)
      descriptor = LAFDescriptor(
          None, patch_size=32, grayscale_descriptor=True
      ).to(device)
      super().__init__(detector, descriptor)
  
imports: import warnings
  from typing import ClassVar, Dict, List, Optional, Tuple
  import torch
  from kornia.color import rgb_to_grayscale
  from kornia.constants import pi
  from kornia.core import Device, Module, Tensor, concatenate, deg2rad
  from kornia.core.check import KORNIA_CHECK_LAF
  from kornia.geometry.subpix import ConvQuadInterp3d
  from kornia.geometry.transform import ScalePyramid
  from .affine_shape import LAFAffNetShapeEstimator
  from .hardnet import HardNet
  from .keynet import KeyNetDetector
  from .laf import extract_patches_from_pyramid, get_laf_center, get_laf_orientation, get_laf_scale, scale_laf
  from .lightglue import LightGlue
  from .matching import GeometryAwareDescriptorMatcher, _no_match
  from .orientation import LAFOrienter, OriNet, PassLAF
  from .responses import BlobDoG, BlobDoGSingle, BlobHessian, CornerGFTT
  from .scale_space_detector import Detector_config, MultiResolutionDetector, ScaleSpaceDetector, get_default_detector_config
  from .siftdesc import SIFTDescriptor
label_desc: Use image node_id 1 to create a new GFTTAffNetHardNet object from inherited base classes: LocalFeature with example: obj = GFTTAffNetHardNet(num_features, upright, device, config)