Interoperable Data Treatment Software: Part 1
Figure 1 A graph showing the development aims of SasView, MuhRec and BornAgain in terms of their functional and non-functional requirements. At the beginning of the SINE2020 project, their respective starting points are shown by the circles while the arrow points towards their aspirational functionality.
For Imaging, reflectometry and SANS: MuhRec/KipTool, BornAgain, SasView
At the start of SINE2020, three software packages already existed for the technique of imaging, reflectometry and SANS. However, they were all in different states of readiness. Whereas SasView was well furnished with functional requirements, i.e. those related to the complex data analysis capabilities, it still lacked non-functional requirements such as modularization and a GUI based on Qt. BornAgain on the other hand needed to improve its functional requirements by extending its reflectometry capabilities. MuhRec needed help with both. As depicted in Figure 1, the aim of SINE2020 was to develop all three packages to be fully functional in both aspects for their many users.
IMAGING/TOMOGRAPHY – MuhRec
MuhRec was developed by Anders Kaestner at PSI as an analysis tool for imaging techniques. The software needed further development and would benefit from an increase in the user community.
Led by Anders and his team at PSI, which included Chiara Carminati, MuhRec has been converted to open source software that adheres to the Standards and Guidelines. It now incorporates more user-friendly interfaces, improved algorithms and has been set up to work with Mantid.
Reconstruction tools have been added and capabilities for data fusion between neutron imaging and x-ray imaging have been developed. Video tutorials to help users are also available.
The ESS will be using MuhRec with its imaging instruments and the work has also been supported through an in-kind contribution from PSI.
RELFLECTOMETRY – BornAgain
BornAgain is a software for reflectometry techniques, in particular when working with grazing-incidence scattering. The aims of SINE2020 were to extend the software’s functionality to all types of reflectometry. You can read more about the development of BornAgain in this separate article. The current release is 1.15.0 and can be downloaded from www.bornagainproject.org.
SANS – SasView
SasView provides open source software for the analysis of small angle scattering data for techniques such as SANS and SAXS. Some of the software has been around since 2006 when it was known as SansView and it evolved into SasView around 2012. It has since been maintained via regular code camps and collaborations but it has become harder for volunteers to keep it alive and maintain it. It also required work on the non-functional requirements to remove technical debt and make it more maintainable and sharable.
SINE2020 has been able to provide two people full-time, Piotr Rozyczko and Wojciech Potrzebowski, at the ESS DMSC in Copenhagen, for the duration of two years. The contribution from SINE2020 is ESS led but the management team also includes people from NIST, SNS and ISIS and the software is collaboratively developed by programmers all over the world.
Improvements have seen a move to a Qt toolkit GUI and modularization. An independent model library has been created that can be used by SasView but also by other programmes. Models in the SasFit program at PSI can now be used. A SasView Marketplace where scientists can share their models with the community in a controlled manner has also been established.
The Latest version 5.0 was released in May 2019 (www.sasview.org). The improvements have already attracted 3rd party contributions and is appealing to users from diverse fields of study. Up to now, almost half of the acknowledgements of the SINE2020 project in journal publications have been related to the use of SasView for data analysis, in topics ranging from nanotechnology to proteins.
Acknowledgements: Thomas Holm Rod, ESS DMSC