Applications catalog

Applications are immutable, task-level wrappers. They accept the natural inputs of a task, expose parameters through get_params() and with_params(), describe their implementation, and reveal their lower-level composition through as_pipeline(). Start here unless you need to replace one of those internal decisions.

Registered Application surfaces

This table is generated from the public documentation contract. A new Application cannot disappear from the catalog merely because a hand-written table was not updated.

Surface

Stability

Canonical import

Contract

Public components or entries

panorama-stitching-application

Experimental

panorai.applications

panorai-panorama-stitching/v1-experimental

PanoramaStitcher

registered-full-sphere-stereo-application

Experimental

panorai.applications

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

FullSphereDenseStereo

spherical-applications-dog-reviewed-profile

Experimental

panorai.applications

panorai-spherical-dog-features/v1

SphericalDoGFeatures.reviewed_profile

spherical-applications

Experimental

panorai.applications

panorai-application/v1-experimental

Application, ApplicationConfigurationError, ADCensusStereoDepth, AssessRelativePoseCapture, CensusMGMStereoDepth, ELASStereoDepth, PipelineApplication, PatchMatchStereoDepth, PanoramicDenseStereo, InstanceHeuristicDecision, RelativePoseCaptureAssessment, RelativePoseCaptureError, RelativePoseCaptureInput, RelativePoseCaptureMetadata, RelativePoseCapturePolicy, RelativePoseProfile, SphericalDenseReconstruction, SphericalDoGFeatures, SphericalMaskRCNNPaper, SphericalMaskRCNNWorkflow, SphericalRelativePose, SphericalStereoDepth, SphericalStereoInput, StereoBMDepth, StereoSGBMDepth

spherical-applications-slic

Stable

panorai.applications

panorai-spherical-slic/v1

SphericalSLIC

spherical-applications-auto-experimental

Experimental

panorai.applications

panorai-application/auto-experimental

—

Concrete applications

Public task wrappers

Application

Stability

Input

Output

Domain

Exposed composition

panorai.applications.SphericalSLIC

Stable

one canonical ERP with explicit validity

RasterField(kind="labels")

direct sphere

OnSphere(Output(SLIC(), kind="labels"))

panorai.applications.SphericalDoGFeatures

Experimental

one canonical ERP

SphericalFeatureSet with tangent descriptors

sphere + tangent patches

one task Stage using SphericalDoGSIFTExtractor

panorai.applications.SphericalRelativePose

Experimental

ordered reference/source ERPs; optional capture metadata

RelativePoseResult or None

features → bearings → spherical pose

capture assessment, extraction, matching, bearing conversion, pose estimate

panorai.applications.SphericalStereoDepth

Experimental

two ERPs plus metric source-from-reference pose

SphericalStereoResult with radial range, confidence and validity

direct-spherical plane sweep

one typed stereo Stage over SphericalDenseStereo

panorai.applications.SphericalDenseReconstruction

Experimental

registered central ERPs with supplied metric world poses

accepted/rejected result with mesh, normals, evidence and optional color

multireference MVS → world TSDF → surface

six public Stages from reference-set construction through validation

panorai.applications.SphericalMaskRCNNWorkflow

Experimental

one ERP plus configured CAM/SAM adapters and instance heuristic

SphericalSegmentationResult

spherical evidence + SAM masks

CAM or SAM proposals, mask refinement/fusion, heuristic BoxHead

panorai.applications.PanoramaStitcher

Experimental

\(N \geq 2\) overlapping planar pinhole images; optional support, validity and horizontal FOV

partial EquirectangularImage, recovered rotations/intrinsics, contribution maps and diagnostics

planar evidence → central SO(3) registration → ERP fusion

feature detection, overlap discovery, calibration/registration, warp, exposure compensation and blend

SphericalMaskRCNNPaper remains an import-compatible alias for the original Experimental name. mask_rcnn.paper() delegates to the canonical mask_rcnn.workflow() factory with a deprecation warning.

All wrappers run directly with application(...) or application.run(...). as_pipeline() is the supported escape hatch: inspect it, retain intermediate results, or reuse individual public Stages. Internal adapter Stages whose names start with _ are implementation details and are not catalog entries.

DoG reviewed-profile candidate

SphericalDoGFeatures.reviewed_profile() is inventoried separately as panorai-spherical-dog-features/v1. It freezes the dense spherical DoG detector, tangent-patch support rules and RootSIFT descriptor. Changing a scientific parameter with with_params() deliberately returns the generic Experimental wrapper and removes the profile identity. Selecting numpy, native or auto convolution changes only the execution backend and preserves the identity.

The named profile is still Experimental. Its separate catalog row describes the remaining scene-disjoint external evaluation, installed-wheel performance, Python/platform matrix and independent-review gates. The lower-level generic DoG detector, coarse-to-fine detector and free-form application configuration do not inherit a future promotion of this factory.

Framework contracts

Application framework

Component

Stability

Responsibility

panorai.applications.Application

Experimental

Common call, parameter, description and safe-configuration contract.

panorai.applications.PipelineApplication

Experimental

Application whose executable lower-level form is a public Pipeline.

panorai.applications.RelativePoseProfile

Experimental

Named, immutable bundle of frontend, estimator, sampler and acceptance policy.

panorai.applications.RelativePoseCapturePolicy

Experimental

Pre-estimation capture eligibility; it does not estimate pose or guarantee success.

Persistence is available only when every nested component has a registered, safe representation. In-memory callables remain executable but are not made serializable by the wrapper. No application silently downloads weights or accepts third-party terms.

Follow the Applications tutorial, read the wrapper concept, or use the signature-level Applications API.