code: def __init__(self, type_, width_, height_, params):
      self.width = width_
      self.height = height_
  
      if type_ == 0 or type_ == "SIMPLE_PINHOLE":
          self.fx, self.cx, self.cy = params
          self.fy = self.fx
          self.distortion_func = None
          self.camera_type = 0
  
      elif type_ == 1 or type_ == "PINHOLE":
          self.fx, self.fy, self.cx, self.cy = params
          self.distortion_func = None
          self.camera_type = 1
  
      elif type_ == 2 or type_ == "SIMPLE_RADIAL":
          self.fx, self.cx, self.cy, self.k1 = params
          self.fy = self.fx
          self.distortion_func = simple_radial_distortion
          self.camera_type = 2
  
      elif type_ == 3 or type_ == "RADIAL":
          self.fx, self.cx, self.cy, self.k1, self.k2 = params
          self.fy = self.fx
          self.distortion_func = radial_distortion
          self.camera_type = 3
  
      elif type_ == 4 or type_ == "OPENCV":
          self.fx, self.fy, self.cx, self.cy = params[:4]
          self.k1, self.k2, self.p1, self.p2 = params[4:]
          self.distortion_func = opencv_distortion
          self.camera_type = 4
  
      else:
          raise Exception("Camera type not supported")
  
file_path: nerfies/third_party/pycolmap/pycolmap/camera.py
imports: import numpy
  from scipy.optimize import root
label_desc: Use image node_id 3 to create a new Camera object  with example: obj = Camera(type_, width_, height_, params)