Skip to main content Skip to main navigation

Publication

Ettention: building blocks for iterative reconstruction algorithms

Tim Dahmen; Lukas Marsalek; Nico Marniok; Beata Turonova; Sviatoslav Bogachev; Patrick Trampert; Stefan Nickels; Philipp Slusallek
In: Proceedings of Microscopy & Microanalysis 2015. Microscopy & Microanalysis (M&M-2015), August 2-6, Portland, OR, USA, Vol. 21, No. S3, MSA, 8/2015.

Abstract

We present a novel software package for tomographic reconstruction in electron microscopy, named Ettention [1]. The software consists of a set of modular building-blocks for iterative reconstruction algorithms. Ettention simultaneously features (1) a modular, object-oriented software design, (2) optimized access to high-performance computing (HPC) platforms such as graphic processing units (GPU) or many-core architectures like Xeon Phi, and (3) accessibility to microscopy end-users via integration in the IMOD package and user interface. We provide developers with a clean application programming interface (API) that allows for extending the software easily and thus makes it an ideal platform for algorithmic research while hiding most of the technical details of high-performance computing. Several case studies are provided to demonstrate the feasibility of the concept [2]. Ettention is built on top of the OpenCL API. While this allows the software to run on many hardware architectures, the OpenCL programming model still exposes a number of technical properties, such as the need to very explicitly handle parallelism and memory management. Therefore, Ettention introduces the concepts of “building blocks” for iterative reconstruction algorithms. Those building blocks include forward projections, back projections, image manipulation, and input/output operations. They encapsulate memory management and parallelism and can be combined to reconstruction algorithms. As Ettention allows the reconstruction volume resolutions to exceed memory on the HPC device, most operations involve consecutive upload of parts of the volume to the GPU, the execution of a kernel that operates on parts of the volume, and the combination of partial results. The system maps memory objects, such as volumes or reconstruction images to configurable HPC representations, such as float buffer or a GPU texture. By tracking the up-to-date status of the different representations the system can detect at runtime when to transfer data to device memory or back. Compared to existing software packages for tomographic reconstruction in electron microscopy, Ettention fills a gap between IMOD and the ASTRA toolbox. For algorithmic research without the need for immediate application to high-resolution data, we recommend using the ASTRA toolbox because of the powerful MATLAB language binding. The limitation to the in-core case, i.e. to small reconstruction volumes, is less important in this case. For microscopy experimentalists, who require well-established reconstruction algorithms, we recommend using IMOD because of its highly-optimized reconstruction performance on high-resolution data. For projects that require both, algorithmic innovation and immediate application to high-resolution experimental data, we believe that the Ettention software package should be considered because it delivers a reasonable (though not optimal) performance even on high-resolution data and exposes a rich and well-structured API that allows for fast and efficient implementation of algorithmic innovations.