Frequency-resolved optical gating (FROG)

An extension of Adam Wyatt's MATLAB FROG program. Various features include anti-aliasing algorithm.
Updated 24 Feb 2012

View License

I started with Adam Wyatt's FROG program (on this website) but added to it and edited it beyond recognition. I did, however, subtract one useful feature: This program, as written, is SHG-FROG and GRENOUILLE only!! (Adam Wyatt's program was more general.)

--> The program "prepFROG" takes a raw image from the CCD, smooths it, subtracts the background, and re-samples it to be ready for the FROG algorithm. Also helpful is the "mirror" program: Since SHG-FROG images are mirror-symmetric, this program can copy one half of the image onto the other half in case one half was cropped or corrupted.

--> The program "svdFROG" runs the "power method" (SVD-based) FROG algorithm, reconstructing a pulse from a FROG trace. (Uses subprograms "guesspulse" and "makeFROG".) Actually has many different choices for algorithms, which is useful for complex pulses that do not necessarily converge the first try: You can perform singular-value decomposition in either the time-domain or frequency-domain (or switch back and forth), and there are anti-aliasing options to avoid having to use an excessive number of datapoints (which slows down the algorithm). (If you don't need these fancy features, just ignore them. The program will run the "standard" power-method FROG algorithm by default.)

Cite As

Steven Byrnes (2024). Frequency-resolved optical gating (FROG) (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Biomedical Imaging in Help Center and MATLAB Answers

Inspired by: Frequency-resolved optical gating (FROG)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

I had forgotten to implement the default option for the "flip" argument in prepFROG. Also, slightly expanded prepFROG documentation, and website description.