def get_full_resolution_intrinsics()

in train.py [0:0]


def get_full_resolution_intrinsics(args, dataset_extras):

    intrinsics = {} # intrinsics[raw_view] = {"center_x": ..., "center_y": ..., "focal_x": ..., "focaly_y": ..., "height": ..., "width": ...}

    if dataset_extras["is_multiview"]: # multi-view
        image_folder = "images"
        import json
        with open(os.path.join(args.datadir, "calibration_averaged_camera_view.json"), "r") as json_file:
            calibration = json.load(json_file)

        for raw_view in calibration.keys():
            if raw_view in ["focal", "height", "width", "min_bound", "max_bound"]:
                continue

            camera = {
                "height": calibration[raw_view]["height"],
                "width": calibration[raw_view]["width"],
                "focal_x": calibration[raw_view]["focal_x"],
                "focal_y": calibration[raw_view]["focal_y"],
                "center_x": calibration[raw_view]["center_x"],
                "center_y": calibration[raw_view]["center_y"],
                }

            intrinsics[raw_view] = camera

    else: # monocular
        def _get_info(image_folder):
            imgdir = os.path.join(args.datadir, image_folder)
            imgnames = [f for f in sorted(os.listdir(imgdir)) if f.endswith('JPG') or f.endswith('jpg') or f.endswith('png')]
            imgfiles = [os.path.join(imgdir, f) for f in imgnames]
            def imread(f):
                return imageio.imread(f, ignoregamma=True) if f[-4:] == ".png" else imageio.imread(f)
            height, width, _ = imread(imgfiles[0]).shape
            return imgfiles, height, width

        image_folder = "images"
        imgfiles, height, width = _get_info(image_folder)
        center_x = width / 2
        center_y = height / 2
        focal_x = None
        focal_y = None

        # duplicate to all images
        one_camera = {"height": height, "width": width, "focal_x": focal_x, "focal_y": focal_y, "center_x": center_x, "center_y": center_y}
        raw_views = np.arange(len(imgfiles))
        for raw_view in raw_views:
            intrinsics[raw_view] = one_camera.copy()

    # take care of common values
    for camera in intrinsics.values():
        camera["ray_bending_latent_size"] = args.ray_bending_latent_size

    return intrinsics, image_folder