Versions Compared

Key

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

...

The main objective of this session is to introduce and to explain the new Python interface for accessing LCLS data. This software framework is known as the "Interactive psana". The first idea of implementing such tool was suggested around 1.5 years ago at the joint PCDS/SRD meeting (look for Interactive Psana). Though its underlying machinery is largely based on the batch version of psana the interface to the data is simpler, more intuitive, and it requires less code to be written by a user in order to get to that CSPad image or that EPICS PV. The new framework won't work for everyone, specifically for those users who have either heavily invested into the modular code of the batch framework, or who need the performance of modules written in C++. Still our intent is to demonstrate the power of the new approach and to encourage using the tool where appropriate.

...

(warning) Users of pyana and myana, attention: The pyana and myana frameworks will be phased out at some point. As our understanding of what kind of analysis framework works better for the users and for ourselves as developers grew evolved, we realized that we needed to develop a tool which would have an easier interface to the data, a better internal architecture and be easier to maintain and extend for new data types. Hence we developed psana framework which has a number of advantages:

...

All data files are open for reading by anyone who can log onto PCDS LCLS computers. Moreover, those directories (like scratch/, ftc/) are open for writing by anyone. And yes, one can also see these experiments in the Web Portal.

...

Code Block
./dump_2x1_elements.py
./frame_reco.py
./frame_reco_calib.py

5

...

Custom HDF5 translator

Let's suppose the user doesn't want to use the standard HDF5 translator, but prefers to write a data extraction tool to extract a particular detector from XTC files and make the data available for further analysis in Matlab. At this point we should already know how to get images from the raw files using ipsana. Now the only remaining problem is to store them in some form which may be readable from Matlab. This example uses the PyTables package to dump numpy arrays into an HDF5 output file. This package is known for its simple API which doesn't require a user to learn the low-level library h5py.

The code for this example is found at:

Code Block

/reg/g/psdm/tutorials/common/hdf5_translator/

...

Wrapping up

Where to look for support

...