spiepy(scanning probe image enchanter using python)是一个python库,用于改进spm图像的自动处理。
SPIE的Python项目详细描述
python是一种用于自动处理科学数据的伟大语言。 扫描探针显微镜(SPM)以图像的形式产生科学数据, 具有原子或分子分辨率的表面图像。显微镜 生成不水平的曲面。在你分析表面之前, 表面必须先整平。这个python库提供 平展曲面并在曲面上生成统计数据的例程 结构。有污染、台阶边缘和原子或分子的表面 分辨率可以处理。
spiepy和spiw-matlab toolbox[source]是相关的项目。灵巧的用途 许多算法最初是由spiw项目设计的。表演 这些算法在科学仪器回顾中进行了讨论84,113701 (2013年)[DOI]。
库spiepy包含用于任务的模块的包spiepy 如上所述和spiepy.demo生成示例数据。有了这些样本数据, 你可以熟悉间谍。
依赖关系
spiepy需要numpy库(http://www.numpy.org),scipy库 (http://scipy.org)和matplotlib库(http://matplotlib.org)。
安装
使用pip:
> pip install SPIEPy
课程
- 即时消息
- spiepy_image_structure,用一个2d数组的图像设置属性{tt1}$。 数据,用图像的元数据设置所有其他属性。
功能
展平功能:
- 逐次展开掩码
- 按u峰展平
- 展平多边形
- 展开xy
定位功能:
- 找到掩蔽点并移除
- 定位区域
- 定位步骤
- 找到_槽_和_峰
掩蔽功能:
- 蒙版的意思是
- 用槽和峰掩盖
- 口罩整洁
测量功能:
- 测量功能属性
演示功能:
- 列出演示文件
- 加载演示文件
数据
-
纳米地图
- ColorMap是标准的橙色ColorMap,它使用了我最常用的SPM软件。
帮助
在解释器控制台上,使用内置的帮助功能获取帮助页面 模块,函数,…
>>> importspiepy,spiepy.demo>>> help(spiepy)...>>> help(spiepy.demo)...>>> help(spiepy.flatten_by_iterate_mask)...
示例用法
# -*- coding: utf-8 -*-## Copyright © 2014 - 2017 Stephan Zevenhuizen# Flattening terrace image, (09-10-2017).#importspiepy,spiepy.demoimportmatplotlib.pyplotaspltimportnumpyasnpim=spiepy.Im()demos=spiepy.demo.list_demo_files()print(demos)im.data=spiepy.demo.load_demo_file(demos[1])plt.imshow(im.data,cmap=spiepy.NANOMAP,origin='lower')print('Original image.')plt.show()im_out,_=spiepy.flatten_xy(im)plt.imshow(im_out.data,cmap=spiepy.NANOMAP,origin='lower')print('Preflattened image.')plt.show()mask=spiepy.locate_steps(im_out,4)plot_image=np.ma.array(im_out.data,mask=mask)palette=spiepy.NANOMAPpalette.set_bad('#00ff00',1.0)plt.imshow(plot_image,cmap=palette,origin='lower')print('Preflattened image, mask.')plt.show()im_final,_=spiepy.flatten_xy(im,mask)plt.imshow(im_final.data,cmap=spiepy.NANOMAP,origin='lower')print('Flattened image.')plt.show()y,x=np.histogram(im_out.data,bins=200)ys,xs=np.histogram(im_final.data,bins=200)fig,ax=plt.subplots()ax.plot(x[:-1],y,'-b',label='Standard plane flattening')ax.plot(xs[:-1],ys,'-r',label='SPIEPy stepped plane flattening')ax.legend(loc=2,fancybox=True,framealpha=0.2)ax.set_xlabel('z (nm)')ax.set_ylabel('count')plt.show()