foamalgo
is a head-only C++20 library with Python binding pyfoamalgo
,
which is meant to be used in numerical analysis in photon science and
accelerator physics. It leverages SIMD and multi-threaded parallelism
to increase algorithm performance by up to 2 orders of magnitude compared to
the implementations in other libraries like numpy.
foamalgo
has been developed based on the algorithm package in EXtra-foam,
which is the framework for real-time (online) data analysis and visualization
of big data from various large detectors at European XFEL and has stood
the test of 24/7 operations. By separating the algorithm code in a
stand-alone library, it facilitates the maintanance of the large code base
and benefits the offline analysis as well.
Relevant articles, presentations and papers:
- Data Analysis Approaches at EuXFEL by P. Schmidt
Install the Python package
conda install -c conda-forge pyfoamalgo
Install the head-only C++ library
conda install -c conda-forge foamalgo
For more information on foamalgo
and pyfoamalgo
, please checkout the documentation