用于Jupyter实验室笔记本的HDF查看器

hdfviewer的Python项目详细描述


概述

hdfviewer是一个python3包,用于在jupyter lab笔记本的上下文中检查hdf文件。

。概述开始

它将HDF文件中的每个组表示为由以下子项组成的手风琴:

  • attributes:包含此组的hdf属性
  • :包含此组的hdf子组
  • 数据集:包含此组的hdf数据集

如果其中一个子项为空(例如,没有为给定组定义属性),则忽略相应的子项。 当一个到达hdf数据集时,有关该数据集的信息被收集(维度、数字类型、属性…)并显示在jupyter输出小部件中。对于1D、2D或3D数据集,也会显示数据集的视图。根据数据集的维度,显示将包括:

  • 1d:简单matplotlib 1d绘图
  • 2d:数据集的矩阵视图
  • 3d:数据集的矩阵视图

2d3d数据集的情况下,矩阵视图由数据集的选定帧的2d图像(对于2d数据集总是0)组成,数据集的1d列投影视图在其顶部,数据集的1d行投影视图在其右侧。矩阵视图与以下交互交互交互:

  • 2d

    • 在交叉和集成1D封装模式之间切换。在交叉打印模式下,1D投影视图表示resp。用户左键单击的矩阵图像点的行和列。在集成打印模式下,1D投影视图表示resp上的和。图像的行和列。要在这两种模式之间切换,请按i键。
  • 3d

    • 在交叉和集成1D封装模式之间切换。见上文。
    • pgdn键转到最后一帧。
    • pgup键转到第一帧。
    • 向下键向右键或按向下键鼠标滚轮
    • 向上向左键或按向上鼠标向下
    • n数字,然后按downright键,转到+n(n可以是>;9)帧
    • n数字后跟upleft键,转到-n(n可以是>;9)帧

。概述结束

笔记本中的用法

。使用开始

。代码块::python :caption:笔记本中的用法

%matplotlib ipympl

import h5py
from hdfviewer.widgets.HDFViewer import HDFViewer
from hdfviewer.widgets.PathSelector import PathSelector

path = PathSelector(extensions=[".hdf",".h5",".nxs"])
path.widget

if path.file:
    hdf5 = h5py.File(path.file,"r")
    display(HDFViewer(hdf5))

。使用结束

预申请站点

  • Python3+pip

安装

有关补充信息,请参见here <https://github.com/jupyter-widgets/ipywidgets/tree/master/packages/jupyterlab-manager>

  • cd指向存放setup.py文件的目录
  • pip3安装——用户。

故障排除

在jupyterlab上运行小部件可能会得到一些描述小部件的文本,而不是实际的小部件。这意味着您可能必须安装 jupyterlab-managerjupyter-matplotlib扩展。要检查此项,请运行以下命令:

  • jupyter labextension list

如果没有或只提到其中一个扩展,请运行以下命令安装缺少的扩展:

  • jupyter labextension install @jupyter-widgets/jupyterlab-manager
  • jupyter labextension install jupyter-matplotlib

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

推荐PyPI第三方库


热门话题
virtualbox无法从java移动共享文件夹中的文件   java如何连接Android 4.3.5(GA)的apache HttpClient库?   片段中的java Recyclerview未立即显示警报对话框结果   javac(n,r)计算器程序不工作   java使用BooleanQuery还是编写更多索引?   如何在java中设置y/n循环?   java不兼容的通用通配符捕获   java如何在安卓xml中编写数据绑定时的三元操作条件   java如何使用FileDialog?   java如何创建单元测试来检测是否有人使用错误的编码编辑了文件?   java如何从唯一的字符串生成唯一的int?   java gradletomcatplugin:log4j:WARN找不到记录器的附加程序   java我的动态编程解决方案(Kefa和第一步)在codeforces中有什么问题?   java每天更新两个数据库,使它们都包含相同的有效数据集   java如何检查给定的时间是否在时间限制之间   java在单个json POST上保存父级和子级   java如何获取Solr字段类型