code: def normalize_homography(
      dst_pix_trans_src_pix: Tensor,
      dsize_src: tuple[int, int],
      dsize_dst: tuple[int, int],
  ) -> Tensor:
      r"""Normalize a given homography in pixels to [-1, 1].
  
      Args:
          dst_pix_trans_src_pix: homography/ies from source to destination to be
            normalized. :math:`(B, 3, 3)`
          dsize_src: size of the source image (height, width).
          dsize_dst: size of the destination image (height, width).
  
      Returns:
          the normalized homography of shape :math:`(B, 3, 3)`.
      """
      if not isinstance(dst_pix_trans_src_pix, Tensor):
          raise TypeError(
              f"Input type is not a Tensor. Got {type(dst_pix_trans_src_pix)}"
          )
  
      if not (
          len(dst_pix_trans_src_pix.shape) == 3
          or dst_pix_trans_src_pix.shape[-2:] == (3, 3)
      ):
          raise ValueError(
              f"Input dst_pix_trans_src_pix must be a Bx3x3 tensor. Got {dst_pix_trans_src_pix.shape}"
          )
  
      # source and destination sizes
      src_h, src_w = dsize_src
      dst_h, dst_w = dsize_dst
  
      # compute the transformation pixel/norm for src/dst
      src_norm_trans_src_pix: Tensor = normal_transform_pixel(
          src_h, src_w
      ).to(dst_pix_trans_src_pix)
  
      src_pix_trans_src_norm = _torch_inverse_cast(
          src_norm_trans_src_pix
      )
      dst_norm_trans_dst_pix: Tensor = normal_transform_pixel(
          dst_h, dst_w
      ).to(dst_pix_trans_src_pix)
  
      # compute chain transformations
      dst_norm_trans_src_norm: Tensor = dst_norm_trans_dst_pix @ (
          dst_pix_trans_src_pix @ src_pix_trans_src_norm
      )
      return dst_norm_trans_src_norm
  
imports: from __future__ import annotations
  from typing import Optional
  import torch
  import torch.nn.functional
  from kornia.constants import pi
  from kornia.core import Tensor, concatenate, cos, pad, sin, stack, tensor, where, zeros_like
  from kornia.core.check import KORNIA_CHECK, KORNIA_CHECK_SHAPE
  from kornia.utils import deprecated
  from kornia.utils.helpers import _torch_inverse_cast
label_desc: Use image node_id 30 for calling a global function with example usage: normalize_homography(dst_pix_trans_src_pix, dsize_src, dsize_dst) and returns: dst_norm_trans_src_norm