## 4 Results
### User Operation Interfaces: Panel Scans and Scripting Tool  
The previous EPICS/CS-Studio system included a generic Table Scan feature that used a spreadsheet to set up a list of scans for batching measurement. However, the intuitiveness and ease of use of the generic Table Scan was limited. To provide more functional and straightforward interfaces to different users, we implemented a wizard-like GUI-based  
Figure 6: The Q-Range Planner. tool, Panel Scans, and a Scripting Tool with an improved scripting middle-layer library. Both can use the Q-range configurations generated from the Q-Range Planner introduced in the previous section. The SANS Panel Scans tool was designed based on earlier development of the SPICE GUI extension and other EPICS high-level scanning tools. It uses one instance of the Q-Range Planner and a six-step workflow (Figure 7) to guide users through the complex measurement planning process. This includes (1) checking or modifying individual Q-range configurations; (2) selecting up to four Q configurations in any order; (3) configuring sample environment variables; (4) keeping track of sample- and buffer-related variables for each sample changer slot; (5) specifying the exposure time for each combination of sample changer slot/Q configuration/sample environment variables; and (6) expanding the entire batch with all the details into a tabulated scan list. The scan list can then be simulated and tested before execution, submitted to the scan server to execute, and saved as a file for future reference. The guided workflow and clear steps of Panel Scans not only make the complex process more manageable and less overwhelming for even new users, but also encapsulate many thoughtful features and improvements within an appropriate sub-task context. These features include a user-friendly table view and visualization of Q-ranges (see Figure 8), generation of scripting snippets with Q-range configurations selected (Figure 8), support for both pre-configured and ad-hoc sample environment variables for routine and innovative experiments, standardized sample- and buffer-related metadata variables (still with customizable tags for automatic background association), and accommodation of flexible expanding orders. The system also provides a high degree of freedom for users to set up and change their measurements. For example, if users choose to submit each table row as a separate scan job, they can use the upgraded scan monitor to reorder or delete and resubmit queued scan jobs. In addition, the \"load sample\" step provides customizable sample information to obligate users to keep track of variants among different samples, which encourages good practices for accurate supplementary information and enables future automatic background matching in data reduction. Similarly, in Scripting Tool, the Scan Tools helper library also incorporates lessons learned from the legacy PyDAS, SPICE macros, and several early generations of home-developed EPICS Python middle layer libraries. It supports all Python features and additional scan-specific commands to be executed by scan server. The scientists worked together with the developers to ensure that the scripting library is easy to use for users  
Figure 7: The workflow laid out by different tabs in the Panel Scans interface (details on the workflow tabs are presented in the Supplemental Materials). with different levels of programming experience (see Figure 9). Other improvements that come with this implementation include converting other existing high-level scanning tools to use the same helper library, simplified and enhanced device configuration (including limits checking), and a simple screen for submitting scripts. Figure 8: Friendly table view and visualization of Q-ranges (highlighted by the upper red rectangle box), scripting snippets generating with Q-range configurations selected (lower red box). The example shows up to four Q setups at the same time.