PyElli is an open source numerical solver for spectral ellipsometry employing well-known 2x2 and 4x4 algorithms. It is intended for a broad case of problems including simple fitting of layered structures, anisotropic layers and any other light interaction with layered 1D structures. It serves as a system for the day to day ellipsometry task at hand and is easily extendable with your own dispersion models, EMAs or solvers. Our goal is to provide a reproducible and flexible tool for the needs of scientists working with spectral ellipsometry.
- A multitude of models to approximate the dielectric function of your material.
- Use the vast library of materials from refractiveindex.info as reference materials.
- Build up your structure easily from materials and layers.
- Simulate reflection and transmission spectra, ellipsometric parameters and Mueller matrices.
- Utilities to quickly convert, plot and fit your measurement data.
- Powerful when necessary, editable and expandable.
The installers for all releases are available at the Python Package Index (PyPI).
To install run:
pip install pyElli[fitting]
This installs pyElli with the additional fitting capabilities and interactive widgets.
If don't want to have this functionality just drop the [fitting]
in the end.
A complete environment for pyElli is also available as a Docker Container. To pull and run it directly just execute
docker run -p 8888:8888 domna/pyelli
from your local docker install. After startup a link should appear in your console. Click it and you will be directed to a jupyter server with the latest release of pyElli available.
To install the latest development version use:
pip install "pyElli[fitting] @ git+https://github.com/PyEllips/pyElli.git"
The source code is hosted on GitHub, to manually install from source, clone the repository and run pip install -e .
in
the folder to install it in development mode:
git clone https://github.com/PyEllips/pyElli
cd pyElli
pip install -e .[fitting]
- Based on Olivier Castany's Berreman4x4
- Solver2x2 based on Steve Byrnes' tmm
- Mikhail Polyanskiy's refractiveindex.info database and Pavel Dmitriev's pyTMM for his importer script for the database