TL;DR
Takin is an open-source software tool designed to assist researchers in planning, visualizing, and analyzing data for neutron triple-axis spectrometer experiments, improving accuracy and efficiency.
Contribution
It introduces a configurable, free software system that streamlines experiment planning, execution, and data analysis for neutron triple-axis spectrometers.
Findings
Successfully tested at MLZ
Configurable for different instruments
Enhances experiment accuracy and efficiency
Abstract
Due to the instrument's non-trivial resolution function, measurements on triple-axis spectrometers require extra care from the experimenter in order to obtain optimal results and to avoid unwanted spurious artefacts. We present a free and open-source software system that aims to ease many of the tasks encountered during the planning phase, in the execution and in data treatment of experiments performed on neutron triple-axis spectrometers. The software is currently in use and has been successfully tested at the MLZ, but can be configured to work with other triple-axis instruments and instrument control systems.
| Nr. | Code metadata description | |
|---|---|---|
| C1 | Current code version | 1.5 |
| C2 | Permanent link to code/repository used for this code version | https://github.com/t-weber/takin |
| C3 | Legal Code License | GNU GPL Version 2 |
| C4 | Code versioning system used | git |
| C5 | Software code languages, tools, and services used | C++ 11, CMake 3 |
| C6 | Compilation requirements, operating environments | Linux, OS X, Unix like, Windows (via MinGW); GCC 4.8 (or later) or Clang, Boost, Qt 4 or 5, Qwt 5 or 6, Clipper, Minuit 2, Freetype |
| C7 | If available Link to developer documentation/manual | https://forge.frm2.tum.de/cgit/cgit.cgi/frm2/mira/tastools.git/plain/doc/index_help.html |
| C8 | Support email for questions | [email protected] |
| Nr. | (executable) Software metadata description | |
|---|---|---|
| S1 | Current software version | 1.5 |
| S2 | Permanent link to executables of this version | http://wiki.mlz-garching.de/takin |
| S3 | Legal Code License | GNU GPL Version 2 |
| S4 | Computing platform / Operating System | Linux, OS X, Unix like, Windows (MinGW test version) |
| S5 | Installation requirements & dependencies | |
| S6 | If available Link to user manual | http://wiki.mlz-garching.de/takin |
| S7 | Support email for questions |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Update 1.5 to "Takin: An Open-Source Software for Experiment Planning, Visualisation, and Data Analysis", (PII: S2352711016300152)
Tobias Weber
Physik-Department E21, Technische Universität München, James-Franck-Str. 1, 85748 Garching, Germany
Abstract
We present an updated version of our inelastic neutron scattering software package Takin, which is a programme for neutron triple-axis experiment planning and evaluation. The new version features several additional programme modules mainly concerning three-dimensional calculations and visualisations. In addition, existing modules have been improved and extended.
This was the 2017 pre-print of our software paper [1], which is now available at http://dx.doi.org/10.1016/j.softx.2017.06.002 and is licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). As pre-print, it is a modified form of the published paper. Furthermore, small updates have been included in the present version, e.g. concerning the references.
keywords:
triple-axis spectroscopy , instrument control , reciprocal and real space visualisation , Brillouin zones , instrumental resolution
††journal: SoftwareX
1 Introduction
Several updates to the free and open-source software (FOSS) Takin [2, 3] have been made over the course of the last year. Apart from general performance optimisations and improvements of the existing programme modules, new features have been introduced. Of these features, we present two selected ones in the present short paper.
2 3D Brillouin zones
The previous version of our software included code to calculate a two-dimensional (2D) slice of the first Brillouin zone relevant for the selected scattering plane. For complexity and performance reasons, the code used for the task remained purely 2D. While this gives reasonable results in most cases, it is only an approximation.
For the present version, we created a new programme module which calculates the full three-dimensional (3D) Brillouin zone from the single-crystal parameters and the space group on-the-fly. The code is highly optimised and has only a very slight performance penalty when compared to the old 2D version. The Brillouin zone can now either be visualised in the software using OpenGL [4] or be exported to the open X3D file format. The X3D export allows for processing the data in external applications, for instance the FOSS programme Blender [5]. Furthermore, 2D cuts of the 3D Brillouin zones are generated using the selected scattering plane. These cuts are presented in the main reciprocal space display, replacing the old pure-2D code. An example for these calculations is shown in Fig. 1.
3 Scripting interfaces
In its resolution convolution code, Takin uses externally supplied scripts for the calculation of the dynamical structure factor . In addition to Python [6], we now support the novel scripting language Julia [7] for this task. As Julia is just-in-time compiled, it considerably speeds up the calculation of the convolution integral.
In order to circumvent threading limitations in the Python interpreter and for stability reasons, both the Python and Julia scripting interfaces are now separated from the main programme. script modules are now spawned in their own process space and communicate with Takin using a shared-memory messaging system.
Acknowledgements
This work was supported by the German Research Foundation (DFG) and the Technische Universität München within the funding programme Open Access Publishing. We are mainly indebted to Peter Böni and Robert Georgii for their continuing support of these scientific computing projects. Additionally, we want to thank Petr Čermák, Astrid Schneidewind, Jitae Park, Greg Tucker, and Bertrand Roessli for helpful discussions and for reporting bugs in the previous version of the software. Many thanks go to Alain Filhol for his continuous help on improving the OS X build. Also thanks to Petr Čermák for his website at MLZ, which hosts the binaries.
The software’s DOI is: 10.5281/zenodo.3961491.
Required Metadata
Current code version UPDATE
Current executable software version
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] T. Weber, Update 1.5 to "Takin: An open-source software for experiment planning, visualisation, and data analysis", (PII: S 2352711016300152) , Software X 6 (2017) 148–149. doi:10.1016/j.softx.2017.06.002 . URL http://www.sciencedirect.com/science/article/pii/S 2352711017300183 · doi ↗
- 2[2] T. Weber, R. Georgii, P. Böni, Takin: An open-source software for experiment planning, visualisation, and data analysis , Software X 5 (2016) 121–126. doi:10.1016/j.softx.2016.06.002 . URL http://www.sciencedirect.com/science/article/pii/S 2352711016300152 · doi ↗
- 3[3] T. Weber, Ph.D. thesis, Physikdepartment E 21, Technische Universität München, Garching, Germany (2016).
- 4[4] Khronos Group, Open GL . URL https://www.khronos.org/opengl/
- 5[5] Blender Foundation, Blender 3D software suite , software. URL https://www.blender.org/
- 6[6] G. Van Rossum, F. L. Drake, The Python Language Reference Manual, Network Theory Ltd., 2011, ISBN 978-1906966140.
- 7[7] J. Bezanson, A. Edelman, S. Karpinski, V. B. Shah, Julia: A Fresh Approach to Numerical Computing , SIAM Review 59 (1) (2017) 65–98. doi:10.1137/141000671 . URL https://julialang.org/ · doi ↗
