class_docstr: Warp tensors by homographies.
  
  .. math::
  
      X_{dst} = H_{src}^{\{dst\}} * X_{src}
  
  Args:
      height: The height of the destination tensor.
      width: The width of the destination tensor.
      mode: interpolation mode to calculate output values ``'bilinear'`` | ``'nearest'``.
      padding_mode: padding mode for outside grid values
        ``'zeros'`` | ``'border'`` | ``'reflection'``.
      normalized_coordinates: whether to use a grid with normalized coordinates.
      align_corners: interpolation flag.
class_docstr_tok: ["Warp","tensors","by","homographies",".","..","math",":",":","X_","{","dst","}","=","H_","{","src","}","^","{","\\","{","dst\\","}","}","*","X_","{","src","}","Args",":","height",":","The","height","of","the","destination","tensor",".","width",":","The","width","of","the","destination","tensor",".","mode",":","interpolation","mode","to","calculate","output","values","``","'bilinear","'","``","|","``","'nearest","'","``",".","padding_mode",":","padding","mode","for","outside","grid","values","``","'zeros","'","``","|","``","'border","'","``","|","``","'reflection","'","``",".","normalized_coordinates",":","whether","to","use","a","grid","with","normalized","coordinates",".","align_corners",":","interpolation","flag","."]
docstr: Compute and store internally the transformations of the points.
  
  Useful when the same homography/homographies are reused.
  
  Args:
      src_homo_dst: Homography or homographies (stacked) to
        transform all points in the grid. Shape of the homography
        has to be :math:`(1, 3, 3)` or :math:`(N, 1, 3, 3)`.
        The homography assumes normalized coordinates [-1, 1] if
        normalized_coordinates is True.
docstr_tok: ["Compute","and","store","internally","the","transformations","of","the","points",".","Useful","when","the","same","homography\/homographies","are","reused",".","Args",":","src_homo_dst",":","Homography","or","homographies","(","stacked",")","to","transform","all","points","in","the","grid",".","Shape","of","the","homography","has","to","be",":","math",":","`","(","1",",","3",",","3",")","`","or",":","math",":","`","(","N",",","1",",","3",",","3",")","`",".","The","homography","assumes","normalized","coordinates","[","-1",",","1","]","if","normalized_coordinates","is","True","."]
code: def precompute_warp_grid(self, src_homo_dst: Tensor) -> None:
      r"""Compute and store internally the transformations of the points.
  
      Useful when the same homography/homographies are reused.
  
      Args:
          src_homo_dst: Homography or homographies (stacked) to
            transform all points in the grid. Shape of the homography
            has to be :math:`(1, 3, 3)` or :math:`(N, 1, 3, 3)`.
            The homography assumes normalized coordinates [-1, 1] if
            normalized_coordinates is True.
      """
      self._warped_grid = warp_grid(self.grid, src_homo_dst)
  
file_path: kornia/kornia/geometry/transform/homography_warper.py
imports: from __future__ import annotations
  from abc import abstractmethod
  from typing import Any, Optional
  import torch.nn.functional
  from kornia.core import Module, Tensor
  from kornia.utils import create_meshgrid
  from .imgwarp import homography_warp, warp_grid
label_desc: Use image node_id 2 for calling the HomographyWarper obj's underlying member method code with example usage: obj.precompute_warp_grid(src_homo_dst) without return types