Data Science and Systems Integration
Bluesky
All NSLS-II beamlines use the same standard software infrastructure to take, save, and analyze data. The combined system is called Bluesky. Bluesky is a python-based library for experiment control and collection of scientific data and metadata. It includes the following features:
- Live, Streaming Data: Available for inline visualization and processing.
- Rich Metadata: Captured and organized to facilitate reproducibility and searchability.
- Experiment Generality: Seamlessly reuse a procedure on completely different hardware.
- Interruption Recovery: Experiments are “rewindable,” recovering cleanly from interruptions.
- Automated Suspend/Resume: Experiments can be run unattended, automatically suspending and resuming if needed.
- Pluggable I/O: Export data (live) into any desired format or database.
- Customizability: Integrate custom experimental procedures and commands and get the I/O and interruption features for free.
- Integration with Scientific Python: Interface naturally with NumPy and Python scientific stack.
Learn more about Bluesky's capabilities on its official website. You will also find further instructions on how to access Bluesky and your data on the documentation website.
EPICS

NSLS-II uses EPICS to operate all of the major devices within the accelerator complex and beamline experiments. EPICS provides a software infrastructure for building distributed control systems that are typically comprised of tens, or even hundreds, of computers, networked together to allow communication, feedback, and control of the various parts. It allows the control of all these devices from a central control room or even remotely over the internet.
In 2018, NSLS-II offered a comprehensive EPICS workshop as part of an EPICS Training for local beamline staff and developers. All classes have been recorded and can be found on the NSLS-II EPICS Lecture Series website.
Learn more about EPICS on its official website.
Control System Studio

Control System Studio is a collection of tools and applications that is used at NSLS-II to monitor and operate the systems of both the accelerator and the experimental instruments.
Phoebus is a pure java/javafx based implementation which uses java features like SPI and modules to provide the same extensible and modular architecture. This is the current implementation of CS-Studio. The original implementation of CS-Studio is based on the eclipse RCP framework which provided an extensible and pluggable architecture.
The Phoebus and CS-Studio products are developed and maintained by a collaboration between many laboratories and universities, including NSLS-II.
Learn more about Phoebus and CS-Studio on its official website.