class_docstr: Dummy module to use instead of local feature orientation or affine shape estimator.
class_docstr_tok: ["Dummy","module","to","use","instead","of","local","feature","orientation","or","affine","shape","estimator","."]
docstr: Args:
      laf: :math:`(B, N, 2, 3)`
      img: :math:`(B, 1, H, W)`
  
  Returns:
      LAF, unchanged :math:`(B, N, 2, 3)`
docstr_tok: ["Args",":","laf",":",":","math",":","`","(","B",",","N",",","2",",","3",")","`","img",":",":","math",":","`","(","B",",","1",",","H",",","W",")","`","Returns",":","LAF",",","unchanged",":","math",":","`","(","B",",","N",",","2",",","3",")","`"]
code: def forward(
      self, laf: torch.Tensor, img: torch.Tensor
  ) -> torch.Tensor:
      """
      Args:
          laf: :math:`(B, N, 2, 3)`
          img: :math:`(B, 1, H, W)`
  
      Returns:
          LAF, unchanged :math:`(B, N, 2, 3)`
      """
      return laf
  
imports: from typing import Dict, Optional
  import torch
  import torch.nn.functional
  from torch import nn
  from kornia.constants import pi
  from kornia.core.check import KORNIA_CHECK_LAF, KORNIA_CHECK_SHAPE
  from kornia.filters import SpatialGradient, get_gaussian_discrete_kernel1d, get_gaussian_kernel2d
  from kornia.geometry import rad2deg
  from kornia.utils.helpers import map_location_to_cpu
  from .laf import extract_patches_from_pyramid, get_laf_orientation, set_laf_orientation
label_desc: Use image node_id 1 for calling the PassLAF obj's underlying member method code with example usage: obj.forward(laf, img) and returns: laf