Skip to content

MikkelKappelPersson/EquiForge

Repository files navigation

EquiForge Logo

A precision toolkit for equirectangular image processing and conversions

PyPI version GitHub license

Features

  • Convert perspective images to equirectangular projection (pers2equi)
  • Convert equirectangular images to perspective view (equi2pers)
  • GPU acceleration with CUDA (optional)
  • Uses 32-bit floating point precision for all image processing operations

Installation

Prerequisites

  • Python 3.8 or later
  • numpy
  • numba
  • Pillow

Using pip:

pip install equiforge

CUDA GPU Support

To enable CUDA GPU support, install the latest graphics drivers from NVIDIA for your platform. Then install the CUDA Toolkit package.

For CUDA 12, cuda-nvcc and cuda-nvrtc are required:

$ conda install -c conda-forge cuda-nvcc cuda-nvrtc "cuda-version>=12.0"

Example Usage

from equiforge import pers2equi

# Convert perspective image to equirectangular
equi_image = pers2equi(
    'input.jpg',
    output_height=2048, 
    fov_x=90.0,
    yaw=0.0,
    pitch=0.0,
    roll=0.0
)
from equiforge import pers2equi
# Convert equirectangular image to perspective view
pers_image = equi2pers(
    'equirectangular.jpg',
    output_width=1920,
    output_height=1080,
    fov_x=90.0,
    yaw=45.0,
    pitch=15.0,
    roll=0.0
)

Documentation

For more examples and detailed documentation, see the Jupyter notebooks included in the repository.

Acknowledgements:

About

A toolkit for equirectangular image processing and conversions

Topics

Resources

License

Stars

Watchers

Forks

Languages