Software for Neutron Imaging Analysis A.P. Kaestner Software for Neutron Imaging Analysis Imaging and Engineering STAP (Fall 2018)
What happens after an imaging experiment?
Data processing can be a very labor- and computationally intense task Basic processing Minutes, hours CT reconstruction Image processing Hours Visualization Analysis Hours, days Kaestner et al, 2012 Woracek et al, 2014 Gruenzweig et al, 2012
Analysis workflow Needs creative interaction Can be generalized
Data evaluation fitness of users Users neutron imaging have very different background and experience
Data evaluation fitness of users - Characterization Users neutron imaging have very different background and experience Beamline scientist Early stage PhD student Cultural heritage users Serving people with different background and needs is a great challenge
Computing infrastructure needed Laptop Workstation Cluster Pre-evaluation Training sessions Small data Most evaluation Explore data Mid sized data Mass evaluation Full sized data Software needs to be scalable to support different infrastructure
Different parts of the development Core Physical models Fitting Geometry Support algorithms Segmentation Data base access Interface external tools Image analysis File handling GUI Interaction Provide parameters Visualization UX CLI Scripting support Mass processing
Applications developed at PSI – White beam MuhRec CT reconstruction tool Configurable processing chain KipTool General processing tool for 3D images Converter tools NIQA tool (not IKC) Analysis of IAEA QA samples nGI tool Reduction of phase stepping scans
Work in progress - Energy resolved imaging New neutron sources with pulsed beam … … Reveal new information about the sample New science Bragg edge analysis Diffraction imaging Modulation techniques Challenges on the development Produce large data Higher dimensional data Workflow flexibility Visualization options
Manpower Manpower according to TA Steering committee: Time gap until W. Kockelmann, R. Woracek, M. Strobl, M. Lerche Time gap until hot commissioning
Modern software development Agile development Iterative development Collaboration Using repositories New issues in repository branches Maintain stable master through merge reviews Issue tracking (New features, Improvements, Fixing bugs) Frequent releases (2 x year) Automated testing and builds Online documentation
Some technical details about the development Main coding language GUI Library Planned binding In particular: C++11 XCode (Mac) MSVC15 (Windows) g++ (Linux) Version: 5.9 LTS Cross platform Qmake Qtest Installer Python 3 Embedded scripting Call libs from python Tutorials Typical work flows Repository: GitHub https://github.com/neutronimaging Development history Issue tracking Documentation (Wiki) Build server: Jenkins Automated builds Planned: Nightly build installers Automatic unit testing
Collaboration Network PSI ESS ERIC TUM SNS ISIS J-PARC Contributors Observers
Training and documentation Direct user instruction during experiments Hands-on sessions Varenna Imaging Workshop 2017 WCNR 11 – Pre-conference school SwedNESS imaging PhD School User documentation online Tutorial videos on YouTube
Wir schaffen Wissen – heute für morgen The analysis of imaging data should be … … done in a reproducible way. … open source to promote collaboration and reproducibility. … developed with modern techniques.