class_docstr: Class to represent camera models.
  
  Example:
      >>> # Pinhole Camera Model
      >>> cam = CameraModel(ImageSize(480, 640), CameraModelType.PINHOLE, torch.Tensor([328., 328., 320., 240.]))
      >>> # Brown Conrady Camera Model
      >>> cam = CameraModel(ImageSize(480, 640), CameraModelType.BROWN_CONRADY, torch.Tensor([1.0, 1.0, 1.0, 1.0,
      ... 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]))
      >>> # Kannala Brandt K3 Camera Model
      >>> cam = CameraModel(ImageSize(480, 640), CameraModelType.KANNALA_BRANDT_K3, torch.Tensor([1.0, 1.0, 1.0,
      ... 1.0, 1.0, 1.0, 1.0, 1.0]))
      >>> # Orthographic Camera Model
      >>> cam = CameraModel(ImageSize(480, 640), CameraModelType.ORTHOGRAPHIC, torch.Tensor([328., 328., 320., 240.]))
      >>> cam.params
      tensor([328., 328., 320., 240.])
class_docstr_tok: ["Class","to","represent","camera","models",".","Example",":",">",">",">","#","Pinhole","Camera","Model",">",">",">","cam","=","CameraModel","(","ImageSize","(","480",",","640",")",",","CameraModelType.PINHOLE",",","torch.Tensor","(","[","328.",",","328.",",","320.",",","240",".","]",")",")",">",">",">","#","Brown","Conrady","Camera","Model",">",">",">","cam","=","CameraModel","(","ImageSize","(","480",",","640",")",",","CameraModelType.BROWN_CONRADY",",","torch.Tensor","(","[","1.0",",","1.0",",","1.0",",","1.0",",","...","1.0",",","1.0",",","1.0",",","1.0",",","1.0",",","1.0",",","1.0",",","1.0","]",")",")",">",">",">","#","Kannala","Brandt","K3","Camera","Model",">",">",">","cam","=","CameraModel","(","ImageSize","(","480",",","640",")",",","CameraModelType.KANNALA_BRANDT_K3",",","torch.Tensor","(","[","1.0",",","1.0",",","1.0",",","...","1.0",",","1.0",",","1.0",",","1.0",",","1.0","]",")",")",">",">",">","#","Orthographic","Camera","Model",">",">",">","cam","=","CameraModel","(","ImageSize","(","480",",","640",")",",","CameraModelType.ORTHOGRAPHIC",",","torch.Tensor","(","[","328.",",","328.",",","320.",",","240",".","]",")",")",">",">",">","cam.params","tensor","(","[","328.",",","328.",",","320.",",","240",".","]",")"]
code: def __getattr__(self, name: str) -> Any:
      return getattr(self._model, name)
  
imports: from __future__ import annotations
  from enum import Enum
  from typing import Any, Union
  from kornia.core import Tensor, stack, zeros_like
  from kornia.geometry.vector import Vector2, Vector3
  from kornia.image import ImageSize
  from kornia.sensors.camera.distortion_model import AffineTransform, BrownConradyTransform, KannalaBrandtK3Transform
  from kornia.sensors.camera.projection_model import OrthographicProjection, Z1Projection
label_desc: Use image node_id 2 for calling the CameraModel obj's underlying member method code with example usage: obj.__getattr__(name) and returns: getattr