Page History
...
XTCAV analysis is a three step process involving "dark", "lasing off", and "lasing on" runs. First, we process dark runs, which are runs without any electron bunches. We take the average of a series of dark run images to get the general pixel values of the camera background. We can then subtract this "average image" from the lasing on and off runs to get a closer approximation of the actual energy of the electron bunches. We then process the lasing off runs, which are images of electron bunches without any lasing. We take a series of these images, subtract the average background (from previous step), and zero-out all noise around the region of interest. From this cleaned up image, we can calculate the electron current, the energy dispersion and center of mass, and other physical properties of the electron bunch. We then cluster together these lasing off images into an (optimally or manually chosen) number of groups based of of the electron current. The properties of these profiles are then averaged to create an aggregate lasing off profile. This is done to help reduce noise in the image as well as to speed up the process of choosing a lasing off reference in the lasing on analysis (discussed next). For the lasing on runs, we process each image individually in a similar manner to the lasing off images. Once we calculate the physical properties, we choose an aggregated lasing off profile with the most similar electron current. Then, using either the energy loss or energy spread methods, we can calculate the power of the electron bunch. Then, for each of the following, an example (from amox23616) of the command
used and outputHere are some examples of command line tools and output using the scripts located in xtcav/bin:
Dark
Code Block | ||
---|---|---|
| ||
xtcavDark amox23616 104 --max_shots 400 |
Lasing Off
...
Output
Code Block | ||
---|---|---|
| ||
dark background reference
Experiment: amox23616
Run: 104
Valid shots to process: 400
100.0 % done, 400 / 400
Maximum number of images processed |
Lasing Off
Code Block | ||
---|---|---|
| ||
xtcavLasingOff amox23616 131 --max_shots 200 |
Output
Code Block | ||
---|---|---|
| ||
Lasing off reference
Experiment: amox23616
Runs: 131
Number of bunches: 1
Valid shots to process: 200
Dark reference run: None
100.0 % done, 200 / 200
Averaging lasing off profiles into 12 groups.
|
Lasing On
Code Block | ||
---|---|---|
| ||
xtcavLasingOn amox23616 137 --max_shots 5 |
Output
Code Block | ||
---|---|---|
| ||
Using file 104-end.data for dark reference
Using file 131-end.data for lasing off reference
Agreement: 91.4276%; Maximum power: 6.64857; GW Pulse Delay: 18.512
Agreement: 91.1052%; Maximum power: 5.82139; GW Pulse Delay: 20.6758
Agreement: 93.136%; Maximum power: 4.88641; GW Pulse Delay: 18.0389
Agreement: 94.1173%; Maximum power: 6.76523; GW Pulse Delay: 16.2321
Agreement: 92.9344%; Maximum power: 7.14828; GW Pulse Delay: 11.2065
|
Analysis Setup
Two things must be done before XTCAV analysis will function: a "dark run" must be analyzed to get the pedestal values for cameras, and a "no lasing" run must be analyzed to generate sets of "no lasing" images (the latter is quite a complex process). Note that for demonstration these first two scripts write constants to a "local" calibration directory called "calib". For a real-experiment you won't need these lines because you will have permission to write to your official experiment calibration-constants directory.
...