pyNLO / PyNLO

Python package for nonlinear optics
https://pynlo.readthedocs.io/en/latest/
GNU General Public License v3.0
101 stars 55 forks source link

Including SHG FROG spectrogram calculation in PulseBase #43

Closed DanHickstein closed 7 years ago

DanHickstein commented 7 years ago

This PR attempts to incorporate a SHG frog calculation into the PulseBase.spectrogram function. Previously, the function calculated an XFROG spectrogram, and I extended it to calculate a SHG-FROG as well. I also included an example that shows how the XFROG and FROG spectrograms look for a simple NLSE propagation.

I will try to clean up this example and the spectrogram function before a merge. But, I wanted to start a PR to see if @ycasg had any suggestions.

gabeycas commented 7 years ago

The code here looks OK, and I think that the implementation is good. I am a bit wary of the idea of looking visually at synthetic SHG FROGs as a way of saying things about an experiment. For this task it would be infinitely preferable to use a blind retrieval algorithm. I think that if we told Rick Trebino about this he would not be pleased!

DanHickstein commented 7 years ago

My intention here wasn't to generate FROG spectra that would be in quantitative agreement with actual experimental data (I didn't even have FROG data when I wrote this code :) ), but just to get a sense of what time of qualitative changes take place in the SHG FROG when we change the input parameters to the supercontinuum generation process. I wanted to have some intuition about what the SHG FROG spectrogram would look like, specifically in the case of soliton fission and dispersive waves.

My guess is that Rick Trebino would be stoked. He often emphasizes how just looking at the raw spectrogram can give you some intuition about what is going on with your pulse: http://frog.gatech.edu/shg-frog-traces.html As long as we don't provide a function to calculate an autocorrelation, I think that Rick will be happy: http://www.swampoptics.com/assets/admanpcrthires.jpg