Introduction#

croak (Complete Retrieval by Optimisation and Adjoint Kernels) recovers the spectral amplitude and phase of an ultrashort pulse from a FROG measurement. A retrieval finds the pulse whose predicted trace best matches the data; what that pulse means depends on how faithfully the forward model describes the instrument, which is why croak offers models of the measurement beyond the usual thin, non-dispersive nonlinear medium.

This introduction is a learning sequence. Install croak, see what it can do, choose between the graphical and the script interface, then work through the Quickstart and three tutorials: a synthetic retrieval, propagation through a dispersive medium, and a complete measurement workflow. The workflow tutorial uses synthetic data, so you can follow it without a measurement of your own.

Install croak#

Both routes install the same library and need Python 3.14 or later; uv can provide that Python for you.

  • Graphical interface only: follow Installing the GUI. It installs a croak-gui command and needs no Python knowledge.

  • Python library: follow Installation for project environments, optional extras, supported platforms, GPUs and installation from a source checkout (needed for the bundled example scripts).

The user guide develops the practical and scientific background for each step. Use the examples to explore a particular problem, the API to look up a Python argument, the glossary for terminology and the references for the papers behind the methods. Contributors will find the development checks in the developer’s guide.