Skip to main content
SHARE
Publication

Neutron Scattering Experiment Automation with Python...

by Piotr A Zolnierczuk, Richard A Riedel
Publication Type
Conference Paper
Publication Date
Conference Name
2010 17th Real-Time Conference
Conference Location
Lisbon, Portugal
Conference Date
-

The Spallation Neutron Source (SNS) at Oak Ridge National Laboratory currently holds the Guinness World Record as the world most powerful pulsed spallation neutron source. Neutrons scattered off atomic nuclei in a sample yield important information about the position, motions, and magnetic properties of atoms in materials.
A neutron scattering experiment usually involves sample environment control (temperature, pressure, etc.), mechanical alignment (slits, sample and detector position), magnetic field controllers, neutron velocity selection (choppers) and neutron detectors.
The SNS Data Acquisition System (DAS) consists of real-time sub-system (detector read-out with custom electronics, chopper interface), data preprocessing (soft real-time) and a cluster of control and ancillary PCs. The real-time system runs FPGA firmware and programs running on PCs (C++, LabView) typically perform one task such as motor control and communicate via TCP/IP networks.
PyDas is a set of Python modules that are used to integrate various components of the SNS DAS system. It enables customized automation of neutron scattering experiments in a rapid and flexible manner. It provides wxPython GUIs for routine experiments as well as IPython command line scripting. Matplotlib and numpy are used for data presentation and simple analysis.
We will present an overview of SNS Data Acquisition System and PyDas architectures and implementation along with the examples of use. We will also discuss plans for future development as well as the challenges that have to be met while maintaining PyDas for 20+ different scientific instruments.