A Python Software Environment for Fibrilar Structures Analysis from 3D Images (FibriPy)
Materials characterization using different imaging modalities, such as micro computed tomography (microCT), scanning electron microscopy (SEM) and scanning transmission electron microscopy (STEM) tomography, has enabled the development of advanced composites that will open up new opportunities to improve manufacturing. In order to deploy the targeted material, several structures must be detected and tracked during the experiment under varying parameters conditions. FibriPy is a software framework that provides tools for the detection and analysis of these structures through the recognition of key patterns from the images. FibriPy combines user-friendly dashboards with programmable functions to support the analysis automation of 3D image stacks. As scalability is one of the main issues in analyzing high-resolution images, FibriPy delivers process-based concurrency and scalable GPU-based visualization, with portability benefits brought by well-established Python packages. FibriPy provides tools for image enhancement, automatic detection of fiber cross-sections, interactive tools to improve fiber detection, automatic fiber tracking, and 2D and 3D visualization. The main characteristics of FibriPy are: (a) advanced algorithms for image analysis and feature extraction, such as: structure-based image enhancement using nonlinear filtering, adaptive feature-based matching and learning, and motion tracking based on cross-correlation, (b) Python-centric multi-threading software architecture, and (c) GPU-accelerated visualization tools.