Skip to content

Latest commit

 

History

History
74 lines (45 loc) · 3.33 KB

README.md

File metadata and controls

74 lines (45 loc) · 3.33 KB

shg_frog

MIT licensed

Software for measurement and characterization of ultra-fast laser pulses using the SHG FROG technique.

Want to know more about FROG? R. Trebino, Frequency-Resolved Optical Gating: the Measurement of Ultrashort Laser Pulses, Kluwer, Boston (2002)

Commercial devices exist, but are rather expensive. A home-built device can save a lot of money. The code in this repository provides:

  • A graphical user interface for the measurement of the so-called FROG trace.
  • The possibility to choose between two different phase retrieval algorithms:
  • A list of possible hardware components that integrate nicely with this software. But also alternative devices can be used and easily integrated.

The main window:

frog_gui_main

The phase retrieval window:

frog_gui_retrieval

Setting up

Software dependencies

  • Python version >= 3.10

Download and start

Install the FROG software (ideally in a virtual python environment) by

pip install git+https://github.com/UCBoulder/shg_frog.git

Run it by

shg_frog [-h]

with '-h' to see available options.

After you started the software once, you will have a .frog_config folder in your home directory. It contains a config.yml file that should be adapted to your setup.

Measurement data will be saved into a frog_datafolder, also in your home directory.

Upon startup you will have example data loaded which you can use for a first pulse reconstruction. This is overwritten as soon as you do a measurement.

Notes on Terminology and Parameter options

Phase Retrieval

  • The GP algorithm gives generally better results with a lower error (G in the phase retrieval GUI). In some cases, however, it does not converge. In these cases the ptychographic algorithm provides a solution.
  • The "prepFrog" parameter should be 128 unless modifications to the Phase Retrieval GUI are made.

Stage

  • Offset refers to the stage position (i.e. mirror position) at which the FROG signal is maximum and is the point around which the FROG trace is measured, over a range specified by "Number of steps" and "Step size".

Hardware

The original code by jkrauth is written to use a camera and dispersive element to resolve the spectrum. Here, we use our own hardware_comms package to adapt the program to use a more general stage and spectrometer. To use this program with different hardware, simply extend the LinearMotor and Spectrometer classes from hardware_comms and update the connect_devices() method. Remember to check you units!