用于读取和或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搜索按钮不适用于我   java制作一个应用程序来打开您自己的文件扩展名   XMemcached中的java异步集   java无法在Android上使用HTML5 canvas touch   java是否可以用PHP为Restlet创建客户端?   java在主题中添加图标。AppCompat。光   java Safari错误,无法打开浏览器   java gson解析json值中commaseparatedvalue字符串中的项   java如何使用Quarkus在卡夫卡的同一主题中设置多个使用者   java组织。json。JSONException:在{main}()的第6个字符处的main后面应该是“:”   windowbuilder如何将Java文件导出到GATE developer   java这与安卓 studio ide问题有关,在更新我们的ide之后   java Android将活动加载到类中<?>对象   java如何在springdatajpa中使用DISTINCT、GROUP BY和ORDER BY?   使用jlink的java可复制构建