The yviewer is designed with the goal that the scan data saved by yviewer can also be viewed by the catcher/viewer program written in IDL. The yviewer is also able to process the scanSee 1D/2D/3D .mda files which are automatically saved by the IOC. It can be served as a tentative alternative scan visualization tool for catcher or scanSee.
Programs written in IDL are licensed package which is not free. While the programs written in python and yca is free of license and is free.
Currently yviewer is only available for UNIX system.
yviewer
Different function of yca progrom can be brought up by different menu of yviewer. Yca program is running sequentially depending on the event button clicked by users. A user has to close the pop-up child window before accesses another button in the same parent window. A user has to close the yca program as soon as it is no longer needed. If not careful few copies of yca can be brought up simultaneously, a user may be confused by too many windows opened by yviewer.
The main dialog consists of a menu bar and set of widgets which control the ascii report parameters.
The ascii report parameters include:
Radio Toggle Buttons Report FileType : scanSee / catcher1D /catcher2D Input Text Fields seq1: starting seq #, or a range of valid seq# list seq2: ending seq # 2D scan# : specify the 2D scan # for catcher image fileFor catcher 1D file seq1 and seq2 represent the 1D scan sequence number in data file. For catcher 2D image file seq1 and seq2 represent the 2D image sequence number in data file. For scanSee file seq1 and seq2 may represent the detector number or inner scan sequence number depends the data type addressed.
The seq1 field accepts flexible random numbers, if more than one number entered in seq1, the equivalent selected list will be regenerated and for each item in the list a yca report program will be submitted. For continuous range of sequence number using both seq1 and seq2 fields is more efficient than of using seq1 field only because only one yca report program will be submitted.
The main window menu bar includes following selection menus:
Open Viewer/ScanSee...- pops up Tkinter file selection window to pick any type of 1D/2D/3D scanSee or 1D/2D catcher file then start the appropriate yca function depending on the picked file Open Yca... - uses xterm window to start a yca interactive processor Quit - stops all subprocessors and quits the yviewer program
Setup... - dialog to setup scan1 and scan2 PV names to be monitored Save New... - dialog to pick a new catcher file and start Yca/catcher program with scan dialog window and two realtime windows Append Old... - dialog to pick an old catcher file and start Yca/catcher program with scan dialog window and two realtime windows Abort 1D - stop 1D scan immediately Abort 2D - stop 2D scan immediately Scan 1D - start 1D scan Scan 2D - start 2D scan
Generate Report... - dialog to pick a catcher or scanSee file and then start yca to run various report options based on filetype and seq# entered View Report... - dialog to pick an ascii file and then start the UNIX dtpad to display the text file
Reset - clear the seq1,seq2,and scan# fields Default Seq# - reset the seq1 and seq2 fields based on report type setting
Help - help text about main window CatcherScan - help text about catcher scan option Reset - help text about legible seq1,seq2 and scan# fields Default Seq# - help text about deault setting of seq1,seq2, and scan# fields
If the file ended with '.mda' scanSee file is assumed, if file ended with '.image' 2D catcher image file is assumed, all other file 1D catcher file is assumed. User has to make sure the correct type of file is passed into yca program.
For scanSee file: Refer the scanSee Interface section in the Yca document. For catcher 1D/2D file: Refer the catcher Interface section in Yca document.At the end of scanSee interface, the file selection dialog has an ".mda Scan..." button (as shown below) which allows the user to access the scanSee realtime scanning option. Currently it will only allow the owner of the scan record to start the scan through yca/scanSee program. The purpose is to prevent a user accidentally start other people's scan record. But if the outside CA client started the scan, yca should allow any user to view the crude realtime scanning. At the end of scanning, yca always provides the user an efficient tool to view the saved scan data.
pv1,pv2 - user scan record PV names Init - re-initialize the realtime parameters Show/View Scan... - displaying realtime scan data if scan is going on Done - close scanSee realtime dialog Start scan1... - start 1D scan if user same as the owner Start scan2... - start 2D scan if user same as the owner 85 toggle buttons - detector hide/show toggle buttons for 1D line plot (highlighted implies plotted)If the user is not same as the owner of the mda file, the 'Start scan1...'/ 'Start scan2...' will not work for the user, a user has to use the other method to start the scan (e.g. external medm client). Click the Show / Start buttons can display the realtime 1D/2D scan data after the scanning is invoked by any other client.
The user interface is given below:
filename - label to show 1D catcher file used Init - re-init scan record realtime information Start scan1... - start 1D scan and append scan data to 'filename' Start scan2... - start 2D scan and append 1D scan data to 'filename' at the end of 2D scan append 2D image data to 'filename.image' Done - done with catcher dialog and properly close yca program pv1,pv2 - label to show scan1 and scan2 PV names used Di buttons - 15 toggle buttons for setting detector realtime plot highlighted number implies the detector will be plotted default pick is detector 1 and 2 View1d... - invoke 1D viewer of catcher 1D data selection View2d... - invoke 2D image viewer of catcher 2D image selectionThe catcher_scanDialog program will check the user against the file write permission and the validity of the scan record. If error detected, error message in red will by displayed on scan dialog. A user has to correct the scan setup or pick another catcher file before doing catcher scan.
The Di buttons can not be reset during scanning, therefore a user must set Di buttons before starting the 1D/2D scan.
The yca output window will be closed normally by the "Done" button. For abnormal termination of yca please refer the previous setion of 'How to Stop Yca Program?'
A sub-directory "ASCII" at the current working directory will be created, all the ascii file created by yca will be stored under the "ASCII" sub-directory. The printed output of ascii file generation is recorded in the root window where yviewer was invoked.
There are three types of scan file supported by yca: catcher 1D file, catcher 2D image file, and scanSee mda file. A user has to make sure the picked file and the report type selection are consistant in report generation.