DataScripting is a data acquisition program with graphical user interface written in C# that is used as the instrument control program for the NIST Neutron Imaging Facility (NNIF) and the Cold Neutron Imaging Instrument (CNII). The program provides both access to fully control devices (such as imaging cameras, motorized stages, velocity selectors, etc.) and it also allows for a graphical construction of scripts to automate devices and collect data in any manner necessary.
Although the current program has certain devices built in, it is flexible enough for users to add new devices based on experimental equipment that they bring to the beamline. The only requirement is the device must send and receive commands through an RS232 serial port or an ethernet port. For seamless integration please contact facility staff ahead of time to go through the steps to integrate the control into the beamline software.
Controls devices like stages, velocity selectors, cameras, etc... that have software APIs or a computer communication port and protocol. It also records data produced by these devices with metadata about how the data was acquired.
Figure 1. Main tab of program showing the scripting elements in the lower half of the page. Users can add script loops that will execute a desired number of steps. Each loop can control one or more devices allowing many manipulations of devices for automated data acquisition.
Figure 2. This page shows devices added to the device tree that the user has access to. Each device can be controlled through the built-in control app feature and alternatively the operations can be automated through the scripting interface.