Welcome to PyMoDAQ-Femto documentation!
PyMoDAQ-Femto is an application that allows the temporal characterization of laser pulses (typically of femtosecond or picosecond duration). The module was initially developed for educational purposes in the framework of the international Femto-UP 2020 School. It has now turned into a tool used in several research laboratories.
PyMoDAQ-Femto is a 2-in-1 python application dealing with femtosecond laser pulse characterization. It features:
A user interface called Simulator to define short pulses and simulate the non-linear traces they yield. Most known characterization techniques are available (FROG, D-Scan, … see Available methods), and several non-linear processes are implemented for each of them.
A user interface called Retriever to run various retrieval algorithms on simulated or experimental traces (acquired using PyMoDAQ or other means)

Fig. 1 PyMoDAQ-Femto’s Simulator.
Both modules can be ran as stand-alone applications or plugged as an extension to PyMoDAQ. All together it produces a framework for complete temporal characterization of shaped ultrashort femtosecond pulses.
Information
GitHub repo: https://github.com/PyMoDAQ/pymodaq_femto
Documentation: http://pymodaq_femto.cnrs.fr/
Based on PyMoDAQ, the pypret library and the pyqtgraph
library.
PyMoDAQ-Femto is written by Sébastien Weber: sebastien.weber@cemes.fr and Romain Géneaux: romain.geneaux@cea.fr under a MIT license.
Contribution
If you want to contribute see this page: Contributors
Citation
The module is described at length in the following open-access paper:
Romain Géneaux and Sébastien Weber, “Femtosecond Pulse Shaping and Characterization: From Simulation to Experimental Pulse Retrieval Using a Python-Based User Friendly Interface”. In J. Léonard and C. Hirlimann (Eds.), Ultrafast Laser Technologies and Applications (pp. 111-128). EDP Sciences. https://doi.org/10.1051/978-2-7598-2719-0
If you publish results obtained with the help of the PyMoDAQ-Femto interface, we would appreciate your using this reference. In that way, you’re also helping in its promotion and amelioration.
Index
Contents:
- 1. Features
- 2. Installation
- 3. Simulator Module
- 4. Retriever Module
- 4.1. Launching the retriever
- 4.2. Overview of the retrieval procedure
- 4.3. Loading data
- 4.4. Pre-processing data
- 4.5. Running the retrieval algorithm
- 4.6. Analyzing results: metrics and propagation of the retrieved pulse
- 4.7. Saving and exporting data
- 4.8. Saving and recalling settings between sessions
- 5. Contributors