napari时间点处理元插件,按时间点处理时间序列数据
项目描述
napari-time-slicer
按时间点处理时间序列数据的元插件。它允许一系列napari插件在用户浏览时间序列时逐步处理2D+t或3D+t数据。目前,这些插件正在使用napari-time-slicer
- napari-segment-blobs-and-things-with-membranes
- napari-cupy-image-processing
- napari-pyclesperanto-assistant
- napari-accelerated-pixel-and-object-classification
- napari-simpleitk-image-processing
- napari-stress
- napari-process-points-and-surfaces
napari-time-slicer
使插件之间能够通信,例如,允许将上述插件组合到一个图像处理工作流程中,以分割时间序列数据集
然后还可以将工作流程导出为脚本。'生成代码'按钮可以在工作流程检查器中找到
如果您想将3D数据集转换为2D+时间数据集,请使用菜单工具 > 工具 > 将3D堆栈转换为2D时间序列(时间切片器)
。它将3D数据集转换为4D数据集,其中Z维度(索引1)只有一个元素,在napari中将使用时间滑块显示。注意:建议在转换后删除原始3D数据集。
处理大型即时处理数据集
您可以在时间序列数据集上设置napari-assistant
复杂图像处理工作流程。结合时间切片器,可以处理大于可用计算机内存的时间序列数据。如果工作流程仅由图像和标签图像组成,并且出现内存不足问题,请考虑按照以下程序将中间结果存储在磁盘上:在工作流程设置并测试几个选定帧后,使用菜单工具 > 工具 > 将数据转换为基于文件的时序数据(时间切片器)
将整个处理后的时间序列数据集存储到磁盘上。它将打开此对话框,您可以在其中选择
建议在文本字段中输入文件夹位置。如果没有提供,将创建一个临时文件夹,通常在用户主目录中的用户临时文件夹中。用户负责定期清空此文件夹。此文件夹中存储的数据也可以通过其文件 > 打开文件夹...
菜单加载到napari中。
执行此操作可能需要时间,因为每次时间点都会计算。之后,在napari中将出现另一个层,通常导航速度更快。考虑删除仅用于确定新基于文件的层的层。
插件开发人员使用方法
实现napari_experimental_provide_function
钩子的插件可以利用@time_slicer
。目前,仅支持接受napari.types.ImageData
、napari.types.LabelsData
和基本Python类型(如int
和float
)的函数。如果您使用@time_slicer
注解此类函数,它将内部将任何4D数据集转换为3D数据集,该数据集根据napari中当前选择的时间点。此外,当napari用户更改当前时间点或函数的输入数据更改时,将调用重新计算。因此,建议仅对可提供[几乎]实时性能的函数使用time_slicer
。另一个约束是,这些注解函数必须具有viewer
参数。这是必要的,以便在调用重新计算时从查看器中读取当前时间点。
示例
import napari
from napari_time_slicer import time_slicer
@time_slicer
def threshold_otsu(image:napari.types.ImageData, viewer: napari.Viewer = None) -> napari.types.LabelsData:
# ...
您可以在上面列出的napari插件中看到此概念的完整实现。
如果您想结合时间和逐层处理Z堆栈图像的切片,可以使用@slice_by_slice
注解。确保将其插入到@time_slicer
之后,如以下所示并实现于napari-pillow-image-processing
from napari_time_slicer import slice_by_slice
@time_slicer
@slice_by_slice
def blur_2d(image:napari.types.ImageData, sigma:float = 1, viewer: napari.Viewer = None) -> napari.types.LabelsData:
# ...
此napari插件是用Cookiecutter和@napari的cookiecutter-napari-plugin模板生成的。
安装
您可以通过pip安装napari-time-slicer
。
pip install napari-time-slicer
要安装最新开发版本
pip install git+https://github.com/haesleinhuepf/napari-time-slicer.git
贡献
欢迎贡献。可以使用 tox 运行测试,请在提交 pull request 前确保覆盖率至少保持不变。
许可
在 BSD-3 许可证下分发,"napari-time-slicer" 是免费和开源软件。
问题
如果您遇到任何问题,请附上详细描述,通过 提交问题。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
构建分发
napari-time-slicer-0.5.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 950d3b35d9f1657178201da73de56d038e9bf4e257cf120882081f2707f1e074 |
|
MD5 | 27b8f42fa1ec8062cbbd92c27c343c02 |
|
BLAKE2b-256 | f07e4bc75a41176ba66cdefb0b1ccb861e676f2c9cc3427ee1572f748d2905fc |
napari_time_slicer-0.5.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6c7f53f762cb3410da097be43ba47b4f4213e89930a3ade3ec1c7c1beb9d605f |
|
MD5 | 7008d641339f536e42ffc3f943ce5af8 |
|
BLAKE2b-256 | 5e70f4cec1bbd3b7256336979ff13bc4401382e52d4ff67a68c1e7e65125cf5f |