Python模块来读取Cameca(nano)SIMS数据文件。

sims的Python项目详细描述


模拟人生

Python模块来读取Cameca(nano)SIMS数据文件。在

亮点

  • 从Cameca SIMS或nanomims文件中读入数据,使数据可以在Python科学堆栈(numpy/pandas/xarray/matplotlib)中直接访问。在

  • 读入文件的complete头。获取实验时记录的机器的每个设置。据我所知,没有其他软件能做到这一点。在

  • 读取几乎每个Cameca软件可以生成的文件。除了常见的数据文件(.im图像文件和.is'同位素'或spot文件),该软件还生成许多其他文件。举几个例子:

    • 高质量分辨率扫描(.hmr)
    • 二次离子束定心扫描(.sib)
    • 脉冲高度分布扫描(.phd)
    • E0S定心扫描(.E0S)
    • 能量扫描(.nrj)
    • 光束稳定性记录(.bs)
    • 还有更多!在

    其中大多数都可以被sims模块读取。尽可能增加对更多文件的支持。据我所知,没有其他软件能做到这一点。在

  • 直接从compressed文件读取数据。尤其是.im图像文件往往会占用大量空间,即使大多数数据是零。它们可以压缩到原来大小的90%。sims支持直接读取用gzip、bzip2、xz、lzma、7zip和zip压缩的文件。您还可以使用tar、zip或7zip将多个文件合并到一个多文件归档中,然后直接从中读取部分或全部文件。在

  • 它是开源和免费的,允许您确切地看到计算和数据转换是如何完成的。这与其他封闭源代码的程序形成了鲜明的对比,在这些程序中,你只需相信那些程序的编写者正确地实现了一切。你看不到他们是怎么做到的,因为他们不让你看到代码的内部。这个程序是完全开放的!看看事情是怎么做的,如果你不喜欢,就改进吧!在

新增功能

v2.0.0

由于0.25版pandas不再支持4DPanel和Panel。西姆斯已经改为使用xarray,这是推荐的 多维数据的数据结构。Xarray在很大程度上是基于pandas的,访问数据的语法几乎完全相同。有关详细信息,请参见xarray。在

sims的2.0版本也放弃了对Python2.x的支持,现在需要Python3.4或更高版本。在

v1.0.0

这个版本支持Python2.7并使用pandas作为数据结构。如果需要支持,请使用此版本。在

安装

安装此Python模块的要求:

  • Python 3.4或更新版本
  • 沙雷
  • 神经质的
  • scikit图像
  • matplotlib库

要安装,只需从命令行运行:

$ pip install sims

入门

一旦安装了sims,就可以开始使用nanomims文件了。在

^{pr2}$

# Show the header[13]:s.header...# too big to show here# Show a small portion of the header[14]:s.header['BFields'][0]{'b field enabled':True,'b field bits':856507,'wait time':0.0,'time per pixel':0.0075,'time per step':20.0,'wait time computed':False,'E0W offset':-13,'Q':389,'LF4':1601,'hex val':575,'frames per bfield':1,'Trolleys':[{'label':'12C','mass':12.004397767933469,'radius':442.47767499881127,'deflection plate 1':-68,'deflection plate 2':67,'detector':'EM','exit slit':268850,'real trolley':True,'cameca trolley index':0,'peakcenter index':1,'peakcenter follow':1,'focus':0.0,'hmr start':-16.996336996336996,'start dac plate 1':-68,'start dac plate 2':67,'hmr step':4,'hmr points':50,'hmr count time':0.54,'used for baseline':False,'50% width':95.616,'peakcenter side':'both','peakcenter count time':0.54,'used for sib center':False,'unit correction':0,'deflection':-9.963369963369964,'used for energy center':False,'used for E0S center':False,'trolley enabled':True,'used for phd scan':False,'phd start':3995,'phd step size':-30,'phd points':30,'phd count time':0.54,'phd scan repeat':3,'trolley label':'Trolley 1','detector label':'Detector 1'},...# Skipped all the other trolleys],'counting frame time':491.52,'scanning frame time':491.52,'working frame time':491.52}# Export header to JSON (text) format[19]:sims.utils.export_header(s,filename='header.txt')

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript如何找到socket。同一局域网上的IO服务器?   将Java代码格式化为Word/RTF格式   java学习对象以及如何将分配的变量封装到私有变量   java Websocket客户端不在Tomcat中工作   java如何在点击按钮时打开本机表情键盘?   java使用哪个Maven GlassFish插件?   Eclipse Java构建路径不允许添加外部JAR   继承Java6集合。勾选适当的用法   JavaApacheDateUtils:使用多个模式解析日期   java hibernate如何生成查询?   具有id或链接的java Dropbox下载文件或文件夹   java模态对话框未在PrimeFaces 5上显示   java将类对象转换为人类可读的字符串   更新数据库中字段的java通用方法   java无法通过Apache Tomcat访问网络文件夹