Importing Data¶
It is very easy to import data into skultrafast, since all what skultrafast requires are numpy arrays. There writing a loader function using Python should be straight forward.
skultrafast also offer various methods for data pre-processing. Currently, the package focus is on working with data from MessPy, the software for controlling the experiments in our lab.
A tutorial can be found under Messpy v1 Example.
Working with MessPy-files¶
MessPy saves the data in .npz
file. All data preprocessing and averaging is
now done via the messpy.MessPyFile
class.
The file format of MessPy is a .npz
file, containing three arrays. The
wavelength, the delay-times in fs and the data. The shape of the data-array is
explained in my PhD-thesis. Loading MessPy is done via the MessPyFile
-class.
The constructor takes all necessary information to average the data down into
datasets.
This is done via MessPyFile.average_scans
, which either returns a
TimeResSpec
or dict of TimeResSpec
’s. For data recorded after 2017, the
following recipes should work.
How to load data from Vis-pump Vis-Probe data, not polarisation resolved?:
mf = MessPyFile(file_name, valid_channel=0, is_pol_resolved=False) data_set
= mf.average_scans()
How to load data from Vis-pump Vis-Probe data, polarisation resolved? For that we need to know the polarisation of the first scan. The code assumes, that the polarization of is switched every scan:
mf = MessPyFile(file_name, valid_channel=0, is_pol_resolve=True,
pol_first_scan='perp') #or 'para'
data_set_dict = mf.average_scans()
How to load data from IR-Probe setup? Same as above, but with
valid_channel=1
, since the zeroth channel contains the unreferenced data.