Estimators and policies catalog

Estimators consume observations and infer a model. They are not image filters and they are not necessarily Pipeline Stages. PanorAi exposes a direct estimator for independent use and a thin Stage adapter when the same computation belongs in a Pipeline.

Registered estimator and policy surfaces

Surface

Stability

Canonical import

Contract

Public components or entries

spherical-features-core

Stable

panorai.features

panorai-spherical-features/v1

DeduplicationResult, FaceSetSpec, FeatureExtractor, FeatureExtractorConfig, FeatureMatcher, FeatureMatcherConfig, FeatureProvenance, FaceDetectionDiagnostics, MatchProvenance, MultifaceDetectionDiagnostics, OpenCVFeatureBackend, SphericalBearingCorrespondences, SphericalFeature, SphericalFeatureMatches, SphericalFeaturePipeline, SphericalFeaturePipelineConfig, SphericalFeatureSet, available_presets, deduplicate_spherical_keypoints, extract_opencv_features, gnomonic_feature_mask, match_opencv_features, panorai.features.backends.OpenCVFeatureBackend

spherical-features-pycolmap

Experimental

panorai.features

panorai-spherical-features-pycolmap/v1

GnomonicRig, GnomonicRigCamera, PyCOLMAPExportResult

spherical-features-multiscale

Experimental

panorai.features

panorai-spherical-features-multiscale/v1

MultiscaleEmbeddingConfig, MultiscaleFeatureMatches, MultiscaleFeatureSet, MultiscaleSphericalFeaturePipeline, OpenCVContextEmbedding, VisualContextNode, VisualEmbeddingProvider

spherical-features-dog-sift

Experimental

panorai.features

panorai-spherical-dog-sift/v2

SphericalDoGSIFTConfig, SphericalDoGSIFTExtractor, SphericalDoGSIFTPipeline

spherical-features-dog-detector

Experimental

panorai.features

panorai-spherical-dog-detector/v2

SphericalDetectionDiagnostics, SphericalDoGDetector, SphericalDoGDetectorConfig, SphericalKeypoint, SphericalKeypointSet, SphericalOctaveDetectionDiagnostics, SphericalRefinedKeypoint

spherical-features-coarse-dog-detector

Experimental

panorai.features

panorai-spherical-coarse-dog-detector/v1

SphericalCoarseDoGDetector, SphericalCoarseDoGDetectorConfig

spherical-features-tangent-patches

Experimental

panorai.features

panorai-tangent-patches/v1

OpenCVTangentDescriptor, OpenCVTangentDescriptorConfig, TangentDescriptorSet, TangentPatch, TangentPatchGeometry, TangentPatchProvider, TangentPatchRequest, TangentPatchSet

spherical-feature-resolution-selection

Experimental

panorai.features

panorai-resolution-selection/v1

ResolutionLevelReport, ResolutionSelectionObservation, ResolutionSelectionPolicy, ResolutionSelectionReport, ResolutionTransitionReport, select_feature_resolution

spherical-features-tangent-descriptor-v2

Experimental

panorai.features

panorai-tangent-opencv-descriptor/v2

OpenCVTangentDescriptorV2, OpenCVTangentDescriptorV2Config, TangentDescriptorHypothesisSet

spherical-relative-pose-pipeline

Experimental

panorai.features

panorai-spherical-relative-pose-pipeline/v1-experimental

ExtractSphericalFeaturePair, MatchSphericalFeatures, SphericalFeaturePair, SphericalImagePair, ToBearingCorrespondences

spherical-deep-learning-depth

Experimental

panorai.experimental.deep_learning

panorai-spherical-metric-depth/v1-experimental

SphericalMetric3D, acquire_metric3d_convnext_large_v1, acquire_metric3d_convnext_tiny_v1, load_spherical_metric3d_convnext_large_v1, load_spherical_metric3d_convnext_tiny_v1, panorai.depth.DepthAdapterUnavailableError, panorai.depth.ModelRegistry, panorai.depth.load_dav2_model, panorai.depth.load_dust3r_model, panorai.depth.load_m3dv2_model, panorai.depth.load_zoe_model, panorai.depth.zoe.load_zoe_model, panorai.experimental.deep_learning.depth.SPHERICAL_METRIC_DEPTH_INTERFACE, panorai.experimental.deep_learning.depth.METRIC3D_CHECKPOINT_REVISION, panorai.experimental.deep_learning.depth.METRIC3D_CONVNEXT_LARGE_V1, panorai.experimental.deep_learning.depth.METRIC3D_CONVNEXT_TINY_V1, panorai.experimental.deep_learning.depth.METRIC3D_SOURCE, panorai.experimental.deep_learning.depth.METRIC3D_SOURCE_COMMIT, panorai.experimental.deep_learning.depth.ExternalArtifactRecord, panorai.experimental.deep_learning.depth.ExternalArtifactSpec, panorai.experimental.deep_learning.depth.LoadedSphericalDepthModel, panorai.experimental.deep_learning.depth.Metric3DAssets, panorai.experimental.deep_learning.depth.SphericalMetric3D, panorai.experimental.deep_learning.depth.UpstreamTermsNotAcceptedError, panorai.experimental.deep_learning.depth.acquire_metric3d_convnext_large_v1, panorai.experimental.deep_learning.depth.acquire_metric3d_convnext_tiny_v1, panorai.experimental.deep_learning.depth.load_spherical_metric3d_convnext_large_v1, panorai.experimental.deep_learning.depth.load_spherical_metric3d_convnext_tiny_v1

tangent-da3-metric-depth

Experimental

panorai.experimental.deep_learning

panorai-depth-anything-3-metric-tangent/v1-experimental

DA3MetricTangent, acquire_da3metric_large, load_da3metric_large, panorai.experimental.deep_learning.da3.DA3Assets, panorai.experimental.deep_learning.da3.DA3MetricTangent, panorai.experimental.deep_learning.da3.DA3TermsNotAcceptedError, panorai.experimental.deep_learning.da3.DA3_CANONICAL_FOCAL_PX, panorai.experimental.deep_learning.da3.DA3_CHECKPOINT_REVISION, panorai.experimental.deep_learning.da3.DA3_MODEL_ID, panorai.experimental.deep_learning.da3.DA3_PATCH_SIZE, panorai.experimental.deep_learning.da3.DA3_SOURCE, panorai.experimental.deep_learning.da3.DA3_SOURCE_COMMIT, panorai.experimental.deep_learning.da3.DA3METRIC_LARGE, panorai.experimental.deep_learning.da3.LoadedDA3MetricModel, panorai.experimental.deep_learning.da3.SPHERICAL_DA3_METRIC_DEPTH_INTERFACE, panorai.experimental.deep_learning.da3.acquire_da3metric_large, panorai.experimental.deep_learning.da3.load_da3metric_large

spherical-semantic-segmentation

Experimental

panorai.experimental.deep_learning.segmentation

panorai-spherical-semantic-segmentation/v1

SPHERICAL_MASK_PROPOSALS_INTERFACE, SPHERICAL_PROXY_SEGMENTATION_INTERFACE, SPHERICAL_SEMANTIC_SEGMENTATION_INTERFACE, SAM21_HIERA_LARGE_LICENSE, SAM21_HIERA_LARGE_REPOSITORY, SAM21_HIERA_LARGE_REVISION, IMAGENET_PROXY_VOCABULARY, DenseSemanticEvidence, Sam21Assets, Sam21FileRecord, Sam21HieraLargeSegmenter, Sam21TermsNotAcceptedError, SamMultimaskOutput, SegmentPrompt, SemanticProxyConcept, SphericalBinaryMask, SphericalProxySegmenter, SphericalMaskProposal, SphericalMaskProposalSet, SphericalSeed, SphericalSegment, SphericalSegmentationConfig, SphericalSegmentationResult, SphericalSemanticSegmenter, acquire_sam21_hiera_large, advance_chart, backproject_face_mask_sets, angular_distance_degrees, backproject_face_masks, concept_display_names, concept_evidence_from_imagenet, concept_proxy_names, connected_component_at, consensus_frontiers, extract_mask_face, extract_rgb_face, face_point_direction, fibonacci_coverage_seeds, load_sam21_hiera_large, majority_and_envelope, mask_stability_score, maximum_pairwise_iou, merge_proposals, non_maximum_suppression, partition_proposals_by_origin, pairwise_mask_iou, prompt_from_mask, prompt_grid, proposal_is_accepted, resolve_panoptic_map, select_semantic_seeds, semantic_support_for_mask, solid_angle_weights, weighted_containment, weighted_intersection_over_union

spherical-relative-pose

Experimental

panorai.estimators

panorai-spherical-relative-pose/v1

CalibrationEvaluation, DecoupledPoseReport, EstimateRelativePose, FivePointSample, FivePointSampler, FivePointSamplingDiagnostics, ModelCompetitionReport, ModelEvidence, PoseStabilityReport, RelativePoseAcceptancePolicy, RelativePoseConfidenceCalibrator, RelativePoseOptions, RelativePoseQualityReport, RelativePoseResult, TranslationOrientationReport, SpatiallyWeightedFivePointSampler, SphericalRelativePoseEstimator, UniformFivePointSampler, estimate_relative_pose, native_kernels_available, solve_five_point_essential, spherical_tangent_sampson_error

semantic-object-localization

Experimental

panorai.object_localization

panorai-object-localization/v1

JOINT_MATCH_CLUSTERS_INTERFACE, JointMatchCluster, JointMatchClusterConfig, JointMatchClusterResult, MULTIVIEW_OBJECT_HYPOTHESES_INTERFACE, BearingTrackTriangulation, DirectionalRegionTransfer, HypothesisAffinity, HypothesisAffinityConfig, HypothesisGnomonicRegion, HypothesisPairCues, HypothesisReductionCandidate, HypothesisReductionResult, HypothesisRegionEvaluation, HypothesisTransferEvaluation, HypothesisViewConsistency, HypothesisViewEmbedding, HypothesisViewPairEvaluation, MultiviewObjectHypothesis, MultiviewObjectHypothesisResult, MultiviewSpatialRegion, OBJECT_LOCALIZATION_INTERFACE, OBJECT_LOCALIZATION_STABILITY, ObjectHypothesis, ObjectLocalizationConfig, ObjectLocalizationPipeline, ObjectLocalizationResult, PairObjectLocalizationInput, RegionAssociation, ReducedHypothesisRecord, RegisteredSemanticEvidence, RegisteredBearingObservation, RegisteredBearingTrack, RegisteredPoseInconsistencyError, RegisteredRadialDepth, SEMANTIC_MATCH_PRIOR_INTERFACE, SEMANTIC_REGION_PROPOSALS_INTERFACE, SPHERICAL_ANCHOR_FUSION_INTERFACE, SemanticMatchPrior, SemanticMatchPriorConfig, SemanticQuery, SemanticConcept, SemanticRegionProposalConfig, SemanticRegionProposalResult, SemanticRegionObservation, SemanticTrackObservation, SphericalObjectHypothesisConfig, SphericalObjectHypothesisGenerator, SphericalObjectHypothesisMethod, SphericalObjectHypothesisMethodConfig, SphericalObjectHypothesisMethodResult, SphericalAnchorAffinity, SphericalAnchorCluster, SphericalAnchorClusterDecision, SphericalAnchorDecision, SphericalAnchorFusionConfig, SphericalAnchorFusionResult, SphericalAnchorPairCues, SphericalFOVAnchor, SphericalRegionMetrics, SpatialLocationHypothesis, SymmetricRegionTransfer, assign_region_associations, build_semantic_match_prior, cluster_region_association_matches, evaluate_spherical_region, fuse_registered_spherical_anchors, generate_spherical_fov_anchors, hypothesis_pair_affinity, hypothesis_view_consistency, triangulate_registered_bearing_track, localize_region_association, object_hypothesis_id, propose_region_associations, reduce_object_hypotheses, semantic_region_from_map, semantic_regions_from_map, spherical_region_mask, spherical_anchor_pair_affinity, spherical_solid_angle_weights, symmetric_spherical_region_transfer, transfer_spherical_region

spherical-reconstruction

Experimental

panorai.reconstruction

panorai-spherical-reconstruction/v1

BuildRegisteredReferenceSets, ColorizeSurface, DenseReconstructionWorkspace, EstimateMultiViewRanges, ExtractSurface, FuseTSDF, MultiViewRangeMap, MultiViewRangeSet, RegisteredReferenceSets, RegisteredSphericalScene, RegisteredSphericalView, SphericalBaselinePrior, SphericalCameraPose, SphericalDenseReconstructionResult, SphericalGlobalMapper, SphericalGlobalMapperOptions, SphericalPairwisePoseEdge, SphericalRangePrior, SphericalReconstructionDiagnostics, SphericalReconstructionResult, SphericalTrack, SphericalTrackObservation, SurfaceMesh, TSDFSpec, TSDFVolume, ValidateDenseReconstruction, colorize_surface, extract_surface, fuse_tsdf

metric-spherical-landmark-ba

Experimental

panorai.reconstruction.metric_landmark_ba

panorai-metric-spherical-landmark-ba/v1-experimental

METRIC_SPHERICAL_LANDMARK_BA_INTERFACE, MetricBearingObservation, MetricLandmarkBAOptions, MetricLandmarkBAReport, MetricLandmarkBAResult, MetricRadialRangePrior, MetricScaleGauge, MetricSphericalCamera, MetricSphericalLandmark, refine_metric_spherical_landmarks

spherical-dense-stereo

Experimental

panorai.stereo

panorai-spherical-dense-stereo/v1-experimental

SphericalDenseStereo, SphericalStereoOptions, SphericalStereoResult, classical, panoramic, colorize_spherical_range, estimate_spherical_range, render_spherical_stereo_result

classical-rectified-stereo

Experimental

panorai.stereo.classical

panorai-classical-dense-stereo/v1-experimental

ADCensusConfig, ADCensusCost, AbsoluteDifferenceCost, BirchfieldTomasiCost, BoxCostAggregation, BuildStereoCost, CensusCost, CensusMGMConfig, ClassicalStereoResult, CrossBasedCostAggregation, ELASConfig, ELASSupportPrior, MoreGlobalMatching, OpenCVStereoMatcher, PatchMatchConfig, PatchMatchStereo, RectifiedStereoGeometry, RectifiedStereoPair, RefineStereoDisparity, SelectStereoDisparity, SemiGlobalMatching, StereoBMConfig, StereoCostVolume, StereoDisparityCandidate, StereoSGBMConfig, StereoValidationConfig, TransformStereoCost, ad_census_pipeline, census_mgm_pipeline, disparity_labels, elas_pipeline, patchmatch_pipeline, stereo_bm_pipeline, stereo_sgbm_pipeline

registered-full-sphere-stereo-core

Experimental

panorai.stereo.panoramic

panorai-registered-full-sphere-stereo/v1-experimental

FullSphereMultiViewStereo, FullSphereStereoOptions, FullSphereStereoResult, OverlappingCubemapPlanner, PanoramicStereoPose, RegisteredPanoramaSet, StereoSourceView

panoramic-dense-stereo-workflow

Experimental

panorai.stereo.panoramic

panorai-panoramic-dense-stereo/v1-experimental

BackProjectStereoRange, DenseStereoPerPair, FuseStereoRange, PanoramicStereoInput, PanoramicStereoResult, PlanRectifiedStereoViews, ProjectStereoViewPairs, RectifiedStereoViewPlanner, RectifiedStereoViewSpec, ResolveStereoPose, ResolveStereoScale, SelectStereoViewPairs, SphereNativeStereo, SphericalStereoViewPairer, StereoPairDiagnostic, StereoViewDescriptor, StereoViewPairScore, StereoViewSelectionDiagnostic, StereoViewPlan, ValidatePanoramicStereo, spec_from_axes

spherical-slam

Experimental

panorai.slam

panorai-spherical-slam/v1

EquidistantFisheyeCamera, FisheyeRayProjection, SphericalImageFrame, SphericalIncrementalSLAM, SphericalIncrementalSLAMDiagnostics, SphericalIncrementalSLAMOptions, SphericalIncrementalSLAMResult, SphericalKeyframeSummary, SphericalLocalBAReport, SphericalMapObservation, SphericalMapPoint, SphericalSLAMDiagnostics, SphericalSLAMFrameSummary, SphericalSLAMOptions, SphericalSLAMPose, SphericalSLAMResult, SphericalTrackingResult, SphericalVisualSLAM

rotation-pair-calibration

Experimental

panorai.calibration

panorai-rotation-pair-calibration/v1-experimental

RotationCalibrationOptions, RotationCalibrationResult, calibrate_rotation_pair

robust-model-fitting

Experimental

panorai.model_fitting

panorai-robust-model-fitting/v1-experimental

HomographyModel, ModelFamily, RobustFitOptions, RobustFitResult, RotationModel, fit_homography, fit_rotation, robust_fit

spherical-estimators-auto-experimental

Experimental

panorai.estimators

panorai-estimator/auto-experimental

—

Relative pose

The current public estimator family is Experimental and imported from panorai.estimators.

Relative-pose computation components

Component

Input

Output

Role

SphericalRelativePoseEstimator

weighted reference/source unit bearings

RelativePoseResult or None

Direct configurable Essential/R/t estimator; usable without Pipeline.

estimate_relative_pose

bearing arrays and options

RelativePoseResult or None

Functional entry point to the same mathematical implementation.

EstimateRelativePose

SphericalFeatureMatches or SphericalBearingCorrespondences

RelativePoseResult or None

Stage adapter; it does not duplicate the estimator.

RelativePoseOptions

configuration values

immutable options

Solver, MSAC ranking, refit, refinement, stability and backend controls.

RelativePoseAcceptancePolicy

RelativePoseQualityReport

accepted flag and rejection reasons

Post-estimation quality decision, separate from capture eligibility.

RelativePoseConfidenceCalibrator

labeled quality reports with disjoint IDs

calibrated probabilities and evaluation

Optional calibration; raw quality is not presented as probability.

Sampling strategies

Injectable minimal-set samplers

Component

Stability

Behavior

FivePointSampler

Experimental

Protocol implemented by RANSAC proposal strategies.

SpatiallyWeightedFivePointSampler

Experimental

Default diversity-aware proposals with a uniform mixture; full-set scoring is unchanged.

UniformFivePointSampler

Experimental

Classic uniform minimal-set proposals and the valid adaptive w**5 trial bound.

FivePointSample / FivePointSamplingDiagnostics

Experimental

Auditable proposal and sampling evidence retained by the result.

Policies are intentionally separate

RelativePoseCapturePolicy evaluates operator-visible capture facts before feature extraction. RelativePoseAcceptancePolicy evaluates the inferred pose after robust estimation. A capture can be eligible and still fail pose estimation; a returned pose can still be rejected by its quality policy.

RelativePoseProfile freezes the selected frontend, options, sampler and post-estimation policy under one named identity. It does not absorb capture policy because capture evidence has different inputs and provenance.

Result and diagnostic objects are cataloged under typed data and results. Mathematical details and exact members remain in the estimator API.

Reusable robust model fitting

The Experimental panorai.model_fitting namespace is independent from any one Application:

Robust fitting components

Component

Input / output

Responsibility

robust_fit / ModelFamily

aligned observation arrays → RobustFitResult

Deterministic RANSAC/MSAC sampling, full-set scoring, adaptive trial bound and local all-inlier refitting for a caller-defined model family.

RotationModel / fit_rotation

paired unit bearings → target-from-source SO(3)

Wahba/Kabsch fit with angular residuals in radians.

HomographyModel / fit_homography

paired planar pixels → projective transform

Normalized DLT with symmetric transfer residuals in pixels.

Residual units are part of the model contract and must match the configured threshold. These components do not select which physical scene model is appropriate.

Rotation-pair calibration

The Experimental panorai.calibration namespace converts pinhole pixel centres to +Z-forward camera rays and estimates a central rotation pair. calibrate_rotation_pair accepts matched pixels, image sizes and optional horizontal FOVs and returns RotationCalibrationResult with intrinsics, SO(3), inliers, spatial coverage and observability reasons.

The current model fixes a centred principal point, square pixels, zero skew and no lens distortion. When both FOVs are missing it estimates one shared horizontal FOV; absence of metadata is not absence of assumptions. See the calibration reference and stitching guide.