OOMAO, the Object-Oriented Matlab Adaptive Optics Simulator is nowadays the de-facto mostly used AO numerical environment embedding tailored features for
i) physical-optics Monte-Carlo simulations,
ii) analytic AO studies and
iii) driving hardware-in-the-loop optical experiments interfacing seamlessly with bench setups.
Its object-oriented structure gives it a great flexibility whilst benefiting from Matlab built-in hardware-acceleration support (parallel computing on multi-cores, GPU acceleration, vectorisation). Salient features are :
- Simple operator-based syntax similar to Matlab’s syntax for matrix manipulation
- Extensible thanks to the object-oriented nature of the library (classes can be built on top of existing OOMAO base classes)
- Efficient swap from soft WFS/DM to hard WFS/DM both using the same data processing routines facilitating experiment modeling and debugging
Since the first paper on OOMAO (Conan&Correia, SPIE 2014) the development has boomed in terms of new wave-front sensors, segmented mirrors, tomographic reconstructors, matrix-free models, turbulence profiling, post-processing techniques (and counting). OOMAO is currently used to aid designs on metre-class apertures mostly for space applications, 10-m class ground based telescopes as well as Giant Segmented Mirror Telescopes (GSMTs).