Odak (pronounced "O-dac") is the fundamental library for scientific computing in optical sciences. Odak includes modules for geometric 3D raytracing, 2D paraxial raytracing, Jones calculus, beam propagation and wave optics among with a set of tools to ease your pain in measurement, exporting/importing CAD, and visualization during a design process. We have generated a set of recipes that goes well with machine learning approaches compatible with torch
learning framework, which can also be found here. We have created a bunch of test scripts, a complete documentation, recordings and tutorials for inspiring the way you use odak and helping your design process. For computationally expensive tasks, we have created a distribution system to process tasks in parallel across multiple computing resources within the same network. Odak can either run using CPUs or can switch to NVIDIA GPUs automatically.
Odak can be installed using pip (Not recommended at this time):
pip3 install -i https://test.pypi.org/simple/ odak
Or you can also directly install using the source
pip3 install -r requirements.txt
python3 setup.py install
It is easy as in this recorded session. Import it to your code and start designing your next in Optics!
We prepared a bunch of test routines, which can also play a role in guidance during using Odak, you find these test scripts in here. If you need more then the test scripts, reach out using issues. Remember there are no stupid questions, there are stupid answers.
If you use Odak in a research project leading to a publication, please acknowledge this fact by using our ready-made bibtex citation entry.
Perhaps the best way is checking the issues section as a starter. If you have a specific point in mind and can't find it in the issues section, starting an issue accordingly is an another good starting point. If you think you have bigger plans in mind, here is my email kunguz at gmail dot com.