PyFROG

PyFROG

pyfrog is an open-source Python toolkit for Frequency-Resolved Optical Gating (FROG), a technique used to reconstruct the intensity and phase of ultrashort laser pulses from measured traces. It brings several established retrieval approaches into one package, including Generalized Projections, Vanilla FROG, PCGP, and XFROG, with support for common measurement geometries such as SHG, PG, and THG.

The project combines a scientific Python library with a Tkinter desktop interface. Users can load existing FROG data or generate synthetic pulses and traces, run a reconstruction, and inspect results such as the recovered field, spectrum, pulse widths, and retrieval error. It also reads and writes common Trebino .frg and .dat formats, making it useful for both exploring the method and working with existing data.

Under the hood, pyfrog carefully follows conventions used by established FROG implementations, including centered FFTs and their error metrics. Its algorithms are ported from reference implementations, and the repository includes example traces and tests that compare retrieval quality against reference results.

Written on November 10, 2026