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.14.tar.gz (9.3 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.14-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: panorai-2.0.14.tar.gz
  • Upload date:
  • Size: 9.3 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.14.tar.gz
Algorithm Hash digest
SHA256 23e1c4f8510cf6b30433821537e52d4e28d1e8336c696f07a32aa0f26ea9a58a
MD5 0316feca6fa5d8285d86a1941ab9f29b
BLAKE2b-256 86288fc4fce97c03b5d90e279b00e6790b2e228f40600176223f56b771506961

See more details on using hashes here.

Provenance

The following attestation bundles were made for panorai-2.0.14.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.14-py3-none-any.whl.

File metadata

  • Download URL: panorai-2.0.14-py3-none-any.whl
  • Upload date:
  • Size: 8.3 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.14-py3-none-any.whl
Algorithm Hash digest
SHA256 13ce1724df2d3315d0f6b25815beca8b64535dd54ccffd700c70872d5229399b
MD5 25408c9bec020eff58b451df87e4bd42
BLAKE2b-256 3b9a35c2f2175132242f0913976ac9ef2c3546579b1b6fc1a815bafe9b392932

See more details on using hashes here.

Provenance

The following attestation bundles were made for panorai-2.0.14-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