High-Performance Real-Time FROG Pulse-Retrieval Software

While a great deal can be surmised directly from the spectrogram that is the measured FROG trace, it's helpful to have pulse-retrieval code to determine the pulse intensity and phase vs. time, the spectrum and spectral phase, and the stability of the pulse train (if a multi-shot measurement was made).  Fortunately, we have comprehensive real-time pulse-retrieval programs for all Swamp Optics FROGs and GRENOUILLEs developed by the original inventor of FROG code himself (Rick Trebino) and implemented by professional programmers, and engineered for ease of use.  The program continuously monitors the measured FROG trace and applies the FROG pulse-retrieval algorithm in real time, while simultaneously displaying the results of the retrieval.


The program retrieves all spatio-temporal information available from Swamp Optics' FROGs and GRENOUILLEs, including:


  • the pulse intensity and phase vs. time
  • the pulse spectrum and spectral phase vs. wavelength
  • the beam spatial profile
  • the pulse-front tilt
  • the approximate spatial chirp
  • the autocorrelation



All information about your device required by the FROG program, including the device calibration, is stored in the FROG or GRENOUILLE hardware and immediately read by the FROG program, so all you need to do is to simply connect the USB cable to your computer, start the program, and you're ready to start measuring pulses.


FROG-program front-panel all-information display showing measured pulses from a frequency-doubled fiber laser.


Program Temporal and Spatial Operating Modes


Temporal and spatial operating modes let you change how the FROG program handles your trace.  In the temporal mode, the FROG algorithm retrieves the pulse from the measured trace, and the laser pulse intensity and phase are recovered.  In the spatial mode, the code displays the beam spatial profile.  The spatial-profile mode can also be used to align the beam into the device in single-camera models.  For two-camera FROG and GRENOUILLE models, the FROG program can display both measurements simultaneously.

Additional Important Features of Our FROG Code

In addition to the above measurements, our FROG code also provides a full range of metrics, including:


  • the pulse temporal FWHM
  • the pulse spectral FWHM
  • the FWHM of the pulse autocorrelation
  • the FWHM pulse time-bandwidth product
  • the RMS pulse time-bandwidth product
  • the trace-area-normalized FROG error, G'


The trace-area-normalized FROG error, G', is an important improvement over previous FROG programs.  The old "FROG error" (G) is the rms difference between the measured and retrieved traces divided by the number of points in the trace.  It was first defined in the early 1990s by Rick Trebino and used by him mainly for algorithm development and never was intended to be used in experimental measurements.  But it was, and, now, over two decades later, it still is, even though it isn't appropriate for this application.  G' is an improved measure of measured- and retrieved-trace agreement.  G' is the rms difference between the two traces, normalized by the trace area, not the number of points in the trace, as in G in more primitive versions of the FROG code.  Unlike G, G' can be compared to—and should be equal to—the actual noise in the trace.  If G' exceeds the trace data average noise value, then it is likely that the measured pulse train is unstable.  As there is no independent check for pulse-train instability (FROG is the only known check for this problem!), this is an invaluable statistic!


In addition, the FROG program automatically checks for potential problems in the set up, such as saturation of the camera due to sending too much power into the FROG or GRENOUILLE.


The program also automatically adjusts for longer or shorter pulses, achieving the optimal trace window for any given pulse.


And it automatically subtracts off any unwanted background.  This is important for optimal results, as over-subtraction can yield a pulse that is too short and too narrowband, but under-subtraction can yield incorrect noisy background to the measured pulse's intensity vs. time.



The code can save the current state of the retrieval at any time. This includes:


  • the measured and retrieved FROG traces in both JPG and PNG image formats
  • the measured and retrieved FROG traces as an ASCII data file
  • the pulse intensity and phase as a function of time
  • the pulse intensity and phase as a function of wavelength
  • the pulse metrics



From a very user-friendly interface, the code can also:


  • pause and restart the data acquisition
  • pause and restart the algorithm
  • set the FROG trace center wavelength from the GUI front screen
  • change the camera calibrations
  • set the data collection parameters with a simple GUI interface
  • run in single shot mode: the program will capture a single frame and the perform the retrieval on it
  • display the raw camera signal, for alignment or to examine the spatial profile of the beam
  • display the "marginals," the sums of the FROG trace along the horizontal/vertical axes.



The spatial-profile camera-display window includes:


  • blank mode—simply shows the camera signal
  • alignment mode—superimposes a cross-hair/bull's-eye to aid in aligning the device
  • slice mode—two side-by-side windows show a slice through the pulse rather than the sums across the entire camera frame


Computer System Requirements

Windows XP Professional or later.


Customized FROG Retrieval Software Available

If you have particular needs for OEM integration or anything else, we can customize the software for you. We use Python-based interfaces, that can be conveniently customized by the end-user, if needed.


Contact us for further details.


FROG-program front-panel from our Python-based code.

Copyright © 2022 Swamp Optics, LLC. All Rights Reserved.