这是一个基于Python的GUI应用程序,旨在帮助科研人员将2D图像(尤其是扫描探针显微镜、透射电子显微镜等图像)转换为3D曲面图进行可视化,并对其进行初步的结构分析,例如计算径向分布函数(RDF)。
本项目的灵感来源于一篇发表在 Nature Communications 上的论文,旨在复现并扩展其酷炫的原子级可视化效果。
来源: Nature Communications, https://doi.org/10.1038/s41467-025-61871-2
- 加载图像: 支持加载主流的图像格式 (JPEG, PNG, BMP, TIFF等)。
- 自由旋转选区: 用户可以通过鼠标拖拽选择一个矩形区域,并通过拖动角点手柄任意旋转该选区,以精确匹配倾斜的特征。
-
原子点识别与标记: 能够自动识别选区内的局部亮点(可视为原子),并在原始图像上用红色圆圈进行标记,方便用户核对。
-
计算径向分布函数 (RDF): 基于识别出的原子坐标,一键计算并绘制径向分布函数g(r)图,为材料的有序性分析提供定量依据。
本项目基于 Python 3.x 开发,需要以下第三方库的支持:
Pillownumpymatplotlibscipyscikit-image
Tkinter 是Python的标准库,通常无需额外安装。
-
克隆或下载项目 将本项目所有文件下载到您的本地文件夹。
-
安装依赖库 打开终端或命令提示符,使用pip一次性安装所有必需的库:
pip install pillow numpy matplotlib scipy scikit-image
-
运行程序 在终端中,进入项目所在的文件夹,然后运行以下命令:
python gui_surface_plotter.py
程序的主窗口将会启动。
- 点击 “1. 加载图片” 按钮,选择一张本地图片。
- 在图片上按住鼠标左键并拖拽,以选择一个初始的矩形区域。
- 松开鼠标后,选框右上角会出现一个蓝色圆形手柄。按住并拖动此手柄,可以旋转选框。
- 确定好选区后,点击 “2. 生成3D图” 来进行三维可视化。
- 点击 “3. 生成径向分布图”,程序会弹出一个新窗口,其中包含标记了原子位置的选区图和对应的RDF图。
本项目由公众号 “小黄鸭科研笔记” 开发和维护。
如果您在使用过程中遇到任何问题,或有任何改进建议,欢迎随时通过公众号后台留言与我交流!
