Page 88 - ILLS Annual Report 2018
P. 88

 PROJECTS AND TECHNIQUES DIVISION ACTIVITIES
Instrument control service P. Mutti (ILL)
The Instrument Control Service is exploring state-of-the-art computing technology to develop an alternative, virtual access mode for neutron experiments. We propose to merge existing instrument control software, computing and scientific software tools, advanced communication technology and modern 3D animation into a new virtual platform. Through a web portal, users will be able to connect to any instrument in the ILL suite via a digitally rendered twin of the instrument and its movements in real time. At the same time, thanks to an application such as vExp [1] (figure 1), users will be able to describe the composition and atomic structure
of a sample and explore its diffusion pattern directly in reciprocal space.
Once the interesting structures have been identified, it is possible to define the most appropriate trajectory for the instrument
for optimising data collection time. The desired settings are then sent directly to the instrument control software for execution.
REFERENCES
[1] P. Mutti, M. Boehm, Y. Le Goc and T. Weber, (2018) Proc. IEEE Nuclear Science Symposium
[2] T. Weber, R. Georgii and P. Böni, SoftwareX 5 (2016) 121
[3] M. Boehm, A. Filhol, Y. Raoul, J. Kulda, W. Schmidt, K. Schmalzl and
E. Farhi, Nucl. Instr. Meth. A 697 (2013) 40
Portability is the keyword for this entire system. To achieve this, we have chosen to use modern web technologies. For vEXP, we designed a web and a desktop application, both based on Node.js, HTML 5, CSS, WebGL. The desktop application uses Electron. This combines Node.js for the back end and HTML5 for the front end, the main advantage being the ability to share the maximum of code between the two applications. Only direct communication between the GUI and the functional part of the desktop application is replaced by sockets in the web application. Node.js is a JavaScript engine that uses the open source V8 JavaScript engine developed by Google. One advantage of using Node.js and V8 in the vEXP context is the ability to mix native code written in C++, when high computational performance is required, and JavaScript code. The 2D and 3D interactive rendering is achieved using WebGL API. For complex 3D animations, we have adopted the high-level library Three.JS. In this way, the display can be rendered directly in a browser (hidden in the desktop Electron application) without the kind of effort required for a traditional standalone application or plugin. Moreover, it provides access to a mathematical library in order to make 3D manipulation easier (linear algebra operations).
This platform is meant not to replace existing tools for instrument control, data sorting and data analysis, but to complement them. It provides a generic interface for importing, illustrating and sharing information relevant to the experiments. In parallel with the virtual platform we are exploring the usefulness of augmented reality in the instrument and experimental areas for scientists and technical staff on-site. First concepts of a virtual platform have been successfully tested based on experience
of existing single-crystal, inelastic neutron scattering software (TAKIN [2], vTAS [3]). NEVA is open source and platform- independent, and can be used with different instrumental techniques and at different facilities.
    ANNUAL REPORT 2018
Figure 1
A view of the graphical user interface of vExp.


















































































   86   87   88   89   90