class_docstr: Warp a patch by depth.
  
  .. math::
      P_{src}^{\{dst\}} = K_{dst} * T_{src}^{\{dst\}}
  
      I_{src} = \\omega(I_{dst}, P_{src}^{\{dst\}}, D_{src})
  
  Args:
      pinholes_dst: the pinhole models for the destination frame.
      height: the height of the image to warp.
      width: the width of the image to warp.
      mode: interpolation mode to calculate output values ``'bilinear'`` | ``'nearest'``.
      padding_mode: padding mode for outside grid values ``'zeros'`` | ``'border'`` | ``'reflection'``.
      align_corners: interpolation flag.
class_docstr_tok: ["Warp","a","patch","by","depth",".","..","math",":",":","P_","{","src","}","^","{","\\","{","dst\\","}","}","=","K_","{","dst","}","*","T_","{","src","}","^","{","\\","{","dst\\","}","}","I_","{","src","}","=","\\\\omega","(","I_","{","dst","}",",","P_","{","src","}","^","{","\\","{","dst\\","}","}",",","D_","{","src","}",")","Args",":","pinholes_dst",":","the","pinhole","models","for","the","destination","frame",".","height",":","the","height","of","the","image","to","warp",".","width",":","the","width","of","the","image","to","warp",".","mode",":","interpolation","mode","to","calculate","output","values","``","'bilinear","'","``","|","``","'nearest","'","``",".","padding_mode",":","padding","mode","for","outside","grid","values","``","'zeros","'","``","|","``","'border","'","``","|","``","'reflection","'","``",".","align_corners",":","interpolation","flag","."]
docstr: Compute the required inverse depth step to achieve sub pixel accurate sampling of the depth cost volume,
  per camera.
  
  Szeliski, Richard, and Daniel Scharstein. "Symmetric sub-pixel stereo matching." European Conference on Computer
  Vision. Springer Berlin Heidelberg, 2002.
docstr_tok: ["Compute","the","required","inverse","depth","step","to","achieve","sub","pixel","accurate","sampling","of","the","depth","cost","volume",",","per","camera",".","Szeliski",",","Richard",",","and","Daniel","Scharstein",".","``","Symmetric","sub-pixel","stereo","matching",".","''","European","Conference","on","Computer","Vision",".","Springer","Berlin","Heidelberg",",","2002","."]
code: def compute_subpixel_step(self) -> Tensor:
      """Compute the required inverse depth step to achieve sub pixel accurate sampling of the depth cost volume,
      per camera.
  
      Szeliski, Richard, and Daniel Scharstein. "Symmetric sub-pixel stereo matching." European Conference on Computer
      Vision. Springer Berlin Heidelberg, 2002.
      """
      delta_d = 0.01
      xy_m1 = self._compute_projection(
          self.width / 2, self.height / 2, 1.0 - delta_d
      )
      xy_p1 = self._compute_projection(
          self.width / 2, self.height / 2, 1.0 + delta_d
      )
      dx = torch.norm((xy_p1 - xy_m1), 2, dim=-1) / 2.0
      dxdd = dx / (delta_d)  # pixel*(1/meter)
      # half pixel sampling, we're interested in the min for all cameras
      return torch.min(0.5 / dxdd)
  
imports: from __future__ import annotations
  from typing import Optional
  import torch
  import kornia.core
  from kornia.core import Module, Tensor, tensor
  from kornia.core.check import KORNIA_CHECK, KORNIA_CHECK_IS_TENSOR, KORNIA_CHECK_SHAPE
  from kornia.filters.sobel import spatial_gradient
  from kornia.utils import create_meshgrid
  from kornia.utils.helpers import deprecated
  from .camera import PinholeCamera, cam2pixel, pixel2cam, project_points, unproject_points
  from .conversions import normalize_pixel_coordinates, normalize_points_with_intrinsics
  from .linalg import compose_transformations, convert_points_to_homogeneous, inverse_transformation, transform_points
label_desc: Use image node_id 5 for calling the DepthWarper obj's underlying member method code with example usage: obj.compute_subpixel_step() and returns: torch