class_docstr: GeometricAugmentationBase2D base class for customized geometric augmentation implementations.
  
  Args:
      p: probability for applying an augmentation. This param controls the augmentation probabilities
        element-wise for a batch.
      p_batch: probability for applying an augmentation to a batch. This param controls the augmentation
        probabilities batch-wise.
      same_on_batch: apply the same transformation across the batch.
      keepdim: whether to keep the output shape the same as input ``True`` or broadcast it
        to the batch form ``False``.
class_docstr_tok: ["GeometricAugmentationBase2D","base","class","for","customized","geometric","augmentation","implementations",".","Args",":","p",":","probability","for","applying","an","augmentation",".","This","param","controls","the","augmentation","probabilities","element-wise","for","a","batch",".","p_batch",":","probability","for","applying","an","augmentation","to","a","batch",".","This","param","controls","the","augmentation","probabilities","batch-wise",".","same_on_batch",":","apply","the","same","transformation","across","the","batch",".","keepdim",":","whether","to","keep","the","output","shape","the","same","as","input","``","True","``","or","broadcast","it","to","the","batch","form","``","False","``","."]
docstr: Process keypoints corresponding to the inputs that are transformed.
docstr_tok: ["Process","keypoints","corresponding","to","the","inputs","that","are","transformed","."]
code: def apply_transform_keypoint(
      self,
      input: Keypoints,
      params: Dict[str, Tensor],
      flags: Dict[str, Any],
      transform: Optional[Tensor] = None,
  ) -> Keypoints:
      """Process keypoints corresponding to the inputs that are transformed."""
      if transform is None:
          if self.transform_matrix is None:
              raise RuntimeError(
                  "No valid transformation matrix found. Please either pass one or forward one first."
              )
          transform = self.transform_matrix
      input = self.apply_non_transform_keypoint(
          input, params, flags, transform
      )
      return input.transform_keypoints_(transform)
  
imports: from typing import Any, Dict, Optional, Tuple
  from kornia.augmentation._2d.base import RigidAffineAugmentationBase2D
  from kornia.constants import Resample
  from kornia.core import Tensor, as_tensor
  from kornia.geometry.boxes import Boxes
  from kornia.geometry.keypoints import Keypoints
  from kornia.utils.helpers import _torch_inverse_cast
label_desc: Use image node_id 9 for calling the GeometricAugmentationBase2D obj's underlying member method code with example usage: obj.apply_transform_keypoint(input, params, flags, transform) and returns: input