Links

Python4Photonics Repository

Some of the notebooks from the Labautomation Hackathons can be found in our gitlab repository.

Photonics projects using Python

Below is a list of photonics projects written in Python. If you like to have your project included please email us at Python4Photonics developers.

Digital Signal Processing/Equalisation

QAMpy
QAMpy is an open source DSP chain for simulation and equalisation of signals from optical communication transmissions. It is designed with performance in mind and runs a CMA equaliser in under 100 ms on a regular laptop.

Integrated Photonics Design

Nazca
Nazca is an open-source PIC design tool based on Python-3. Nazca can also run in Jupyter notebooks, using matplotlib to visualize mask layouts. Nazca also works well together with the high-end open-source Klayout mask viewer/editor, which is extremely popular in the photonics community. Nazca makes design simpler and more fun by adding many features critical for the designer to deliver high-quality designs efficiently in a Python environment. This ranges from embedding hierarchical design in the script syntax to visualisation schemes in mask layout.

EM simulations

CAMFR
CAMFR (CAvity Modelling FRamework) is a Python module providing a fast, flexible, full-vectorial Maxwell solver for electromagnetics simulations. Its main focus is on applications in the field of nanophotonics, like wavelength-scale microstructures (like photonic crystal devices, optical waveguides), lasers (like vertical-cavity surface-emitting lasers), light-emitting diodes (like resonant-cavity LEDs). It is based on a combination of eigenmode expansion (EME) and advanced boundary conditions like perfectly matched layers (PML).
EMpy
EMpy - Electromagnetic Python is a suite of algorithms widely known and used in electromagnetic problems and optics: the transfer matrix algorithm, the rigorous coupled wave analysis algorithm and more.