About UFO
Ultra-fast X-ray Imaging
Idea: Progress in recent years concerning X-ray optics, detector technology, and the tremendous increase of processing speed of commodity computational architectures gives rise to a paradigm shift in synchrotron X-ray imaging. UFO aims to enable a new type of smart experiment using the vast computational power of massively parallel computation units: On-line assessment of sample dynamics will enable active image-based control, allow an unprecedented image quality, and will provide insight into so far inaccessible scientific processes.
ufo-core
UFO is a multi-threaded, GPU-enabled and distributed data processing framework. It provides base classes, scheduler implementations and run-time management to describe a workflow as a graph of processing nodes. The nodes are implemented as plugins in the ufo-filters sister project.
The ufo-python-tools suite provides functions for better integration within Python-based projects. The ufo-scripts project is a collection of small programs for offline reconstruction of tomographic data using the UFO framework. A wide range of sample programs that test the framework can be found in the ufo-tests project.
ufo-filters
The repository of ufo-filters contains basic plugins used in combination with the UFO data processing framework.
- Data sources: TIFF and EDF reader, Metaball generator, libuca camera source
- Data filters: Averager, Flat-field correction, Cropping, Complex arithmetics, etc.
-
Data sinks: TIFF and EDF writer, Pipe connection
- Task Reference (description of each plugins property)
- Source Code
ufo-python-tools
The Python tools for UFO, are addons to make interaction with UFO easier:
- UFO and Numpy buffers can be converted freely between each other.
- It can become a daunting task to create tasks through the plugin manager, set configuration and hook up tasks one by one. The
ufo.Factory
class wraps the whole process in a concise way.
- Source Code
ufo-scripts
This repository contains data processing scripts to be used with the UFO framework. At the moment they are targeted at high-performance reconstruction of tomographic data sets.
ufo-tests
Integration tests for the UFO framework
libuca
libuca (short for Unified Camera access) is a GLib-based library to access two-dimensional pixel detectors. It gives the user a general interface to a variety of different cameras and camera types.
concert
Concert is a light-weight control system interface to control Tango and native devices. It can be used as a library or from a session and within an integrated IPython shell.
- Documentation
- Source Code
- The github repository concert-examples contains a set of sample sessions to show how things could be organized within a Concert session and how processes can be defined.
libpco
libpco is a library to access CameraLink-based cameras from German camera manufacturer PCO.