Evaluation of classical correlation functions from 2/3D images on CPU and GPU architectures: Introducing CorrelationFunctions.j

Vasily Postnicov, Aleksei Samarin,Marina V. Karsanina, Mathieu Gravey,Aleksey Khlyupin,Kirill M. Gerke

COMPUTER PHYSICS COMMUNICATIONS(2024)

引用 0|浏览0
暂无评分
摘要
Correlation functions are becoming one of the major tools for quantification of structural information that is usually represented as 2D or 3D images. In this paper we introduce CorrelationFunctions.jl open-source package developed in Julia and capable of computing all classical correlation functions based on imaging input data. Images include both binary and multi-phase representations. Our code is capable of evaluating two-point probability S2, phase cross-correlation , cluster C2, lineal -path L2, surface-surface F, surface-void , pore-size P and chord-length distribution functions on both CPU and GPU architectures. Where possible, we presented two types of computations: full correlation map (correlations of each point with other points on the image, that also allows obtaining ensemble averaged CF) and directional correlation functions (currently in major orthogonal and diagonal directions). Such an implementation allowed for the first time to assemble a completely free solution to evaluate correlation functions under any operating system with well documented application programming interface (API). Our package includes automatic tests against analytical solutions that are described in the paper. We measured execution times for all CPU and GPU implementations and as a rule of thumb full correlation maps on GPU are faster than other methods. However, full maps require more RAM and, thus, are limited to available RAM resources. On the other hand, directional CFs are memory efficient and can be evaluated for huge datasets - this way they are the first candidates for structural data compression of feature extraction. The package itself is available through Julia package ecosystem and on GitHub, the latter source also contains documentation and additional helpful resources such as tutorials. We believe that a single powerful computational tool such as CorrelationFunctions.jl presented in this paper will significantly facilitate the usage of correlation functions in numerous areas of structural description and research of porous materials, as well as in machine learning applications. We also present some examples as applied to ceramic, soil composite and oil-bearing rock samples based on their 3D X-ray tomography and 2D scanning electron microscope images. Finally, we conclude our paper with discussion of possible ways to further improve presented computational framework. Program summary Program Title: CorrelationFunctions.jl CPC Library link to program files: https://doi .org /10 .17632 /6gb9gfm3dw .1 Developer's repository link: https://github .com /fatimp /CorrelationFunctions .jl Licensing provisions: MIT Programming language: Julia Supplementary material: Numerous Jupiter notebooks with examples are available on the GitHub page
更多
查看译文
关键词
3D images,Correlation functions,Image analysis
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要