Skip to main content

Panoramic image projection and blending using Gnomonic and other spherical projections.

Project description

PanorAi: Spherical Image Processing & Projection

PanorAi is a framework for working with spherical (equirectangular) images, enabling efficient transformation into Gnomonic projections and back to equirectangular format. It provides flexible samplers and blenders to optimize projection and reconstruction processes.


🚀 Quick Start

Installation

pip install panorai

1️⃣ Load an Equirectangular Image

Convert an image to an EquirectangularImage object.

from panorai import PanoraiData

eq_image = PanoraiData.from_file("path/to/image.png", data_type="equirectangular")

📌 Core Functions

2️⃣ Convert to Gnomonic Projection

Extract a rectilinear (Gnomonic) face from the equirectangular image.

face = eq_image.to_gnomonic(lat=45, lon=90, fov=60)
face.show()

3️⃣ Convert Back to Equirectangular

Reproject a gnomonic face back to equirectangular.

eq_reprojected = face.to_equirectangular(eq_shape=(512, 1024))
eq_reprojected.show()

🛠️ Advanced Usage

4️⃣ Convert to Multiple Gnomonic Faces

Use sampling strategies (e.g., "cube", "fibonacci") to extract multiple faces.

face_set = eq_image.to_gnomonic_face_set(fov=60, sampling_method="cube")
face_set[0].show()  # View first face

5️⃣ Reconstruct Using a Blender

Back-project multiple faces using different blending methods ("closest", "average").

eq_reconstructed = face_set.to_equirectangular(eq_shape=(512, 1024), blender_name="closest")
eq_reconstructed.show()

🔧 Configuring Samplers & Blenders

You can fine-tune sampling & blending strategies using ConfigManager.

Set Custom Sampler

from panorai.pipelines.sampler.config import SamplerConfig

sampler_config = SamplerConfig(n_points=5)

Select Blender

from panorai.pipelines.blender.registry import BlenderRegistry

blender = BlenderRegistry.get("average")  # Options: "closest", "average", etc.

⚡ End-to-End Workflow with PanoraiPipeline

For streamlined processing, use the PanoraiPipeline.

from panorai.pipelines.panorai_pipeline import PanoraiPipeline

pipeline = PanoraiPipeline(sampler_name="cube", blender_name="average")

# Forward projection (Equirectangular → Gnomonic Faces)
faces = pipeline.forward_pass(data=eq_image.data, fov=85, lat=0, lon=0)

# Back-projection (Faces → Equirectangular)
eq_final = pipeline.backward_pass(data=faces, eq_shape=(512, 1024))
eq_final.show()

📌 Summary

Feature Function
Load Image PanoraiData.from_file()
Convert to Gnomonic to_gnomonic(lat, lon, fov)
Convert to Face Set to_gnomonic_face_set(fov, sampling_method)
Convert Back to EQ to_equirectangular(eq_shape, blender_name)
Use Samplers & Blenders ConfigManager, BlenderRegistry
Pipeline Processing PanoraiPipeline.forward_pass(), backward_pass()

📚 Next Steps

  • Experiment with different samplers ("cube", "fibonacci").
  • Try blenders ("closest", "average") for optimal reconstructions.
  • Use Torch tensors for deep learning integration.

🔗 PanorAi Documentation (Link to full API reference)


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

panorai-2.0.17.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

panorai-2.0.17-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file panorai-2.0.17.tar.gz.

File metadata

  • Download URL: panorai-2.0.17.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for panorai-2.0.17.tar.gz
Algorithm Hash digest
SHA256 a0ef6b51272119591d706c6289cd0f1ab6119326da7088a37e0510a36fe357e5
MD5 251159feb68b57c2c5043b8ca6af5e27
BLAKE2b-256 9445eb89db0630603eb334c62229565e910a2aed174e623290707618ac9583ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for panorai-2.0.17.tar.gz:

Publisher: python-publish.yml on RobinsonGarcia/PanorAi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file panorai-2.0.17-py3-none-any.whl.

File metadata

  • Download URL: panorai-2.0.17-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for panorai-2.0.17-py3-none-any.whl
Algorithm Hash digest
SHA256 f7f2aabc6a67b1c90dfabee1a5389f600864ffe92e48bf8a783ced843d1ba5d7
MD5 555eceae64f2c91039a31fc3855afe7f
BLAKE2b-256 d991a3611b6fcbd3acb8d82fc1bc94e71c0e7308a0332adf45e34c7a030423dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for panorai-2.0.17-py3-none-any.whl:

Publisher: python-publish.yml on RobinsonGarcia/PanorAi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page