Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Set up your release work directory:
    You should always run this code from your own release working directory.
    See the Account Setup section to set up the analysis environment. Set up your release working directory from pslogin:
    Code Block
    none
    none
    [user@pslogin ~] newrel ana-current myrelease
    [user@pslogin ~] cd myrelease
    [user@pslogin myrelease] sit_setup
    

  2. Add the package:
    This step is optional. Since release ana-0.3.7, xtcexplorer has been built into the release so you can skip to (3).
    Checking out a local copy is beneficial, though! That will enable you to edit the source files and customise the analysis.

    You need an afs token to check out the package, so if you didn't already you need to run 'kinit' first:
    Code Block
    none
    none
    [user@pslogin myrelease] kinit
    Password for user@SLAC.STANFORD.EDU:
    
    Now you're ready to check out the package and "compile":
    Code Block
    none
    none
    [user@pslogin myrelease] addpkg XtcExplorer V00-01-05
    [user@pslogin myrelease] scons
    
    Note! If you omit the "tag" (VXX-XX-XX), you'll get the same version that's built into the release.
    Sometimes a more recent version exists. To get the latest and greatest version in the svn repository,
    instead do 'addpkg XtcExplorer HEAD', but be aware that it may look different from described here, and
    might have fresh bugs as well as new features.

  3. Run the program:
    Launch the GUI with the command 'xtcexplorer' and optionally give the input xtc files that you want to read
    as arguments. You can also browse to find files after launching the browser.

    To have access to the xtc files, you need to login to psana for this:
    Code Block
    [user@psanaXXX myrelease] sit_setup
    [user@psanaXXX myrelease] xtcexplorer /reg/d/psdm/CXI/cxi22010/xtc/e60-r0465-s0*
    
Info
  • If you encounter any problems, ask for help! Don't be stuck. This is supposed to be easy. If it's not, I did something wrong, so let me know! (smile) Send me an email (ofte at slac.stanford.edu)

  • xtcexplorer writes out pyana configuration files, based on selections made in the GUI. Look out for files with names xb_pyana_XXXX.cfg, where XXXX is a random four-digit number. You can use them to run pyana directly from the command line. But they accumulate, so you might want to remove these regularly...

  • LCLS data is very diverse, and not all features for all detectors are implemented (yet). Feel free to contact me if you have requests and suggestions.

Description of the GUIs

LCLS Xtc Explorer

...

Code Block
XtcExplorer/src/pyana_bld.py          # display of Beam-line data
XtcExplorer/src/pyana_cspadepics.py        # display of CsPadEpics imagePV data
XtcExplorer/src/pyana_imagescan.py           # display of motor scan data
XtcExplorer/src/pyana_encoder.py      # display of camera imageencoder data
XtcExplorer/src/pyana_ipimb.py        # display of diode data from IPIMB and PIM
XtcExplorer/src/pyana_waveform.py     # display of waveform data
XtcExplorer/src/pyana_epicscspad.py        # display of EpicsCsPad PVimage data
XtcExplorer/src/pyana_scanimage.py         # display of motorcamera scanimage data
XtcExplorer/src/pyana_plotter.py      # a plotter module to control the event display

...

Code Block
none
none
# parameter name   default value   commentcomment
  plot_every_n      = 100         # If 0, plot only at the end. Else, display every N events
  plot_everyaccumulate_n      = 0 100          # If 0, plotaccumulate onlyall at the end(no reset). Else, displayreset stored arrays every N events
  fignum            = 1           # matplotlib figure number

...

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.

  • If a threshold is provided, shots above threshold will be displayed / stored, and shots below
    threshold will be added to sum of darks for averaging.
  • If a dark file is provided, background subtraction is done before filtering. If not, the below-threshold
    average can be used for background subtraction

To run this module by itself with pyana:

...

Code Block
none
none
  img_sources       =             # string, Address of Detector-Id|Device-ID
  dark_img_file     =             # filename, Dark image file to be loaded, if any of a binary numpy (.npy) with dark image for subtraction
  out_imgavg_file      =             # filenamename (If collecting: write thebase) of output file for average image to this file(numpy array)
  plotout_shot_vrangefile       =             # range=vmin,vmaxname (base) of numpy array valuesfile for plotting (pixel intensity)selected single-shot events
  threshold  plot_vrange       =             # threshold for image intensity in active threshold area
  thr_arearange (format vmin:vmax) of values for plotting (pixel intensity)
  threshold          =             # activethreshold intensity and threshold area. (range=xmin,xmax,ymin,ymax). None == whole image. Format: value (xlow:xhigh,ylow:yhigh)

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.

Image Added Image Added Image Added Image Added

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.

...