Versions Compared

Key

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

...

Module

Description

(tick) AppDataPath.py

Local version with added path to data from src directory.

(plus) BatchJobCorAna.py

 

(plus) BatchJobData.py

 

(tick) BatchJobPedestals.py

Class contains methods for batch job submission and monitoring for pedestals.

(plus) BatchLogParser.py

 

(plus) ConfigFileGenerator.py

Class has methods to generate psana configuration and other scripts from stubs located in CorAna/data/scripts/.

(tick) ConfigParameters.py

Base class for configuration parameters.

(plus) ConfigParametersCorAna.py

Sub-class for CorAna specific configuration parameters.

(plus) CorAnaUtils.py

Junk for eamples.

(plus) FileNameManager.py

Class dynamically generates all file names for current configuration parameters.

(plus) GUIAnaPartitions.py

 

(plus) GUIAnaSettings.py

 

(plus) GUIAnaSettingsLeft.py

 

(plus) GUIAnaSettingsOptions.py

 

(plus) GUIAnaSettingsRight.py

 

(plus) GUIBeamZeroPars.py

 

(tick) GUIBlamish.py

Sub-GUI of GUIFiles.py

(plus) GUICCDSettings.py

 

(plus) GUIConfigParameters.py

GUI for the configuration parameters file management.

(tick) GUIDark.py

Sub-GUI of GUIFiles.py - manipulations with dark runs

(tick) GUIData.py

 

(tick) GUIELogPostingDialog.py

Dialog window for submission of messages with attachments to ELog

(tick) GUIELogPostingFields

Widget with necessary fields for GUIELogPostingDialog

(tick) GUIFileBrowser.py

Text file browser for this project

(tick) GUIFiles.py

Central GUI for file settings contains tab-bar for other widget selection

(tick) GUIFlatField.py

Sub-GUI of GUIFiles.py

(tick) GUIHelp.py

WIdget for messages, i.e. help

(plus) GUIImgSizePosition.py

 

(plus) GUIInstrExpRun.py

depricated GUI

(tick) GUIIntensityMonitors.py

Control GUI for intensity monitors

(plus) GUIKineticMode.py

 

(plus) GUILoadResults.py

 

(tick) GUILogger.py

GUI for logger

(tick) GUIMain.py

The first GUI at start of this application

(tick) GUIMainSplit.py

The same as GUIMainTB.py with integrated GUILogger.py

(tick) GUIMainTB.py

The first GUI at start of this application with tab bar

(plus) GUINonKineticMode.py

 

(plus) GUIRun.py

 

(plus) GUISetupEnergyAngle.py

 

(plus) GUISetupInfo.py

 

(plus) GUISetupInfoLeft.py

 

(plus) GUISetupInfoRight.py

 

(plus) GUISetupPars.py

 

(plus) GUISpecularPars.py

 

(plus) GUISystemSettings.py

 

(plus) GUISystemSettingsLeft.py

 

(plus) GUISystemSettingsRight.py

 

(plus) GUITransmissionPars.py

 

(plus) GUIViewResults.py

 

(tick) GUIWorkResDirs.py

 

(plus) GlobalUtils.py

Module contains all possible global methods.

(info) ImgSpeNavToolBar.py

Re-implemented standard tool-bar (depricated)

(tick) Logger.py

Core class for logger

(info) Overlay.py

Demonstration of how to draw something on the top of GUI

(tick) PlotArray.py

Main class for array presentation plot

(tick) PlotArrayButtons.py

Widget for custom button-bar

(tick) PlotArrayWidget.py

Widget for graphical window

(tick) PlotImgSpe.py

Main class for interactive plot with custom button bar

(tick) PlotImgSpeButtons.py

Widget for custom button-bar

(tick) PlotImgSpeWidget.py

Graphical image for image and spectral histogram

(tick) PlotTime.py

Main class for time record presentation plot

(tick) PlotTimeWidget.py

Widget for graphical window

(plus) data/scripts/psana-*.cfg

Stub-scripts for ConfigFileGenerator.py

Status of the project

Status of the project on 2012-11-07

Updated on 2013-02-07

PSANA modules

For dark run pre-processing

Scaner

Runs in batch for the dark file to get preliminary information.
(tick) ImgAlgos.ImgTimeStampList

  • counts number of events in the file
  • makes file with time stamps
  • evaluate time intervals between frames (for dark run)

Pedestal

Runs in batch for the dark file to get averaged pedestals.
(tick) ImgAlgos.PrincetonImageProducer gets image from event as an ndarray object
(tick) ImgAlgos.Tahometer evaluates performance of the batch job
(tick) ImgAlgos.ImgAverage produces file with averaged image for given range of events.

For data pre-processing

Scaner

Runs in batch for the data file to get preliminary information.
(tick) ImgAlgos.Tahometer evaluates performance of the batch job, counts number of events in the data file
(tick) ImgAlgos.ImgTimeStampList makes file with time stamps and time record counters for tau
(tick) ImgAlgos.IntensityMonitorsData makes file with intensity monitor records

Average

Runs in batch for the data file to get averaged image
(tick) ImgAlgos.Tahometer evaluates performance of the batch job
(tick) ImgAlgos.PrincetonImageProducer gets image from event as an ndarray object
(tick) ImgAlgos.ImgAverage produces file with averaged image for given range of events
(minus) ImgAlgos::ImgMaskEvaluation - module is available, but needs to be included in psana.cfg file for evaluation of:

  • saturated mask
  • noise mask
  • combined mask

For data processing

Split

(tick) ImgAlgos.Tahometer
(tick) ImgAlgos.PrincetonImageProducer
(tick) ImgAlgos.ImgVsTimeSplitInFiles

Process

Data processing is implemented in stand alone (non-psana) modules
(tick) ImgAlgos.CorAna.cpp
(tick) ImgAlgos.CorAnaInputParameters.cpp
(tick) ImgAlgos.CorAnaData.cpp

Merge

(tick) CorAnaMergeFiles.cpp - saves binary file for float(32) with shape (Ntau,3,rows,cols), where 3 stands for <Ip>, <If>, and <Ip*If>
Can be acessed in python as

Code Block

    sp.cor_arr = np.fromfile(sp.fname, dtype=np.float32)
    <image-size> = rows * cols
    nptau = <file-size>/<image-size>/3
    sp.cor_arr.shape = (nptau, 3, rows, cols)

GUI

The system of GUIs, consisting of dozens of CorAna.GUI... modules is implemented in the draft approximation. Roughly it reproduces all features of the old program.

Input parameters GUIs

(tick)(plus) CorAna.GUI... most of them are available. Will be added or extended if necessary.
(tick) Files - define input files and do pre-processing
(tick) Setup Info
(tick) Analysis Info
(tick) System
(tick) Intensity Monitor (minus) needs to be used at processing stage

Run GUI

(tick) Input - short summary of input info for data processing
(tick) Split - control and monitoring for the 1-st stage of processing
(tick) Process - ... 2-nd stage ...
(tick) Merge - ... 3-nd stage ...
(tick) Auto - ... for all 3 stages ...

View Results GUI

Contains a set of control fields for presentation of results

Graphics

(tick) PlotArray*.py - for Intensity Monitors
(tick) PlotImgSpe*.py - for images, partition maps, masks etc.
(tick) PlotTime*.py - for time stamp monitoring
(tick) PlotG2*.py - G2 plot peresentation
(minus) Mask editors...

Infrastructural modules

Infrastructural modules provide basic infrastructure of the project.
(tick)(plus) (tick)(plus) The system of GUIs, consisting of dozens of CorAna.GUI... modules is implemented in the draft approximation. Roughly it reproduces all features of the old program.
(tick)(plus) Infrastructural modules ConfigParameters.py, ConfigParametersCorAna.py, and GUIConfigParameters.py provides convenient approach for maintenance of all configuration parameters.
(tick) Infrastructural modules Logger.py and GUILogger.py provides a generic approach to logging system.
(tick)(plus) Module ConfigFileGenerator.py use current settings of configuration parameters and stub-file scripts from CorAna/data/scripts/ and generates the psana configuration files.
(tick)(plus) Module FileNameManager.py is a single place which provides a dynamic file names for current version of the configuration parameters.
(tick)(plus) Module BatchJobPedestals.py is intended to prepare, submit, and monitor the butch job for pedestals evaluation.
(minus) BatchJobDataPreliminary.py - get the list of PV variables, available intensity moniotors, photon beam intensity etc.
(minus) BatchJobFlatField.py - to get the flat field averaged image if relevant run is available.
(minus) BatchJobCorAna.py - the batch job for main calculation algorithm.
(minus) Graphical presentation for masks, pedestals, averaged image, partitions etc.
(minus) Graphical editor for the regions of interest,
(minus) Graphical presentation and GUI for final results. GlobalUtils.py - global utilities for common operations
(tick) BatchJob.py - superclass for batch job submission
(tick) BatchJobPedestals.py - pre-processing for dark run files
(tick) BatchJobData.py - re-processing for data files
(tick) BatchJobCorAna.py - main data processing - calculation algorithm.

Global to-do list

Masks
(minus) Evaluation at data pre-processing the noisy and saturated pixel mask
(minus) Graphical editor for regions of interest
(minus) Graphical editor for blemish mask

Intensity monitors
(minus) needs to be used at processing stage

View Results
(minus) geometry for reflected beam
(plus) proper combination for total mask in ViewResults.py
(minus) fits

Progress

2012-11-05 – 2012-11-11 Week progress

...