Skip to main content

structured-optics

A Python library for generating, propagating, and analyzing structured light beams (Hermite-Gaussian, Laguerre-Gaussian, Bessel, Ince-Gaussian, fiber LP modes, and more) on a discretized transverse grid.

PyPI version

License: BSD-3-Clause

Features

  • Mode generation: Hermite-Gaussian, Laguerre-Gaussian, Bessel, Gaussian-Bessel, Ince-Gaussian (even/odd/helical), fractional OAM, fiber LP modes, and geometric apertures (circle, square, triangle).
  • Propagation: Fresnel, Fraunhofer, and incoherent propagation methods.
  • Polarization: vector beams with Ex/Ey/Ez components, Jones-matrix optics (waveplates, polarizers).
  • Optical elements: lenses (spherical, astigmatic, tilted), slits, irises, and other amplitude/phase masks.
  • Analysis: power, intensity and phase profiles, centroid, beam size (std), angular sections, and modal decomposition (HG/LG/Bessel basis projections).
  • Holography: SLM and DMD hologram generation for experimental beam shaping.

Installation

pip install structured-optics

Quick start

import structured_optics as so

# Create a beam on a 10mm x 10mm (2*5e-3) grid with 512x512 points
beam = so.Beam(nix=5e-3, Dx=512, waist=1e-3, lamb=1064e-9)

# Set the field to a Laguerre-Gaussian mode with l=2, p=0
beam.lg(l=2, p=0)

# Propagate 10 cm using Fresnel Convolution
beam.propagate(z=0.1, method='fres_c')

# Look at the intensity profile
import matplotlib.pyplot as plt
plt.pcolormesh(beam.x, beam.y, beam.int_profile())
plt.colorbar()
plt.show()

Expected output:

LG20

Documentation

Full API documentation, including all mode types, propagation methods, and optical elements, is available at:

(https://altilano.github.io/structured-optics/)

Requirements

  • Python 3.9+
  • numpy
  • scipy
  • screeninfo

Contributing

Issues and pull requests are welcome at github.com/Altilano/structured-optics.

License

This project is licensed under the BSD-3-Clause License. See LICENSE for details.

Citation

To do

  • Documentation.
  • Benchmark and optimization.
  • Support for high NA focalization. (Non paraxial propagation, no scalar field)
  • Cuda and ROCm speed up.
  • Support for propagation inside linear medium.

Release files for structured-optics 0.6.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for structured-optics 0.6.2
File Size Uploaded
structured_optics-0.6.2.tar.gz 42.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for structured-optics 0.6.2
File Interpreter ABI Platform
structured_optics-0.6.2-py3-none-any.whl Python 3 none any Details

Total release size: 87.8 kB

Release files / structured_optics-0.6.2.tar.gz

Download URL structured_optics-0.6.2.tar.gz
Size 42.4 kB
Tags Source
SHA-256 checksum
How to use checksums
254f004101d15c7d19bd26d6af242d9eb8af0eeaf51d4a77491485a3d081a727
BLAKE2b-256 checksum
How to use checksums
d6e8295e84a2b0d3218e043d0ed3f6300350a48fb9abb0bff89d90786d04c51d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / structured_optics-0.6.2-py3-none-any.whl

Download URL structured_optics-0.6.2-py3-none-any.whl
Size 45.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
60d859c0b8bf38a965e0099f78008fc9efac142776a4fb511a3f8db5a650ef19
BLAKE2b-256 checksum
How to use checksums
9d45528cc8165c15dc766785b0e85cdf54075d1863c3c13e076b3f94e3b3c2c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release history Release notifications | RSS feed

0.6.3

2 release files

This release

0.6.2 This release

2 release files

0.6.1

2 release files

0.6

2 release files

0.5

2 release files

0.4.1

2 release files

0.4

2 release files

0.3

2 release files

0.2

2 release files

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page