Features
Calibration Management Tool is intended to help in population of the calibration database. Most of imaging devices need in intensity corrections such as dark rate subtraction, per-pixel gain factor, masking of bad pixels etc. Some of imaging devices composed of separate sensors (a.k.a. tiles, segments, pixel matrices, etc.) such as CSPAD need in pixel geometry calibration parameters. There are many separate scripts based on python, psana framework, etc. which allow to get calibration files for different imaging devices. However, it is not easy to set correct parameters in order to run these scripts. One has to be careful in selection of input experiment name, run number, device name(s), to set correct chain of processing algorithms, and finally define the correct destination path for calibration files. Calibration Management Tool greatly simplify this task. It is designed to integrate access to many separate scripts under single Graphical User Interface (GUI), it knows about all possible variables and names, which can be selected from drop down menus, it helps to perform calibration and deploy calibration files in correct final directory with correct names.
Calibration Management Tool main functionality can be listed as follows:
- helps to select and set instrument, experiment, and detector(s) which need to be calibrated,
- easy switch between different tools such as Dark, Gain, Geometry calibration, ROI mask editor, File manager, etc. (not necessarily all of them are implemented),
- issue necessary commands to OS or submit jobs in batch to perform calibration algorithms on data and get files with calibration parameters,
- perform control and monitoring of the batch jobs,
- perform monitoring of the calibration file quality,
- deploy obtained or available calibration files in right sub-directories under
/reg/d/psdm/<instrument>/<experiment>/calib/
with right names associated with a run range.
Users' Interface
User Interface (UI) of the Calibration Management Tool is implemented in Python using PyQt4
, matplotlib
, and other packages. Main window of the UI shows up at start of calibman
application. Its content may be different for the first and next sessions; current session status is preserved in configuration file at exit and restored at start of the next session (if this option is elected in configuration parameters). For example, UI with Dark tool is shown below.
Main window of UI consists of three panels from top to bottom:
- Instrument/Experiment/Detector selection panel,
- Tab-bar with switching application panel,
- Log-book information panel.
Instrument/Experiment/Detector selection panel
This panel contains three selection buttons with preceded labels for
Instrument
,Experiment
, andDetector
,
which help to set associated parameters. Each of these buttons must be sequentially clicked and desired value should be selected from drop-down menu. After experiment name is selected, the default calibration directory appears in the next-right information field. This top-level calibration directory will be used as a destination path for deployment of all calibration files. Optional button Browser
launch directory selection dialog window which allows to set different from default destination calibration directory. At first setting the sequence of operations in this panel is guided by the next enabled green button. Already enabled buttons can be re-selected at any time. For tools like Dark or Gain the list of calibrated detectors is selected by the check boxes in the pop-up panel
and the title of the Detector button shows how many detectors are selected. For File Manager tool only one detector should be selected.
Parameters of this panel must be set before any other actions with Calibration Manager.
Log-book panel
Log-book panel is located in the bottom of the main window. It is intended as a global information panel in order to minimize a number of specific information fields. Records and messages at variation of status or at clicks on information buttons are posted in this panel. At the end of each session content of this panel is saved under work directory in the log-file with name containing start session time stamp.
Status panel
Status panel shows up in a few applications such as Dark, File Manager, etc. on the top of application space. In most cases it shows content of the calibration directory for specified list of detectors. For each calibration file its effective run range is shown next right to its name. The effective run range is presented by two numbers, begin run and end run of the range. Run ranges may overlap for different files. If this happens, files from bottom side have higher priority.
Tab-bar for tool selection
Tab-bar allows to switch between different applications. Completely implemented applications under tabs:
Dark
This tool is intended to produce calibration files for pedestals (dark level) from dark runs and deploy them in correct place in calibration directory. In parallel hot pixel masks are produced and can be also deployed.
Dark panel is activated at click on Dark tab. It consists of
Control bar contains
- buttons for list of runs filter by the run type and detector type and
- check box for deployment of the hot pixel mask in parallel with averaged dark
List of run items panel consists of records for each run in "regular" - short or "expert" - extended mode.
Each run item in "regular" mode contains
- button with triangle sign to switch between "regular" and "expert" mode of the run item,
- run number
- two fields to set run validity range for output calibration file
- button Go - submits job in batch for evaluation of pedestals and hot pixel mask
- button Deploy - shows up when butch job is completed successfully and all files for deployment are available.
Expert mode contains more information buttons for each run item
- xtc Files - prints in the Log book panel the list of available xtc files,
- Sources DB - prints in the Log book panel the list of available data sources found in DB,
- Sources XTC - prints in the Log book panel the list of available data sources found at the xtc file scan,
- O/Files - prints in the Log book panel the list of files associated with dark run processing and their current status,
- Show cmd - prints in the Log book panel the list of deployment commands, and
- More options check box - if it is marked then more buttons show up:
- View - launch text-file viewer and
- Plot - plots image from selected from pop-up menu file. In case of files containing CSPAD array with shape=[32*185,388] image is currently generated as a table for all sensors:
ROI
Application panel under ROI (Region Of Interest) tab has a minimal number of control fields, which allow to specify the file with image and open/close Mask Editor UI in separate window.
When launched, Mask Editor works as completely independent application. The Mask Editor allows to draw on image any number of a few geometry figure types and finally generate and save positive or negative mask for loaded image.
File Manager
File manager tool consists of Status panel and control panel:
File manager control panel contains a set of control fields with functionality as follows.
- Button Browse - launches the file selection window which helps to select any calibration file in any location. Location is hinted in the intermediate pop-up window. Selected file is displayed in the next-left information field.
- View button - opens/closes the file viewer in separate window.
- Plot buttons - opens/closes the plotter window and plots the file as 2-d image (if applicable).
- Delete button - deletes the selected file from disc.
- Move/Copy buttons - perform associated actions on selected file. The destination directory and file name is defined by the Instrument/Experiment/Detector selection panel and next-right filelds:
- for detector selection button - sets the destination detector name from drop down menu,
- calibration type selection button - sets the destination calibration type, and
- two editable fields - set the run range for destination calibrationfile.
Configuration
Configuration tool has its own tab bar switching between panels with sets of parameters.
Two panels are implemented currently:
Configuration Parameters
This panel has a few active fields:
- Dir work button - launch directory selection window for
work
directory. Selected directory shows up in the next right information field. - Dir results button - launch directory selection window for
results
directory. Selected directory shows up in the next right information field. This directory is not currently in use. - File prefix editable field - sets common prefix of all files created in the work directory, excluding the log file.
- Queue combo box - sets the queue name for batch jobs from available list containing psnehq, psfehq, etc.
- Event start/end editable fields - set the first and last event in current run for calibration processing job.
- Threshold, ADU editable field - sets the threshold on RMS in ADU (Analog to Digit Units) for hot pixel mask. If RMS for pixel exceeds this threshold - pixel is marked as hot in the hot pixel mask file.
- Deploy hotpix mask check box - if checked - hotpixel mask file will be deployed along with pedestal file at click on Deploy button in the List of run items.
Configuration File
This panel is intended for manipulation with configuration file, which contains a list of configuration parameters for entire project. The panel has a few active fields:
- File button and next right editable field - allows to select/type-in the configuration file name.
- Read, Save, Reset default buttons - perform associated operations on parameters at click.
- Print current - dumps current list of configuration parameters in the Log-book panel.
Confirmation windows
There is a bunch of confirmation popup windows with modal-style dialog. Appropriate selection need to be done by clicking on possible continuation buttons.
Modal dialog assumes that one of the buttons in this type of dialog window need to be clicked, otherwise UI will be frozen.
Project status
Current status corresponds to:
relinfo Pkg/Rel TEST BASE(ana-0.10.10) CalibManager HEAD V00-00-10
Completely implemented applications under tabs:
- Dark
- ROI
- File Manager
- Configuration
How to get and run calibman
Run application in current release
If there is no known recent changes in the code of the project, then it may be launched using current release (≥ ana-0.10.10) from any directory :
cd <your-favorite-directory>; sit_setup; calibman;
Get latest version, compile, and run
The latest version of this application with recent modifications for packages can be created and executed from the local release directory. Login to psana, then run use commands with appropriate substitutions for <...> fields:
cd <your-favorite-test-directory>; newrel ana-current test-CalibManager; cd test-CalibManager; sit_setup; addpkg CalibManager HEAD; addpkg <package2> HEAD; addpkg <package3> HEAD; ... scons; calibman;
What to do next
- Set correct queue which will be used for batch jobs: click on tabs: Configuration -> Parameters, select Queue combo box.
- Click on tab Dark.
- Set Instrument, Experiment, from combo boxes and click on Select button to select Detector(s) from pop-up window.
- Set filter for runs using combo boxes to the right from labels Show runs and for detectors.
- For runs in the table, which you want to calibrate, click on button Go, relax and wait until button Deploy show-up to the right from button. A few buttons Go can be clicked sequentially for different runs in order to run appropriate jobs in batch simultaneously.
- Change validity range if necessary, click on Deploy button. If everything is ok, it is done!
Known problems and ways around
World is not perfect. Anything may happen during this long workflow. Expert mode sheds light on most of the problems. Here is a list of most frequent problems;
- AFS token is expired for your terminal session. Batch system will complain. Before launching
calibman
application, first executekinit
andaklog
commands. - job on data from NEH/FEH are submitted to the wrong butch queue psfehq/psnehq. Set appropriate queue.
- DB has a list of sources (detectors) which does not coincide with what is written in xtc file. After job is submitted, check the list of detectors found in xtc scan and check only available detectors in the Detector selection menu.
References
Calibration management tool developement notes
Description of
Calibration database- Mask Editorbutton