Application wrappers¶
An Application is a task-level contract. It answers “what result do I want?” before asking the user to select stages, grids or fusion policies. Its value is not hidden magic: a good wrapper makes one supported method easy to configure, inspect and reproduce.
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 |
— |
Responsibilities¶
An Application owns input validation, immutable parameters, the call signature
and the public result type. run and __call__ execute the method;
get_params and with_params support configuration tools; describe
exposes the method boundary. A PipelineApplication additionally exposes
as_pipeline so advanced users can see or adapt the exact composition.
The wrapper delegates mathematics to existing domains. SphericalSLIC uses
the SLIC spherical operation; it does not maintain a second implementation.
Likewise, feature, pose, stereo and instance wrappers adapt their established
algorithms and result types. SphericalRelativePose.reference() names the
complete evidence-backed frontend, sampler, MSAC/refit estimator and acceptance
configuration. It exposes four named computational stages: feature extraction,
matching, bearing conversion and robust pose estimation. A custom frontend or
pose strategy must be selected explicitly.
Capture eligibility is not hidden inside estimator options.
RelativePoseCapturePolicy consumes independent physical metadata before
feature extraction, while RelativePoseAcceptancePolicy judges evidence
after estimation. A configured capture policy adds a fifth, leading
AssessRelativePoseCapture Stage. Keeping these decisions separate prevents
registered-cloud overlap or a dataset-specific baseline range from being
misrepresented as an image-derived confidence score.
Operations, stages and layers are different roles¶
An operation transforms a spherical raster, a Stage transforms a typed value,
and a Torch layer participates in a differentiable tensor network. Applications
may use any of those pieces, but do not pretend they are interchangeable.
Relative pose is a useful boundary case: it projects ERPs for feature
extraction, then operates on sparse bearings. Its public composition therefore
uses feature and estimator Stages, not OnSphere raster operations or a
torch.nn.Module. The returned translation is direction-only because metric
scale is unobservable from two calibrated central views.
Configuration is not execution state¶
Application objects are immutable descriptions. Safe persistence is available only for registered components and canonical JSON-compatible parameters. Checkpoints, datasets, lambdas and arbitrary Python imports are not hidden in a configuration file.
Stability belongs to the concrete application¶
The common shape of wrappers is ergonomic, not a blanket stability promise.
SphericalSLIC is Stable; DoG, Stereo, Relative Pose and Mask R-CNN Workflow
wrappers remain Experimental while their individual evidence gates are open.
A Stable operation inside an Experimental application does not promote the
complete method.