跳转到主要内容

快速方位积分的Python实现

项目描述

主要开发网站: https://github.com/silx-kit/pyFAI

Github Actions Appveyor Status myBinder Launcher Zenodo DOI RTD docs

PyFAI 是一个方位积分库,旨在追求速度(与 C 语言一样快,甚至使用 OpenCL 和 GPU 时更快)。它基于每个像素(中心)的 2theta/Q 位置的直方图,并按每个像素的强度加权,但并行版本使用稀疏矩阵-密集向量乘法。相邻输出桶也通过像素分割获得邻近边缘像素的贡献。最后,pyFAI 还提供工具,使用参考化合物的 Debye-Scherrer 环来校准实验装置。

参考文献

安装

使用 PIP

与大多数 Python 包一样,pyFAI 也通过 PIP 提供

pip install pyFAI[gui]

建议在 虚拟环境 中运行此命令。提供 –user 选项以在您的用户空间(不推荐)中进行本地安装。在 UNIX 下,您可能需要通过 sudo 运行命令以获取根访问权限并执行系统范围内的安装(也不推荐)。

使用 conda

pyFAI 也通过 conda 提供

conda install pyfai -c conda-forge

要安装 conda,请参阅 condaAnaconda

从源代码

可以从 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 完全功能,需要安装以下模块。

这些依赖可以通过以下方式简单地安装

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 (59.6 MB 查看哈希值)

上传时间 源代码

构建发行版

pyfai-2024.9.0-cp312-cp312-win_amd64.whl (5.3 MB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

pyfai-2024.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.9 MB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ x86-64

pyfai-2024.9.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (7.0 MB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ ppc64le

pyfai-2024.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.3 MB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ ARM64

pyfai-2024.9.0-cp312-cp312-macosx_11_0_arm64.whl (5.3 MB 查看哈希值)

上传时间 CPython 3.12 macOS 11.0+ ARM64

pyfai-2024.9.0-cp312-cp312-macosx_10_9_x86_64.whl (6.3 MB 查看哈希值)

上传时间 CPython 3.12 macOS 10.9+ x86-64

pyfai-2024.9.0-cp311-cp311-win_amd64.whl (5.4 MB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

pyfai-2024.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.1 MB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.17+ x86-64

pyfai-2024.9.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (7.3 MB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.17+ ppc64le

pyfai-2024.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.6 MB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.17+ ARM64

pyfai-2024.9.0-cp311-cp311-macosx_11_0_arm64.whl (5.4 MB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

pyfai-2024.9.0-cp311-cp311-macosx_10_9_x86_64.whl (6.4 MB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

pyfai-2024.9.0-cp310-cp310-win_amd64.whl (5.4 MB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

pyfai-2024.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.2 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

pyfai-2024.9.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (7.3 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ppc64le

pyfai-2024.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.6 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARM64

pyfai-2024.9.0-cp310-cp310-macosx_11_0_arm64.whl (5.4 MB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

pyfai-2024.9.0-cp310-cp310-macosx_10_9_x86_64.whl (6.4 MB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ x86-64

pyfai-2024.9.0-cp39-cp39-win_amd64.whl (5.4 MB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

pyfai-2024.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.2 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

pyfai-2024.9.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (7.3 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ppc64le

pyfai-2024.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.6 MB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.17+ ARM64

pyfai-2024.9.0-cp39-cp39-macosx_11_0_arm64.whl (5.4 MB 查看哈希值)

上传时间 CPython 3.9 macOS 11.0+ ARM64

pyfai-2024.9.0-cp39-cp39-macosx_10_9_x86_64.whl (6.5 MB 查看哈希值)

上传时间 CPython 3.9 macOS 10.9+ x86-64

pyfai-2024.9.0-cp38-cp38-win_amd64.whl (5.4 MB 查看哈希值)

上传时间 CPython 3.8 Windows x86-64

pyfai-2024.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.2 MB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ x86-64

pyfai-2024.9.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (7.4 MB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ ppc64le

pyfai-2024.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.7 MB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ ARM64

pyfai-2024.9.0-cp38-cp38-macosx_11_0_arm64.whl (5.4 MB 查看哈希值)

上传时间 CPython 3.8 macOS 11.0+ ARM64

pyfai-2024.9.0-cp38-cp38-macosx_10_9_x86_64.whl (6.4 MB 查看哈希值)

上传时间 CPython 3.8 macOS 10.9+ x86-64

pyfai-2024.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.0 MB 查看哈希值)

上传时间 CPython 3.7m Windows x86-64

pyfai-2024.9.0-cp37-cp37m-win_amd64.whl (5.3 MB 查看哈希值)

上传时间 CPython 3.7m manylinux: glibc 2.17+ x86-64

pyfai-2024.9.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (7.3 MB 查看哈希值)

上传时间 CPython 3.7m manylinux: glibc 2.17+ ppc64le

pyfai-2024.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.5 MB 查看哈希值)

上传时间 CPython 3.7m manylinux: glibc 2.17+ ARM64

pyfai-2024.9.0-cp37-cp37m-macosx_10_9_x86_64.whl (6.4 MB 查看哈希值)

上传时间 CPython 3.7m macOS 10.9+ x86-64

支持者