快速方位积分的Python实现
项目描述
主要开发网站: https://github.com/silx-kit/pyFAI
PyFAI 是一个方位积分库,旨在追求速度(与 C 语言一样快,甚至使用 OpenCL 和 GPU 时更快)。它基于每个像素(中心)的 2theta/Q 位置的直方图,并按每个像素的强度加权,但并行版本使用稀疏矩阵-密集向量乘法。相邻输出桶也通过像素分割获得邻近边缘像素的贡献。最后,pyFAI 还提供工具,使用参考化合物的 Debye-Scherrer 环来校准实验装置。
参考文献
pyFAI 的理念在 SRI2012 的会议论文中进行了描述: https://doi.org/10.1088/1742-6596/425/20/202012
并行实现描述在 EPDIC13 的会议论文中: https://doi.org/10.1017/S0885715613000924
基准测试和优化过程在 EuroSciPy2014 的会议论文中进行了描述: https://doi.org/10.48550/arXiv.1412.6367
校准过程在 J. Synch. Radiation 2020 中进行了描述: https://doi.org/10.1107/S1600577520000776
安装
使用 PIP
与大多数 Python 包一样,pyFAI 也通过 PIP 提供
pip install pyFAI[gui]
建议在 虚拟环境 中运行此命令。提供 –user 选项以在您的用户空间(不推荐)中进行本地安装。在 UNIX 下,您可能需要通过 sudo 运行命令以获取根访问权限并执行系统范围内的安装(也不推荐)。
使用 conda
pyFAI 也通过 conda 提供
conda install pyfai -c conda-forge
从源代码
可以从 Github 下载 pyFAI 的当前开发版本。目前源代码已作为 zip 包分发。下载并解压它
unzip pyFAI-main.zip
所有文件都解压到 pyFAI-main 目录中
cd pyFAI-main
安装依赖项
pip install -r requirements.txt
构建并测试它
python3 run_tests.py
对于测试,pyFAI 从互联网下载测试图像。根据您的网络连接和本地网络配置,您可能需要设置类似于这样的代理配置(在 ESRF 不需要)
export http_proxy=http://proxy.site.org:3128
最后,在测试后,在虚拟环境中安装 pyFAI
pip install .
也可以通过从 git 存储库检出以获取最新的开发版本
git clone https://github.com/silx-kit/pyFAI.git cd pyFAI pip install .
如果您想使 pyFAI 利用您的显卡,请安装 pyopencl
文档
可以使用此命令和 Sphinx(安装在您的计算机上)构建文档
python3 build-doc.py
依赖项
Python 3.8、… 3.12 已经过良好测试并官方支持。为了使 pyFAI 完全功能,需要安装以下模块。
numpy - https://numpy.com.cn
scipy - https://scipy.org.cn
matplotlib - http://matplotlib.sourceforge.net/
h5py - http://www.h5py.org/
pyopencl - http://mathema.tician.de/software/pyopencl/
pyqt5 - http://www.riverbankcomputing.co.uk/software/pyqt/intro
silx - http://www.silx.org
numexpr - https://github.com/pydata/numexpr
这些依赖可以通过以下方式简单地安装
pip install -r requirements.txt
Ubuntu 和 Debian 类似 Linux 发行版
要在 Ubuntu/Debian 上使用 pyFAI,可以通过 Synaptic 软件包管理器(在“系统”->“管理”中找到)或使用终端中的 apt-get 来安装所需的 Python 模块
sudo apt-get install pyfai
所需的额外 Ubuntu 软件包包括
python3-numpy
python3-scipy
python3-matplotlib
python3-dev
python3-fabio
python3-pyopencl
python3-pyqt5
python3-silx
python3-numexpr
使用 apt-get 可以这样安装
sudo apt-get build-dep pyfai
MacOSX
在安装 pyFAI 之前,需要手动安装 Python 的最新版本(>=3.8)。Apple 仅提供过时的 Python 2.7 版本,现已不兼容。如果您想从源代码构建 pyFAI,还需要从 Apple 商店获取的 Xcode。由于编译器的限制,编译的扩展将仅使用一个核心。因此,在 Apple 系统上强烈建议使用 OpenCL。然后使用 pip 安装缺失的依赖项
pip install -r requirements.txt
Windows
在 Windows 上,在安装 pyFAI 之前需要安装 Python(>=3.8)。如果从源代码构建,还需要 Visual Studio C++ 编译器。然后使用 pip 安装缺失的依赖项
pip install -r requirements.txt
获取帮助
有一个邮件列表 pyfai@esrf.fr,可以获取有关程序及其使用的帮助。需要通过发送电子邮件到 sympa@esrf.fr 并在主题中注明“subscribe pyfai”来订阅
维护者
Jérôme Kieffer (ESRF)
Edgar Gutierrez Fernandez (ESRF)
Maciej Jankowski (ESRF)
贡献者
Valentin Valls (ESRF)
Frédéric-Emmanuel Picca (Soleil)
Thomas Vincent (ESRF)
Dimitris Karkoulis (前 ESRF)
Aurore Deschildre (前 ESRF)
Giannis Ashiotis (前 ESRF)
Zubair Nawaz (前 Sesame)
Jon Wright (ESRF)
Amund Hov (前 ESRF)
Dodogerstlin @github
Gunthard Benecke (Desy)
Gero Flucke (Desy)
间接贡献者(想法等)
Peter Boesecke
Manuel Sánchez del Río
Vicente Armando Solé
Brian Pauw
Veijo Honkimaki
项目详情
pyfai-2024.9.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 00119f57e4a2f6ee9facd8069a410802623e8c2479aeec373d1f611ea513ddad |
|
MD5 | 79dfbe0f52ae90ee97e1daf6040a6fc4 |
|
BLAKE2b-256 | 2d08612361ebf43b9abc5bf2fb040980d70ad41603aa34df72e59f09d061398c |
pyfai-2024.9.0-cp312-cp312-win_amd64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e6a81d99d5d0e323c3e981d537feaab8dd874e36a6f300d899bd07e62f5f3c00 |
|
MD5 | 77b3bff734f3ea7116bcb339dfccbf22 |
|
BLAKE2b-256 | 75cec622fb0e415b7f985818b2a88f9226133ad3ac9028bdc4db77c8f9e61764 |
pyfai-2024.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 771c64d22161e08f1da1553a7749d9932c500d924ddf6ce4848a6895e979e453 |
|
MD5 | 717df43f57df6dd8d6af9f78a7555e5f |
|
BLAKE2b-256 | cefcfbd5f4306c1c65452e3982523d5bcf51f4326722e7e65653bced27eef67a |
pyfai-2024.9.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 05b3cc1321d6198533fd26d9623916eb86d0c887056364df07d0b25e52efa3ef |
|
MD5 | 089f85a4acd80a4ddf6ef9e6f1d1799d |
|
BLAKE2b-256 | 0b76dd181922aa33cddf6e6c777594dbef540bca02561c7ed26d94f4f05d819f |
pyfai-2024.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 95485dc9414fb4b5c0e90ed50ab73a331dadd93d9542a8922559cb4bc48b5612 |
|
MD5 | f6b7d4a57150c2b33e8f865b41941bb5 |
|
BLAKE2b-256 | c5babaf8ecbab3501c9e1e55d9453c3a5eef53df0767927f549fea8710293081 |
pyfai-2024.9.0-cp312-cp312-macosx_11_0_arm64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 35b549c5fd5ec864c96d4415177fda9d9f87ef3430ec97eb9cf4d2d329632d29 |
|
MD5 | 59ef13642d68bd6e1377b62090967376 |
|
BLAKE2b-256 | 0acb8901b937cef3cd353e152d27a4008090ddd74b2c123b1430f7868f5b4b0c |
pyfai-2024.9.0-cp312-cp312-macosx_10_9_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b200b2de9096d42572a13c097ca67839cc117ed4f0ff4d33426ba9f0325faa95 |
|
MD5 | b5685e25e2063dc1c022e788cf40bd8b |
|
BLAKE2b-256 | 70b2b3bc0d703f82f7e1abdaea4f04fc9406235048806e7215d38699dea45a5d |
pyfai-2024.9.0-cp311-cp311-win_amd64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7c7756d21a0e91979611180d0565e1adfbe62f458828257285ab01b3f6cfaa9e |
|
MD5 | e8b55de66bd727f7e00a7f9455e259cc |
|
BLAKE2b-256 | dbbcfe1677c18f986dd8b96e5d27da15c6a9f843bba876b001c413b06bc0aa24 |
pyfai-2024.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2c681ff1a06b999195a5618135926e64db54c369e5e0e2e93909a890208b518d |
|
MD5 | dd3d3c4cc837c18d92e5b2e948ec3410 |
|
BLAKE2b-256 | 87ddc0273da0b374c526a5330ce40f56ce1391497323e3870f371e0acbd38733 |
哈希值 用于 pyfai-2024.9.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0c2ae74ab9e65c1d84761771b5d08623c699144252f9d7321fff8eadbf9ff190 |
|
MD5 | d6bddbb42ba482791262b99f99d08063 |
|
BLAKE2b-256 | 298dd86fe4b17086d8ec26d9fe242100a8794e896532f09b6879f9ed52a43f59 |
哈希值 用于 pyfai-2024.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a331fbf5c3b49202c7e639a2ede01d6932c61727c165a0ff5d02b1626952b6c7 |
|
MD5 | d148f0694450f0126e11435fa879604e |
|
BLAKE2b-256 | b05de14ecd1d27ca033b76b483b6c64ebcf9de601b7553057addd47540728061 |
哈希值 用于 pyfai-2024.9.0-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5e09ca98daaece80d70545c39b4e67cd59917bc1364558e6f63009de310388a9 |
|
MD5 | 5589dc8f15913a089f4aa94d7fc31ada |
|
BLAKE2b-256 | 21279999b4d21c06f664208ca0175e141d7e8d63d2ade1697459afedf1751c2f |
哈希值 用于 pyfai-2024.9.0-cp311-cp311-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7283747a6b034b062000f99220e0f667d78cc20f66102c35e707c0946a56d6dd |
|
MD5 | 3eee8079350836a4de167229eeda7955 |
|
BLAKE2b-256 | 237751e31ae9e0a012d319eb2586bb72e5fb89ab8ca93db2d0102bce36907929 |
哈希值 用于 pyfai-2024.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 90b274732e1ccebe7a6777ca69930b26931c399e0030583807bf9037d54abaa8 |
|
MD5 | fc28e572c91baf0727db52962ae1d37a |
|
BLAKE2b-256 | 0f15138b905c0609686dc70d909a116f309bc289f273bceb1575d2ba1938aa9c |
哈希值 用于 pyfai-2024.9.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 86c4aefd5ac6c5234b1ce2af57afef3911050d1112297d233d9ed8de5afc28a4 |
|
MD5 | 573982442bc4e89005d29b56cc015da1 |
|
BLAKE2b-256 | 380a4a60ffc1c74dd7ce3aa77faba1e452602d3babf54f03e1a1715dd77d41f9 |
哈希值 用于 pyfai-2024.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cc7c6428e16fd04e691925694fe39fd17a438884ea67b27fc19ea3cccea916dd |
|
MD5 | e538ed24bf9e04313c5ae1b72d441874 |
|
BLAKE2b-256 | 5055aab7b00a056cc28bf746352c4616da31df9285922f64cf0086961e752cf8 |
哈希值 用于 pyfai-2024.9.0-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b7ef2c1973c12e040b5c3f899e12546971de02ecb8916b1265f7408573c80bf6 |
|
MD5 | b9cbb06eb8f868ba2f317990e96d7d97 |
|
BLAKE2b-256 | 5d03c230a3d9b3979661c406cb9f7515081c080fce369e7e9ff7b87efd842e51 |
哈希值 用于 pyfai-2024.9.0-cp310-cp310-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1bc07b7249e9aaa2a954c6d73221be515e971e2ca6454f7797f2e0a41e117621 |
|
MD5 | a184589ec63386e62e118dc1cbce8907 |
|
BLAKE2b-256 | 8ce965a35b6a1c3ceac704c960f979cf58093a9b1b1f838389b1cae077409b92 |
哈希值 用于 pyfai-2024.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 93199bce0492549d44a289889563aab08e676a37f57bbf454cbedf17012438c6 |
|
MD5 | a170f298c57cca5285d0e2fcab8f53e4 |
|
BLAKE2b-256 | 625a4d4171eaea849baaa9a1c3874ca2a5b7976c75024aec6f1ac4f7c94cbe1a |
哈希值 用于 pyfai-2024.9.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b3074e657ba6aa004f91d347de16e4a81e91ab4fb7430ab2a74d5656bd2d5675 |
|
MD5 | 35f29916cce359fe82c145cd263d55cd |
|
BLAKE2b-256 | 63e2b7818318a907acacea7f6a87abc74a6e7faba018dda2066cfa618edf5a50 |
哈希值 for pyfai-2024.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5f2274c262a755cae23e062acbd961ac1f75f779e6e73fc1833808ea30f99ff1 |
|
MD5 | a99cdfc9fa0f7bb37bd67a49c774bf74 |
|
BLAKE2b-256 | 159c75486acdcc772227d43963b4057e7ac66bdba151bb14bba0eed286674128 |
哈希值 for pyfai-2024.9.0-cp39-cp39-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 533f0ddbd3b76a57dfb8ff2467b8bc6844891dd8edf17503f3c63d3cd507249a |
|
MD5 | c5c95694afcc1da7aff447e4ce3b6353 |
|
BLAKE2b-256 | 6b15d19fd68c80e5586da680527cb7063260d10f1c36b19e0da755a29b556173 |
哈希值 for pyfai-2024.9.0-cp39-cp39-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4223775103c39523148e85ee19a986bca42aab85ce6810c46e3a6edebd4bc9d5 |
|
MD5 | b6035c0b3d48ca279fd8762a9835860e |
|
BLAKE2b-256 | 0492b9801fedf102331c2de24166fd627303aa1f4267df0480c52d687aa6f47f |
哈希值 for pyfai-2024.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 98a3567c658be1521d213955b9494d982a9b1cc775f542fe610a783d70e1f308 |
|
MD5 | 03412a3c279515ff0529424dd8bfb0ef |
|
BLAKE2b-256 | 2bd2abcea643664f7e4961a279371890c7b8aae7653521c8ceddd8b6b2dc3a63 |
哈希值 for pyfai-2024.9.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5411242f8ee9392baf76b3466c3aaebd1901c99cb7a50e9c4a1c45682011818f |
|
MD5 | cc3af5a26b650ecbb7d3b3dcc8ea7c51 |
|
BLAKE2b-256 | 24714bab6d34166425e7f5c424e0cf55192959f1a890bbd1f0b8211977172917 |
哈希值 for pyfai-2024.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b49558854d37a454a464a691d60aa44b424bf1acc1de4dd20633205331759cc9 |
|
MD5 | a417573724dbc268dd23f2deff45c36f |
|
BLAKE2b-256 | 2ba56c0e9f7fef7c97817a0e0c86a17b3df66bf42667993c9923f7b867f20078 |
哈希值 for pyfai-2024.9.0-cp38-cp38-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4de8fa8665a593196cbc5de2e6bfbc69e85aff88cdcb9b1fb6407a5fcf9b4396 |
|
MD5 | 268a82734bc4a2ae8bc50ff2e0db2a37 |
|
BLAKE2b-256 | fcb448d62ba56cff9d7836c5e19e48598343dba004f66ffbd76112313787459b |
哈希值 for pyfai-2024.9.0-cp38-cp38-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 899368cdf683c7fafe649024ffe3f8f298ba80633171e4ff5a072a9c990b0068 |
|
MD5 | 0351aef2b3a2eca9c53f657940e9af75 |
|
BLAKE2b-256 | 4c7d2a2e680cb4e640d41f1c154bb478d9f92b05ff649b98a37b97266eee1edd |
哈希值 for pyfai-2024.9.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bfac2cf2c995f82e5925af65ed56accb04ce157f137d87b0a2c212303fcc1da9 |
|
MD5 | dc2b5194616052d418298a8441749040 |
|
BLAKE2b-256 | cc6762b9af48465dae226eff28e7f714cd5e24e2c6cbc2639e6aa3696f44b534 |
哈希值 for pyfai-2024.9.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f236da363b8fd3ed599e50282a4770bcd2555d57103568f0b33c89e25784e312 |
|
MD5 | 53589dc6da56e3eab9d019434e2dfe8f |
|
BLAKE2b-256 | 7eb5f52f291523667edb7b98709d4e26ff044e12be1ea75affc4baddad86b3ef |
哈希值 用于 pyfai-2024.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7e3ee48dc835b526ca696a70cccec85972a75f39a8c0345d236807a904146214 |
|
MD5 | 12e0a7fc0325a67db97ad56a3c5648be |
|
BLAKE2b-256 | 5211068a13772010cb8905471d09cffcf9100fcc48a6d6b98f4ff8e8af241122 |
哈希值 用于 pyfai-2024.9.0-cp37-cp37m-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 813cae126596634f67c51f70742184272c420573918f70dd2d9b7ea4767d3555 |
|
MD5 | fb7402fe69891fb29767505bab409197 |
|
BLAKE2b-256 | bf0749ce5ac1d5f419461bc8e1703c96457335a7adc5c0720297d7c0c91fca71 |