跳转到主要内容

简单的nd图像查看器

项目描述

ndv

License PyPI Python Version CI codecov

简单的、快速加载、异步的、Qt的多维数组查看器,依赖最少。

import ndv

data = ndv.data.cells3d()
# or ndv.data.nd_sine_wave()
# or *any* arraylike object (see support below)

ndv.imshow(data)

Montage

作为ndv.imshow()的替代,您可以直接实例化ndv.NDViewerQWidget子类)

from qtpy.QtWidgets import QApplication
from ndv import NDViewer

app = QApplication([])
viewer = NDViewer(data)
viewer.show()
app.exec()

ndv.NDViewer

  • 非常快速的导入和加载时间
  • 支持任意数量的维度,具有2D/3D视图画布,以及所有不可见维度的滑块
  • 滑块支持整数以及基于切片(范围)的切片
  • cmap提供的彩色图
  • 支持vispypygfx后端
  • 支持任何类似于numpy的鸭子数组,包括但不限于
    • numpy.ndarray
    • cupy.ndarray
    • dask.array.Array
    • jax.Array
    • pyopencl.array.Array
    • sparse.COO
    • tensorstore.TensorStore(支持命名维度)
    • torch.Tensor(支持命名维度)
    • xarray.DataArray(支持命名维度)
    • zarr(支持命名维度)

请参阅示例中的每种数组类型的示例

[!NOTE] 您可以通过扩展ndv.DataWrapper并实现一些方法来添加对任何自定义存储类的支持。
(这不需要修改ndv,但欢迎对新的包装器做出贡献!)

安装

唯一所需的依赖项是numpysuperqt[cmap,iconify]。您还需要一个Qt后端(PyQt或PySide)以及vispypygfx之一,可以通过额外的ndv[<pyqt|pyside>,<vispy|pygfx>]安装。

pip install ndv[pyqt,vispy]

![提示] 如果你同时安装了vispy和pygfx,ndv将默认使用vispy,但你可以通过环境变量NDV_CANVAS_BACKEND=pygfxNDV_CANVAS_BACKEND=vispy来覆盖此设置。

动机

这个包源于快速查看多维数组的需要,对长导入时间和/或过多的依赖列表零容忍。我希望有一个可以用于查看任何多维数组类型的工具,无需对维度做出任何假设。我希望它能很好地与远程异步加载数据一起工作。我还希望它能够利用命名维度和分类坐标值(当可用时)。目前,它是一个仅适用于Qt的窗口小部件,因为需求就是在这里产生的,但我可以想象将来可能会有一个jupyter窗口小部件(可能作为vispy/pygfx的远程帧缓冲区)。

我并不打算将其发展成为一个完整的应用程序或包裹完整的场景图,尽管点选和ROI选择将是受欢迎的附加功能。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

ndv-0.0.4.tar.gz (34.8 kB 查看哈希)

上传时间 源代码

构建分发

ndv-0.0.4-py3-none-any.whl (34.6 kB 查看哈希)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面