用于读取和或sif文件的库

sifreader的Python项目详细描述


#SIF阅读器

此软件包用于读取和或SIF图像文件。

除了原始图像数据之外,它还提供对光谱的波长轴的访问,以及元数据,例如 曝光时间、增益、记录日期等。图像数据可以读取为numpy数组或 [xarray](https://xarray.pydata.org/en/stable/dataarray,它包含图像数据和坐标 单个对象中的轴和标签。对于光谱,光谱轴可以被归类为纳米、波数或 电子伏特。

据我们所知,这是目前唯一可以提取波长信息的python包 只使用纯python和numpy的.sif文件(即不依赖任何和或dll库)。

##要求 numpy(可选xarraypytest来运行单元测试)

##安装 使用pip安装: ` >pip install sifreader `

##用法

打开文件并打印元数据:

` >file = SIFFile('my_image.sif') >print(file) <sifreader.sifreader.sifreader.SIFFile object at 0x30f9eecc0> Original Filename:             E:\test_sequence.sif Date:                          Thu May 10 12:01:48 2018 ... `

以numpy数组的形式读取文件中包含的单个或所有帧: ` >first_frame = file.read_block(0) >all_frames = file.read_all() `

横轴包含在 xx轴成员变量中。如果文件包含频谱,则轴将是 以纳米计为单位的波长,否则它将包含像素号: ` >wavelengths = file.x_axis `

###使用可选的xarray软件包

以数据数组的形式读取文件中的所有帧: ` >xarr = file.as_xarray() `

对于光谱:制作一个包含ev中光子能量而不是默认波长的数据数组: ` >spectrum_file = SIFFile('my_spectrum.sif') >xarr = spectrum_file.as_xarray('photon_energy') `

dataarray的一个很好的特性是能够轻松地选择数据并绘制它: `python spectrum_file.as_xarray().sel(frames=0, wavelength=slice(749.5, 768.2)).plot() `

##版本历史记录

  • 0.2:增加了对波长信息、xarray导出和单元测试的支持
  • 0.1:首次发布

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

推荐PyPI第三方库


热门话题
java如何将jasper集成到jhipster项目中   java无法忽略lombok注释   关于tomcat日志的java问题   java@Autowired未设置字段>NullPointerException   GUI提交按钮不工作   java气泡和选择排序   java如何编写规则来匹配两个数组?   java如何找出某个字符在字符串中的第一次、第二次或第三次出现?   java通过字符串引用id   javascript在网络视图中加载在线图表   java保留web应用程序中用户更改的日志   在安卓中尝试使用Mandrill SMTP发送电子邮件时出现java错误   用java语言将a2b4c5等字符串转换为AABBCCCCC的程序是什么?   java无需TODO即可删除所有注释   java JMX MBean在应用程序部署时自动注册   java如何使用JSON解析从任何url解析数据   java@transactional注释类使用代理包装,但未创建事务   JavaFx转换和打印