跳转到主要内容

一款从TCSPC FLIM数据中执行矢量图绘制的插件。

项目描述

napari-flim-phasor-plotter

License BSD-3 PyPI Python Version tests codecov napari hub DOI

Napari-flim-phasor-plotter是一个napari插件,可以交互式地加载和显示原始荧光寿命成像显微镜(FLIM)单张图像和系列,并生成矢量图。这些是使用napari-clusters-plotter绘图器对可视化衰变数据进行傅里叶变换的结果,并适应FLIM环境。这使得可以对FLIM图像进行定性和定量分析。


快速演示

内容

安装

我们建议在您的计算机上安装了Miniforge之后,使用mamba安装napari-flim-phasor-plotter。请按照以下步骤在终端中执行。

点击这里选择您操作系统的正确下载选项。

创建conda环境

mamba create -n napari-flim-phasor-env python=3.9 napari pyqt git

激活环境

mamba activate napari-flim-phasor-env

使用以下命令安装napari-flim-phasor-plotter插件:

pip install napari-flim-phasor-plotter

或者,克隆此存储库并使用以下命令安装最新的插件开发版本:

pip install git+https://github.com/zoccoler/napari-flim-phasor-plotter.git

用法

加载原始FLIM数据

1. 输入数据类型

此插件可以读取以下FLIM 文件类型

  • .ptu
  • .sdt
  • .tif
  • .zarr

此插件支持以下 数据形状

  • 2D FLIM图像(实际上是3D数据,其中FLIM计数在第一个轴上)。
  • 3D FLIM图像(实际上是4D数据,其中FLIM计数在第一个轴上)。
  • 3D时间间隔FLIM图像(实际上是5D数据,其中FLIM计数在第一个轴上)。
  • 多通道'.tif'或'.zarr'数据可能需要单独加载。

如果您使用此插件作为读取器来读取文件,它返回并按以下顺序与数据轴一起工作(来自多个探测器的数据以不同的napari层显示)

(flim_counts, time, z, y, x)

即使数据是2D的,插件也会添加一个单位time和一个z轴。它还通过求和flim_counts维度在另一个层中提供标准强度图像。

2. 打开原始FLIM图像

将兼容的文件格式(请参阅以下支持的文件格式此处)拖放到打开FLIM图像。它以两层显示:一个'原始FLIM图像序列'(对应于FLIM '微时间'每个单独时间点的强度图像序列),以及一个时间累积图像(通常称为'强度'图像)。通过滚动FLIM时间序列可以提供图像区域的寿命的第一印象。

3. 加载堆栈

如果您有多个切片或时间点作为单独的文件,您可以选择包含文件的文件夹。为了使插件正确构建堆栈,文件名必须包含关于它们代表哪个切片或时间点的指示,即,每个文件名应包含一个_t和/或_z后跟一个数字。这个数字应该从1开始,并随着每个新的切片或时间点增加1。

以下是一些示例模板

  • 时间间隔
    • image_t001.ptu
    • image_t002.ptu
  • z-stack
    • image_z01.sdt
    • image_z02.sdt
  • 3D时间间隔
    • image_t001_z001.tif
    • image_t001_z002.tif
    • ...
    • image_t002_z001.tif

4. 示例数据

此插件附带一些示例FLIM原始图像

  • '2D'原始FLIM图像
    • 榛子(原本是'.ptu'文件)
    • 种子囊(原本是'.sdt'文件)
  • '3D'原始FLIM图像堆栈(榛子3D)
    • 榛子3D(原本是一系列'.ptu'文件)
  • '2D'合成FLIM图像
    • 寿命猫

要加载它,请转到文件 > 打开示例 -> FLIM相量绘图器

相量分析

1. 生成相量图

从菜单插件 > FLIM相量图绘制器 > 计算相量调用插件,通过像素级的傅里叶变换生成衰减数据的相量图。在此选择要使用的FLIM图像(应该是包含原始数据的那一层),指定激光脉冲频率(如果文件元数据中包含信息,计算相量后将更新此字段)。选择一个谐波以实现最佳可视化,定义一个强度阈值(在此为绝对值)以排除光子计数低的像素,并可选地应用3x3中值滤波器的n次迭代。运行将创建相量图并在图层列表中创建一个额外的标签图层。

2. 相量图导航

使用顶部工具栏导航相量图。例如,通过激活缩放工具按钮(放大镜图标),您可以放大(左键点击)或缩小(右键点击),但请记住在使用后通过单击图标一次来禁用缩放工具

通过单击下拉菜单展开以显示高级选项更改相量图的色彩映射。在那里,您还可以选择通过勾选对数刻度复选框以对数刻度显示颜色范围。可选地,通过指定要显示的寿命范围(以逗号分隔)在tau线字段中添加tau线,然后单击显示/隐藏来在相量图上方可视化它们。

3. 相量图选择

手动在相量图中圈出感兴趣区域,以在新创建的图像图层中突出相应的像素。按住‘Shift’键以选择和可视化多个簇,作为研究具有类似FLIM模式图像区域的一种方式。

4. 将相量分析集成到工作流程中

聚类

此插件与napari-clusters-plotter插件集成。因此,您可以使用由napari-clusters-plotter插件提供的聚类小部件自动分割相量图,然后在原始FLIM图像中可视化分割结果。通过工具 -> 测量后处理 -> 聚类(ncp)访问。下面是演示

clustering

后处理

在簇选择后,为选定的簇使用不同的标签(颜色)是常见的。在每个标签中,断开连接的区域和孤立像素在分割中也很常见。为了解决这个问题,我们提供了一些基本的后处理函数。

一个常见的步骤是选择一个感兴趣的簇以进行进一步处理。通过选择标签图层(通常命名为cluster_ids_in_space)并勾选显示选定内容复选框,我们可以通过持续增加标签号直到找到所需的簇来识别我们的簇/标签。之后,我们可以通过插件 -> FLIM相量图绘制器 -> 手动标签提取提取所选标签作为掩码。这将创建一个包含所选簇掩码的新图层。

为了连接小型孤立区域并删除掩码中的小型孔洞,我们可以使用smooth_cluster_mask函数。可以通过插件 -> FLIM相量图绘制器 -> 平滑簇掩码访问。这将删除面积小于指定填充面积px的孔洞,并在给定的平滑半径内连接区域。在运行函数之前,请勿忘记选择包含掩码的图层,因为此函数期望一个包含单个标签的图层(如二值掩码)。

在此之后,我们可以使用其他插件,如napari-segment-blobs-and-things-with-membranesnapari-skimage-regionprops插件,进一步处理掩码。例如,我们可以通过工具 -> 分割/标记 -> 连接组件标记(scikit-image,nsbatwm)在掩码上进行实例分割。我们还可以通过工具 -> 测量表 -> 对象特征/属性(scikit-image,nsr)提取对象的特征。

下面是后处理步骤的演示

post-processing

此外,您可以通过运行以下 Jupyter Notebook 来重现此示例工作流程:Example_workflow.ipynb

保存结果

通过选择(点击)相应的 标签 层(通常命名为 cluster_ids_in_space)并转到 文件 -> 保存所选层 来保存您的分割结果。这可以将层保存为 .tif 文件。要保存相量图的截图,请点击工具栏上的 保存 按钮。要将相量图保存为 .csv 文件,转到 工具 -> 测量 -> 显示表格(nsr),将出现一个新的小部件。从 标签层 下拉菜单中选择包含表格的层,其名称以 Labelled_pixels_from_ 开头,然后点击 运行 按钮。这将显示每个像素的 GS 值的表格。点击 另存为 csv... 按钮将表格保存为 .csv 文件。

saving

数据转换

如果一组原始(未压缩)图像大于 4GB,我们建议将其转换为 .zarr 格式。这可以通过 插件 > napari-flim-phasor-plotter > 转换为 zarr 来完成。

警告:在当前版本中,使用 .zarr 的懒加载是可用的,但处理过程可能仍然会将所有数据加载到内存中,因此请注意您的内存使用情况。

限制

该插件目前尚不支持

  • 相量校准
  • 圆形聚类选择或光标选择(只有自由手选择可用)
  • 从相量图中选择聚类生成伪通道
  • FRET 分析
  • 分块处理
  • 衰减曲线拟合

贡献

非常欢迎贡献。可以使用 tox 运行测试,请在提交拉取请求之前确保覆盖率至少保持不变。

许可证

根据 BSD-3 许可证发布,“napari-flim-phasor-plotter”是免费和开源软件。

如果您在出版物中使用此插件,请引用我们:[https://doi.org/10.5281/zenodo.12620956](https://doi.org/10.5281/zenodo.12620956)

问题

如果您遇到任何问题,请附上详细描述[提交问题](https://github.com/zoccoler/napari-flim-phasor-plotter/issues)。

项目详情


下载文件

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

源分发

napari_flim_phasor_plotter-0.1.2.tar.gz (26.6 MB 查看哈希值)

上传时间

构建分发

napari_flim_phasor_plotter-0.1.2-py3-none-any.whl (26.7 MB 查看哈希值)

上传时间 Python 3