Page History
...
A few things to note about the different detectors / pyana modules:
Common configuration parameters
A few
...
parameters are common to all modules, and their default values are set to be the same, but can also be set individually for each module. They are the following:
Code Block | ||||
---|---|---|---|---|
| ||||
# parameter name default value comment
plot_every_n = |
...
100 # If 0, |
...
plot |
...
only |
...
at the end |
...
. Else, display every N events
fignum = 1 # |
...
|
...
matplotlib figure |
...
number |
pyana_plotter
...
This module is added to the end of the job, after other modules. It does nothing (yet) than control the display mode. Default is SlideShow mode. There's also a handle to allow you to use ipython at the end of the job (or after each plot) to investigate your plottet arrays further. This is not functional yet.
Code Block | ||||
---|---|---|---|---|
| ||||
display_mode = 2 # Interactive (1) or SlideShow (2) or NoDisplay (0)
ipython = False # Drop into ipython after each |
...
plot (to allow further investigation of data)
|
pyana_bld
This module collects data from the BeamLine Detectors (Bld) and plots them in separate windows. In SlideMode, the plots accumulate from one plot to the next.
To run this module by itself with pyana:
pyana -m XtcExplorer/src/pyana_waveform.py <xtc files>
...
Code Block | ||||
---|---|---|---|---|
| ||||
do_ebeam = False # Plot data from EBeam object
do_gasdetector = False # Plot data from GasDetector
do_phasecavity = False # Plot data from PhaseCavity
do_ipimb = False # Plot data from SharedIpimb
|
Beam energy and position. Gas detector energy measurements
pyana_waveform
...
Plots waveform data from Acqiris digitizers. Takes a list of addresses, currently will make one plot for each channel of each device.
To run this module by itself with pyana:
pyana -m XtcExplorer/src/pyana_waveform.py <xtc files>
Configurable options:
Code Block | ||||
---|---|---|---|---|
| ||||
sources = # string, space-separated list of addresses (Detector-Id|Device-ID)
|
pyana_cspad
...
CsPad data is reconstructed in pyana_cspad.py. The image plot value limits are adjusted automatically, but if
you want to change them, click on the color bar (left-click for low limit, right-click for high limit).
The successive events will be plotted with the new limits. Revert to the original by middle-clicking.
To run this module by itself with pyana:
pyana -m XtcExplorer/src/pyana_cspad.py <xtc files>
Options must be specified in a configuration file, or the default values will be used, e.g.:. Only the img_sources parameter is required.
Code Block | ||||
---|---|---|---|---|
| ||||
imageimg_sourcesources = # string, Address of Detector-Id|Device-ID dark_img_file = # filename, Dark image file to be loaded, if any out_img_file = # filename (If collecting: write the average image to this file) plot_vrange = # range=vmin-,vmax of values for plotting (pixel intensity) threshold = # lower threshold for image intensity in active threshold area of the plot thr_area = # active threshold area (range=xmin,xmax,ymin,ymax defining threshold area). None == whole image. |
| Image display of the CSPad detector, background subtracted. This is currently the only display that has interactive features. A filter allows you to select events within requested intensity range. |
pyana_image.py
This module processes generic camera frames, e.g from Pulnix TM6740 device. It allows any number of images, given as a space-separated list of addresses in the
...
configuration file.
- You can set ranges to define good images and dark images. If both are set, you have the option to display good images background subtracted, where background subtraction is based on the average of background images so far collected.
- Each image can be separately rotated, shifted and scaled (zoomed in/out).
- Nicknames can be given to the input images. Defaults are Im1, Im2... etc. These names will be used if you plot differences, or other manipulations of the original images.
- The images are subtracted and differences displayed as well as fourier transform of differences. Examples of what may be displayed. To display other things, at this stage you have to edit pyana_image.py to change this behaviour.
--Code Block none none image_addresses # address string of Detector-Id|Device-ID good_range # threshold values selecting images of interest (Format: low
--,high) dark_range # threshold values selecting dark images (Format: low
,high) image_rotations # rotation angle, in degrees, to be applied to image(s) image_shifts # npixel shifts, format (nx,ny), to be applied to image(s) image_scales # scale factor (float) to be applied to images image_nicknames # nicknames for plot titles image_manipulations # String containing keywords: Diff, FFT output_file # filename. Valid extensions are .hdf5, .txt (ascii) or .npy (numpy binary) n_hdf5 # if output file is hdf5, combine n events in each output file.
Displays of three different Pulnix TM6740 images of YAG screens, after rotation/translation. Also shown, differences between images and FFT of differences.
pyana_ipimb
Code Block | ||||
---|---|---|---|---|
| ||||
ipimb_addresses # list of IPIMB addresses
|
pyana_epics
Code Block | ||||
---|---|---|---|---|
| ||||
pv # Name(s) of the EPICS PV(s) to dump
|
pyana_scan
...
This module is different from the others. It does a "motor scan", displays certain values as a function of scan step of a motor scan. The motor name is given in the xtc file as the Control PV. There may be more than one control PV. It currently takes two scalar type inputs to evaluate the scan:
Code Block | ||||
---|---|---|---|---|
| ||||
input_epics # Name(s) of other scalars to correlate in scan
input_scalars # Name(s) of other scalars to correlate in scan
|
xtcscanner
This tool also belongs to the XtcExplorer package, and is used by the GUI. But the tool can also be run directly from the command line:
...