一个用于使用openslide和dask懒加载多尺度全切片图像的插件
项目描述
napari-lazy-openslide
一个实验性的插件,用于使用openslide和dask懒加载多尺度全切片tiff图像。
此napari插件是用Cookiecutter和@napari的cookiecutter-napari-plugin模板生成的。
安装
步骤1.) 确保您已安装OpenSlide。下载说明在此。
注意:在macOS上通过Homebrew安装最简单:
brew install openslide
。最新的多平台二进制文件也通过conda
提供:conda install -c sdvillal openslide-python
步骤2.) 通过pip
安装napari-lazy-openslide
pip install napari-lazy-openslide
使用
Napari插件
$ napari tumor_004.tif
通过pip
安装此软件包后,插件应该会被napari
识别。该插件尝试读取由openslide
识别的、多尺度的图像格式(openslide.OpenSlide.level_count > 1
)。
需要注意的是,napari-lazy-openslide
是实验性的,并且主要与CAMELYON16
和CAMELYON17
数据集进行了测试,这些数据集可以从此处下载。
使用Zarr和Dask与OpenSlideStore
OpenSlideStore
类将openslide.OpenSlide
对象包装为有效的Zarr存储。底层的openslide
图像金字塔被转换为Zarr多尺度扩展,其中金字塔的每一层都是一个独立的3D zarr.Array
,形状为(y, x, 4)
。
import dask.array as da
import zarr
from napari_lazy_openslide import OpenSlideStore
store = OpenSlideStore('tumor_004.tif')
grp = zarr.open(store, mode="r")
# The OpenSlideStore implements the multiscales extension
# https://forum.image.sc/t/multiscale-arrays-v0-1/37930
datasets = grp.attrs["multiscales"][0]["datasets"]
pyramid = [grp.get(d["path"]) for d in datasets]
print(pyramid)
# [
# <zarr.core.Array '/0' (23705, 29879, 4) uint8 read-only>,
# <zarr.core.Array '/1' (5926, 7469, 4) uint8 read-only>,
# <zarr.core.Array '/2' (2963, 3734, 4) uint8 read-only>,
# ]
pyramid = [da.from_zarr(store, component=d["path"]) for d in datasets]
print(pyramid)
# [
# dask.array<from-zarr, shape=(23705, 29879, 4), dtype=uint8, chunksize=(512, 512, 4), chunktype=numpy.ndarray>,
# dask.array<from-zarr, shape=(5926, 7469, 4), dtype=uint8, chunksize=(512, 512, 4), chunktype=numpy.ndarray>,
# dask.array<from-zarr, shape=(2963, 3734, 4), dtype=uint8, chunksize=(512, 512, 4), chunktype=numpy.ndarray>,
# ]
# Now you can use numpy-like indexing with openslide, reading data into memory lazily!
low_res = pyramid[-1][:]
region = pyramid[0][y_start:y_end, x_start:x_end]
贡献
欢迎贡献。可以使用tox
运行测试,请确保在提交拉取请求之前,覆盖率至少保持不变。
问题
如果您遇到任何问题,请提交一个问题,并附上详细的描述。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
napari-lazy-openslide-0.3.0.tar.gz (9.4 MB 查看哈希值)
构建分布
关闭
napari-lazy-openslide-0.3.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | faf95a770b6a99ccd8c0e04bc6d2431c270258bb8912169e277377e6bc31f4d7 |
|
MD5 | 21c249ea95fc6126ddcf4d043471b48f |
|
BLAKE2b-256 | eb1e6331a108dbe7b74eb9107fbe56ca2dfe69df348cc9fc5afad3b3303b10dd |
关闭
napari_lazy_openslide-0.3.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | efc5510d09f3c34e26705efecff8c2e7f331d720ab2bff53ae642850377ffbc9 |
|
MD5 | 3b3455c19f0a6cad8339f49b3404d33d |
|
BLAKE2b-256 | 26a08d652eaa880ba0d888e8e95cbff15824442932b7272e87748115f547a764 |