2D和3D大成像数据集的注册和融合。
项目描述
multiview-stitcher
multiview-stitcher
是一个开源的模块化工具箱,用于Python中的2-3D图像数据的分布式和拼接。它是一组算法(开发中),用于从多位置和多视图光片显微镜以及相关冷冻电镜数据集等其他模态中注册和融合小到大数据集。
对于可视化,相关的 napari-stitcher
使用 Napari 查看器提供可视化功能,包括独立的控件。
专注于互操作性和与现有工具和生态系统的集成,该软件包旨在尽可能紧密地与 NGFF规范 集成。
它利用了xarray
结合spatial-image
和multiscale-spatial-image
进行图像处理,以及dask
和dask-image
进行分块和分布式图像处理。
快速入门
笔记本
查看示例笔记本:example notebooks。
Napari 插件
有一个相关的 Napari 插件:napari-stitcher。
图像数据由 Arthur Michaut 提供,来自 Institut Pasteur 的 Jérôme Gros 实验室:Jérôme Gros Lab。
代码示例
以下代码片段将引导您完成一个小型拼接工作流程,包括
- 准备输入图像数据和元数据(瓦片位置、间距、通道)
- 注册瓦片
- 拼接/融合瓦片
1) 准备拼接数据
import numpy as np
from multiview_stitcher import msi_utils
from multiview_stitcher import spatial_image_utils as si_utils
# input data (can be any numpy compatible array: numpy, dask, cupy, etc.)
tile_arrays = [np.random.randint(0, 100, (2, 10, 100, 100)) for _ in range(3)]
# indicate the tile offsets and spacing
tile_translations = [
{"z": 2.5, "y": -10, "x": 30},
{"z": 2.5, "y": 30, "x": 10},
{"z": 2.5, "y": 30, "x": 50},
]
spacing = {"z": 2, "y": 0.5, "x": 0.5}
channels = ["DAPI", "GFP"]
# build input for stitching
msims = []
for tile_array, tile_translation in zip(tile_arrays, tile_translations):
sim = si_utils.get_sim_from_array(
tile_array,
dims=["c", "z", "y", "x"],
scale=spacing,
translation=tile_translation,
transform_key="stage_metadata",
c_coords=channels,
)
msims.append(msi_utils.get_msim_from_sim(sim, scale_factors=[]))
# plot the tile configuration
# from multiview_stitcher import vis_utils
# fig, ax = vis_utils.plot_positions(msims, transform_key='stage_metadata', use_positional_colors=False)
2) 注册瓦片
from dask.diagnostics import ProgressBar
from multiview_stitcher import registration
with ProgressBar():
params = registration.register(
msims,
reg_channel="DAPI", # channel to use for registration
transform_key="stage_metadata",
new_transform_key="translation_registered",
)
# plot the tile configuration after registration
# vis_utils.plot_positions(msims, transform_key='translation_registered', use_positional_colors=False)
3) 拼接/融合瓦片
from multiview_stitcher import fusion
fused_sim = fusion.fuse(
[msi_utils.get_sim_from_msim(msim) for msim in msims],
transform_key="translation_registered",
)
# get fused array as a dask array
fused_sim.data
# get fused array as a numpy array
fused_sim.data.compute()
安装
您可以通过 PyPI 使用 pip
安装 multiview-stitcher
pip install multiview-stitcher
或从本 GitHub 仓库的源代码安装
pip install git+https://github.com/multiview-stitcher/multiview-stitcher.git
浏览器中的拼接
multiview-stitcher
可在您的浏览器中无需安装运行。
试试看
- 在私密浏览器窗口中打开 JupyterLite
- 将此笔记本上传到 Jupyter lab 窗口:notebooks/stitching_in_the_browser.ipynb
- 将文件上传到 Jupyter lab 窗口中的 'data' 文件夹
- 按照笔记本操作
限制
- 拼接将以单个线程运行
- 虽然代码在本地运行,但您的本地文件系统无法从浏览器环境中直接访问
工作进行中
警告:这还在进行中。 multiview-stitcher
正在公开开发中,尚未达到稳定版本。API 可能会发生变化。
先前工作
multiview-stitcher
改进了并取代了 MVRegFUS。
问题
如果您遇到任何问题,请提供详细描述并提交问题。
贡献
欢迎贡献。
许可证
根据 BSD-3 许可证分发,"multiview-stitcher" 是免费和开源软件。
项目详情
下载文件
下载适合您平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建的发行版
multiview_stitcher-0.1.17.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 49bdfa95f034813fd7860aa71b2e4da7fdf52df607e9d556ef2144636620468a |
|
MD5 | 70cc24ba772ffaaead91c66af9df31d6 |
|
BLAKE2b-256 | 67c8e9a2c6b231b94e0ca8ea623dba507af52d6b5db85c79d1eb45f8b8d0f561 |
multiview_stitcher-0.1.17-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 25d961cf788fb814c1685daf0238f5efc8f0fc74f4493b9fbf9063e646bbbee3 |
|
MD5 | 974404d705af26d2d1fde3d412370a24 |
|
BLAKE2b-256 | c7b3c074c348529a1e85842a1beb456e448eb66f48285ee9a998b2deee368ce0 |