Transform limited pulse duration from emission cross section spectrum 
Hi there, I was wondering if anyone could give me some advice for a calculation in Python to model the minimum pulse length achievable with the emission spectra below. As an example in Ti:Sapphire one would expect a 30fs pulse (centered at 800nm with a bandwidth of 30nm). In that case the emission spectrum is more uniform than the below.
 A: There is no consensus on how to determine the transform limit of an emission peak.
The most commonly found way to calculate the transform limit is to take a gaussian fit around the peak of interest, but only to the base of the peak. For example, in your image (C), the emission peak around 1520, the base on the left would be between 0.25 (~1507) and 0.5 (~1517), depending on where you would truncate the spectrum. On the right, it would be at the bottom inflection point, around 1530.
However, another way would be to calculate a realistic inversion from the absorption and fluorescence spectra and use the part with a positive (gain) cross-section.
But again, there is not a consensus, because the TL will be dependent on many parameters of your laser.
EDIT: I see that maybe you are trying to get the transform limit of the whole spectrum. In that case, just take the emission spectrum data and do a Fourier transform (do not forget to properly convert the wavelength intensity to the frequency domain first!). Truncate the spectrum and make sure it goes down to zero on the wings. Also zero-pad your arrays to achieve the necessary time-frequency resolutions.
Nonetheless, I would like to add that a system with so many peaks would be a nightmare to have mode-locked over the whole spectrum as there will be mode/gain competition and you will never achieve a mode-locked output with the whole spectrum without serious engineering of the cavity properties (for example using mirrors that have a tailored reflection to smooth the gain-loss curve, but this limits the whole range of operability of the system...which in turn might hinder actual mode-locked performance, or make it unstable....ie, its a pain).
