EIT 的 Python 包
项目描述
pyEIT
是一个基于 Python 的、用于电阻抗断层扫描 (EIT) 的开源框架。其设计原则pyEIT
是模块化、极简主义、可扩展性和OOP。
1.安装
pyEIT
完全基于python,可以毫无困难地安装和运行。
1.1 使用 pip 或 conda-forge 安装(推荐)
pyEIT
现在可在pypi
和上使用conda-forge
。它是纯粹的python,可以通过安装
$ pip install pyeit
或者
$ conda install -c conda-forge pyeit
1.2 从源代码安装
您可以跟踪 git 的版本,并通过设置变量pyEIT
在本地使用它。PYTHONPATH
export PYTHONPATH=/path/to/pyEIT
如果你使用spyder
, 或者pyCharm
,你也可以PYTHONPATH
在 IDE 中设置 per project ,这样更方便。
或者,但不推荐,您可以从源代码编译和安装,
$ python setup.py build
$ python setup.py install
2.运行示例
从示例文件夹中,选择一个演示并运行!
注意:由于不同版本的 EIT 算法的参数可能会发生变化,以下图片可能已过时pyEIT
。它在代码中,所以只需运行演示。
2.1(2D)正向和逆向计算
使用 examples/eit_dynamic_bp.py
使用 examples/eit_dynamic_greit.py
使用 examples/eit_dynamic_jac.py
使用 examples/eit_static_jac.py
2.2(3D)正向和逆向计算
使用 examples/demo_forward3d.py
使用 examples/demo_dynamic_jac3d.py
限制:
vispy
可以使用鼠标滚轮交互地调整使用绘制的 3D 可视化。寻求完美的可视化模式,透明还是不透明,其实是个人品味。用户还可以尝试使用统一的 3D 网格结构进行可视化mayavi
。vtk
- 解决 3D EIT 的逆问题,需要将电极放置在多个高度(z 轴),以获得(更好的)z 分辨率。这应该小心完成,因为添加额外的 z 带会引入更多的刺激模式,这反过来会增加计算负载。
3. 为 pyEIT 做贡献
给pyEIT
一颗星,分叉这个项目并提交一个拉取请求(PR)!
3.1 功能列表
- EIT的二维正逆计算
- 重建算法:高斯-牛顿求解器 (JAC)、反投影 (BP)、2D GREIT
- 2D/3D 可视化!
- 添加对 3D 正向和逆向计算的支持
- 3D 网格生成和可视化
- 从 CT/MRI 生成 2D/3D 网格(基于 iso2mesh https://github.com/fangq/iso2mesh)
- 完整的电极模型 (CEM) 支持
- 实现二维差分 EIT 成像的 dbar 算法
3.2 包依赖
套餐 | 可选的 | 笔记 |
---|---|---|
麻木的 | 用numpy-1.19.1 |
|
scipy | 用scipy-1.5.0 |
|
matplotlib | 用matplotlib-3.3.2 |
|
熊猫 | 可选的 | 用pandas-1.1.3 |
黏糊糊的 | 可选的 | vispy 在 python 3.8 中失败 |
分布网格 | 可选的 | 提供了一个内置模块pyEIT |
匀称 | 可选的 | 用于胸部网格实施 |
Q1,为什么选择 vispy 进行 3D 可视化?
pyEIT
用于vispy
可视化 3D 网格(四面体),如果您仅使用 2D EIT,则不需要此模块。vispy
具有最小的系统依赖关系,它纯粹是 python。您所需要的只是一张不错的支持图形卡OpenGL
。它支持快速渲染,我认为它比vtk
or更好,mayavi
并且它对 python 3 的支持也不错。请访问网站vispy.org或 github 存储库vispy.github了解更多详细信息。vispy 的安装很简单,只需键入python setup.py install
. 我们也在考虑mayavi
未来版本的pyEIT
.
Q2、何时使用 Shapely?
pyEIT
用于Shapely
构建胸部网格和重建 EIT 胸部图像。胸部网格形状被认为是一个多边形,它是基于由EIDORS
EIT MATLAB 库模拟的胸部图形给出的真实几何测量构建的。该图依次基于真实的胸部 CT(计算机断层扫描)扫描。
要可视化胸部模拟,您应该安装Shapely
. 为此,您只需键入pip install Shapely
or conda install shapely
。您可以访问 Shapely 官方文档网站shapely.readthedocs.io了解更多详细信息或Shapely.pypi中的依赖项描述。
4. 引用我们的工作
pyEIT
于 2016 年第 17 届国际电阻抗断层成像会议上发表。现正式发表于softwareX
2018 年第 7 期。
如果您觉得pyEIT
有用,请引用我们的工作!
@article{liu2018pyeit,
title={pyEIT: A python based framework for Electrical Impedance Tomography},
author={Liu, Benyuan and Yang, Bin and Xu, Canhua and Xia, Junying and Dai, Meng and Ji, Zhenyu and You, Fusheng and Dong, Xiuzhen and Shi, Xuetao and Fu, Feng},
journal={SoftwareX},
volume={7},
pages={304--308},
year={2018},
publisher={Elsevier}
}