Abstract Scattering experiments become increasingly popular in modern scientific research, including the areas of materials, biology, chemistry, physics, etc. Besides, various types of scattering facilities have been developed recently, such as lab-based X-ray scattering equipment, national synchrotron facilities and large neutron facilities. These above-mentioned trends bring up fast-increasing data amounts of scattering data, as well as different scattering types (X-ray, neutron, laser and even microwaves). This struggles with data analysis software of the last generation, where data are usually analyzed assuming certain first-principle models and given data formats. To help researchers process and analyze scattering data more efficiently, we developed a general and model-free scattering data analysis software based on matrix operation, which has the unique advantage of high throughput scattering data processing, analysis and visualization. To maximize generality and efficiency, data processing is performed based on a three-dimensional matrix, where scattering curves are saved as matrices or vectors, rather than the traditional definition of paired values. It can not only realize image batch processing, background subtraction and correction, but also analyze data according to scattering theory and model, such as radius of gyration, fractal dimension and other physical quantities. In the aspect of visualization, the software allows the modify the color maps of two-dimensional scattering images and the gradual color variation of one-dimensional curves to suit efficient data communications. In all, this new software can work as a standalone platform for researchers to process, analyze and visualize scattering data from different research facilities without considering different file types or formats. All codes in this manuscript are open-sourced and can be easily implemented in matrix-based software, such as MATLAB, Python and Igor.
Read full abstract