1#pragma TextEncoding = "UTF-8"
3#pragma ModuleName = PearlMenu
21 help = {
"Data explorer panel with file import and preview",
"Requires ARPES package and HDF5 XOP"}
23 help = {
"Import area detector HDF5 data file",
"Requires ARPES package and HDF5 XOP"}
26 submenu
"On-the-Fly Data"
28 help = {
"Renames otf_xxxxxx_yyyyyy_zzzz data folders to otf_yyyyyy (removing date and suffix)",
"Requires Optics package"}
30 help = {
"Copies data from all otf_* folders into otf_batch folder",
"Requires Optics package"}
31 PearlMenuEnableFunc(
"PearlOpticsPreviewPanel") +
"OTF Preview", /Q, PearlOpticsPreviewPanel()
32 help = {
"Opens a preview panel for OTF data in otf_* folders",
"Requires Optics package"}
35 submenu
"Scienta Analyser"
37 help = {
"Display preview panel with latest image from Scienta",
"Requires ARPES package and EPICS XOP"}
39 help = {
"Preview of acquired angle scan data and current detection angles.",
"Requires ARPES package and EPICS XOP"}
41 help = {
"Live tracking and adjustment of sample position.",
"Requires ARPES package and EPICS XOP"}
46 help = {
"Display preview panel with latest image from Scienta",
"Requires ARPES package and EPICS XOP"}
48 help = {
"Display live panel of the exit slit camera",
"Requires ARPES package and EPICS XOP"}
53 help = {
"Profiles display of 2D data",
"Requires ARPES package"}
55 help = {
"Slice and profiles display of 3D data",
"Requires ARPES package"}
57 help = {
"Gizmo display of 3D data",
"Requires ARPES package"}
62 help = {
"Data processing of two-pi angle scans",
"Requires ARPES package"}
67 help = {
"Open an ELOG panel to send entries to an ELOG logbook"}
69 help = {
"Open a panel to send entries to a SciLog logbook"}
72 submenu
"Sample Preparation"
74 help = {
"Sample annealing ramp generator"}
79 help = {
"Data processing and analysis for ARPES experiments"}
81 help = {
"Process control for sample preparation"}
83 help = {
"Data processing and analysis for beamline commissioning"}
94 if (exists(funcname) >= 3)
102 execute /p/q/z "INSERTINCLUDE \"pearl-optics\""
103 execute /p/q/z "COMPILEPROCEDURES "
104 execute /p/q/z "BuildMenu \"PEARL\""
108 execute /p/q/z "INSERTINCLUDE \"pearl-arpes\""
109 execute /p/q/z "COMPILEPROCEDURES "
110 execute /p/q/z "BuildMenu \"PEARL\""
114 execute /p/q/z "INSERTINCLUDE \"pearl-preparation\""
115 execute /p/q/z "COMPILEPROCEDURES "
116 execute /p/q/z "BuildMenu \"PEARL\""
120 dfref dfBefore = GetDataFolderDFR()
121 Execute /q/z "CreateBrowser prompt=\"Select 2D wave\", showWaves=1, showVars=0, showStrs=0"
122 dfref dfAfter = GetDataFolderDFR()
123 SetDataFolder dfBefore
125 SVAR list = S_BrowserList
128 if ((flag != 0) && (ItemsInList(list) >= 1))
129 string brickname = StringFromList(0, list)
137 dfref dfBefore = GetDataFolderDFR()
138 Execute /q/z "CreateBrowser prompt=\"Select 3D wave\", showWaves=1, showVars=0, showStrs=0"
139 dfref dfAfter = GetDataFolderDFR()
140 SetDataFolder dfBefore
142 SVAR list = S_BrowserList
145 if ((flag != 0) && (ItemsInList(list) >= 1))
146 string brickname = StringFromList(0, list)
156 dfref dfBefore = GetDataFolderDFR()
157 Execute /q/z "CreateBrowser prompt=\"Select 3D wave\", showWaves=1, showVars=0, showStrs=0"
158 dfref dfAfter = GetDataFolderDFR()
159 SetDataFolder dfBefore
161 SVAR list = S_BrowserList
164 if ((flag != 0) && (ItemsInList(list) >= 1))
165 string brickname = StringFromList(0, list)
194 sprintf cmd, "ad_connect(\"%s\", \"%s\")", epicsname, nickname
200 sprintf cmd, "ModifyGraph wbRGB=%s", wbRGB
202 sprintf cmd, "add_roi_controls()"
227 sprintf cmd, "ad_connect(\"%s\", \"%s\")", epicsname, nickname
229 sprintf cmd, "display; appendimage root:pearl_epics:%s:image", nickname
231 sprintf cmd, "ModifyGraph wbRGB=%s", wbRGB
233 cmd = "ModifyGraph height={Plan,1,left,bottom}
"
245function PearlAnglescanTracker(epicsname, wbRGB)
252 sprintf cmd, "ModifyGraph wbRGB=%s
", wbRGB
264function PearlSampleTracker(action)
267 sprintf cmd, "sample_tracker(%u)
", action
variable asp_show_panel()
create the angle scan processing panel
variable ast_setup()
set up data structures, display graph, and try to connect to analyser.
string ad_display_brick(wave data)
open a new "gizmo" window with three-dimensional data.
string ad_display_profiles(wave image, string filter=defaultValue)
open a new profiles graph window.
variable ad_brick_slicer(wave data)
open a slicer panel for 3D data.
string ad_display_slice(wave data)
display three-dimensional data by 2D slice.
variable ad_load_dialog(string APathName)
load area detector data files selected in a file dialog window
variable pearl_data_explorer()
show the pearl data explorer window
variable pearl_elog(string logbook)
main function to initialize ELOG and to open an ELOG panel.
variable otf_rename_folders(string pattern, variable unique_index=defaultValue, string new_suffix=defaultValue, string match_str=defaultValue)
variable otf_gather_batch(string ywavematch, string xwavematch, string destfolder)
variable pearl_scilog(string logbook)
main function to initialize and open a SciLog panel.