Calibration API¶
The Experimental panorai.calibration namespace provides the pinhole
pixel/ray convention and bounded pair calibration used by stitching. It is
independently usable and does not perform feature extraction or matching.
Camera calibration primitives used by registration applications.
- class panorai.calibration.PinholeIntrinsics(image_size_hw, fx, fy, cx, cy, interface='panorai-pinhole-intrinsics/v1-experimental', stability='experimental')¶
Pixel-centre pinhole calibration in PanorAi’s camera frame.
Camera rays use
+Xright,+Yup and+Zforward. Image rows increase downward, so the vertical projection contains an explicit sign reversal. Distortion is intentionally absent from this first contract.
- panorai.calibration.pinhole_pixels_to_rays(pixels_xy, intrinsics)¶
Convert pixel-centre coordinates to unit camera-frame bearings.
- panorai.calibration.pinhole_rays_to_pixels(rays_xyz, intrinsics)¶
Project camera-frame rays and return pixels plus positive-depth mask.
- class panorai.calibration.RotationCalibrationOptions(min_horizontal_fov_deg=30.0, max_horizontal_fov_deg=140.0, max_angular_error_deg=1.0, max_median_angular_error_deg=0.35, min_inliers=12, robust_trials=512, local_optimization_steps=3, random_seed=0, min_spatial_coverage=0.02)¶
Assumptions and search limits for rotation-only pair calibration.
- class panorai.calibration.RotationCalibrationResult(intrinsics_a, intrinsics_b, rotation_b_from_a, inlier_mask, angular_residuals_rad, estimated_fov, observable, degeneracy_reasons, spatial_coverage, objective_at_solution, objective_at_bounds, interface='panorai-rotation-pair-calibration/v1-experimental', stability='experimental')¶
Rotation-only calibration with explicit observability diagnostics.
- panorai.calibration.calibrate_rotation_pair(pixels_a_xy, pixels_b_xy, image_size_a_hw, image_size_b_hw, *, horizontal_fov_a_deg=None, horizontal_fov_b_deg=None, options=None)¶
Calibrate and register a rotating central-camera image pair.
When neither FOV is supplied the estimator uses the explicit assumption that both images share one horizontal FOV. When one FOV is supplied, it remains fixed while the missing FOV is estimated. Two supplied FOV values are used independently. The result reports whether calibration was estimated and whether the evidence made that estimate observable.
The current estimator assumes square pixels, zero skew and a centred principal point. Unknown pairs share one horizontal field of view. Lens distortion and principal-point estimation are not implied by this surface.
Continue with the stitching guide or compare this estimator in the catalog.