A optical ray-tracing package, for design, optimisation and visualisation of mirror/lens systems.
Project description
Raypier is a non-sequential ray-tracing framework for modelling optical systems. Its main features are:
It’s pretty fast. The tracing algorithms are written in Cython (i.e. C) and use efficient data-structures for handling many thousands of rays.
Correctly handles polarisation
Support for dispersion including a comprehensive library of glass-types (taken from refractive-index.info) and diffraction-gratings
Point Spread Function (PSF) and E-Field evaluation by summation of of Gaussian modes.
Paraxial Gaussian mode evaluation covers generally astigmatic modes.
Tracing support for conics section and general aspherics (conic + polnomial)
An interactive user-interface with 3D model/ray rendering through VTK. Tracing is performed “live”.
A modest selection of optic-types including singlet and achromatic doublet lenses (with AR coating), plane-mirrors, ellipsoidal mirrors, prisms
STEP model/trace export for integration with external CAD systems
There are still a few “big” features missing:
The documentation is not comprehensive (yet).
Requirements
Raypier requires:
python-3.6 (older versions work on 2.7)
numpy
scipy
traits / traitsui
Cython
Mayavi (for TVTK) / VTK
(Optionally) PythonOCC - for STEP export
(Optionally) Chaco / Enable - for integrating line-plots into the UI
Installation
The best way to install and run Raypier is using a Conda environment.
Install miniconda (or the full Anaconda distribution)
Create a fresh conda-environment using the environment.yml file included in this raypier repo.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file raypier-0.2.3.tar.gz.
File metadata
- Download URL: raypier-0.2.3.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20201009 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7813e835f29cc4ffab4332785e1ccb49148c7433895a0fbd0f15dcaf2b4eb7a
|
|
| MD5 |
84e2e2561dc87d7de8b2e0f4aa65f74c
|
|
| BLAKE2b-256 |
82ed36a83491e8d97f3f225897efcedbc2be2352dd786bed11d92b5a6f070800
|