简单的nd图像查看器
项目描述
ndv
简单的、快速加载、异步的、Qt的多维数组查看器,依赖最少。
import ndv
data = ndv.data.cells3d()
# or ndv.data.nd_sine_wave()
# or *any* arraylike object (see support below)
ndv.imshow(data)
作为ndv.imshow()
的替代,您可以直接实例化ndv.NDViewer
(QWidget
子类)
from qtpy.QtWidgets import QApplication
from ndv import NDViewer
app = QApplication([])
viewer = NDViewer(data)
viewer.show()
app.exec()
ndv.NDViewer
- 非常快速的导入和加载时间
- 支持任意数量的维度,具有2D/3D视图画布,以及所有不可见维度的滑块
- 滑块支持整数以及基于切片(范围)的切片
- 由cmap提供的彩色图
- 支持vispy和pygfx后端
- 支持任何类似于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,但欢迎对新的包装器做出贡献!)
安装
唯一所需的依赖项是numpy
和superqt[cmap,iconify]
。您还需要一个Qt后端(PyQt或PySide)以及vispy或pygfx之一,可以通过额外的ndv[<pyqt|pyside>,<vispy|pygfx>]
安装。
pip install ndv[pyqt,vispy]
![提示] 如果你同时安装了vispy和pygfx,
ndv
将默认使用vispy,但你可以通过环境变量NDV_CANVAS_BACKEND=pygfx
或NDV_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 查看哈希)
关闭
ndv-0.0.4.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ef5ba6ca3aaec0cbc8dbfef160045ab9f10505307dec6f3da76637b053f9f535 |
|
MD5 | d7a5ba86ba74bcee3c93bf5b9415842f |
|
BLAKE2b-256 | 27a1b3bc45071fed07a937e8b08bc845f88bd68086a817aa9b1fe0adbab2adad |
关闭
ndv-0.0.4-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 92923ec3853860eb9369511dce88baf9009c60465093579c3f50901d43d086ec |
|
MD5 | 30dfcf053ddf640739ed36c7794ec722 |
|
BLAKE2b-256 | 2a159215ee0483e728abd1726cff52887d0b7a35bc70653a8445a49fd83f208d |