此页面最后一次修订为 version 5.1.0。
种子追踪允许在关键位置(machine learning predictions、体细胞位置、神经突端点、手动注释等)周围锚定/约束追踪算法。 种子是一个 3D 点,带有位置、置信度分数和一些可选属性(半径、类型、源、通道、框架)。种子使用专用渲染器覆盖在图像上,并且不会影响其他覆盖的对象,例如路径或 ROI。种子的常见来源包括:
- 深度学习检测器,输出候选体体/端点坐标(参见Machine Learning)
- 标签/分割图像 例如,来自 cellpose、Stardist、Labkit 或 TWS,其中每个标签/连接组件产生一个种子(例如,cellpose 掩码可用于在自动追踪时指定体细胞位置 multiple cells)
- ROIs 例如,从 ImageJ 例程生成(区域和线 ROI 被简化为代表点)
- 从外部工具或脚本导出的表格数据 (CSV)
种子追踪助手

种子跟踪助手 是 Main Dialog 中的主要选项卡之一,用于管理种子。它分为四个部分:显示工具栏、置信度过滤器、所有已加载种子的表格以及用于 import、export 和 autotrace 操作的底部工具栏。
显示工具栏
控制种子在跟踪画布上的渲染方式,包括:
- 显示/隐藏种子切换按钮,用于显示整个种子覆盖层
- 颜色表控件 设置查找表 (LUT)、透明度以及驱动 LUT 映射的_颜色模式_:
- Confidence:根据活动滤波器窗口内的种子置信度采样的 LUT
- Index:每个种子有一个不同的 LUT 插槽。这允许在 Distinct/Glasbey 查找表下用独特的颜色渲染种子
- 类型/来源:种子按_类型_或_来源_进行颜色编码
置信度过滤
两个滑块设置包含 \([low, high]\) 的置信范围。范围之外的种子隐藏在画布覆盖层和表格视图中;它们保留在基础数据中,可以通过扩大范围来恢复。滑块下方的标签报告当前正在过滤的种子数量。
种子表
每行列出一个种子。选择表中的行也会选择画布上相应的种子(反之亦然)。该表的结构如下:
| 专栏 | 意义 |
|---|---|
| X、Y、Z | 物理(校准)坐标中的位置 |
| 信心 | 得分为 \([0, 1]\)。驱动颜色映射和置信范围过滤器 |
| 半径 | 可选的球体半径(物理单位)。仅积分种子为零 |
| 类型 | 自由形式类别(例如_soma_、endpoint、waypoint) |
| 来源 | 该种子来自哪里(例如_roi_、labels-image:cellpose.tif) |
| 状态 | 覆盖范围指标(见下文)。仅当 SNT 有跟踪数据时才出现 |
Right Click 将画布导航到该种子的行(设置时遵循通道/帧;否则使用活动 C/T)。底部工具栏上的_访问缩放级别_微调器控制转到期间应用的缩放级别
Double Click 用于选择和编辑控件。选择_分离_将表移动到其自己的窗口中以获得更大的工作区域
- 通过单击列标题进行排序;置信过滤器在各种情况下都存在
当跟踪暂停时,⌥ Alt + Left Click 在种子标记上进行编辑。
导入种子
来自 CSV 文件
Import › From CSV File…
SNT 读取带有标题行的逗号或制表符分隔的表,以及以下必需的列(不区分大小写,允许空格):x、y、z、confidence、radius。可选栏包括:channel、frame、type、source。缺席时应用默认值。
注意:体素索引输入可以在导入时使用图像的间距转换为物理(空间校准)位置
来自标签/掩模图像
Import › From Labels/Masks Image…
该程序将解析标签/掩模图像(例如由 cellpose、Stardist、Labkit or TWS 生成),并为每个非零标签提取一个种子。对于每个标签,SNT 计算:
- 物理坐标中的质心
- 体积等于标签总体积的球体的 半径: \(r = \sqrt[3]{\frac{3V}{4\pi}}\)
- 置信度 在 minConfidence (最小标签)和 \(1.0\) (最大)之间线性插值。例如,在 cellpose mask 的情况下:具有最小体积的标签将被指定为最低置信度、最大、最高置信度
注意:如果所选图像是二值掩模,则每个标签一个种子会将整个前景折叠成单个种子。 SNT 检测到这种情况,并建议首先运行连通分量分析(2D 中的 8 个连通性,3D 中的 26 个连通性),标记每个不同的对象,然后继续处理标记的图像。
来自投资回报率
Import › From ROI Manager…
SNT 将使用以下标准解析 ROI 管理器中存储的所有 ROI:
- 区域 ROI(椭圆形、多边形、矩形、手绘、追踪):质心作为位置;匹配区域圆盘的半径:\(r = \sqrt{\frac{A}{\pi}}\))
- 线 ROI(直线):中点作为位置;半径是路径长度的一半。 折线/自由线:顶点质心;半径是线段长度总和的一半
- 点 ROI:每个包含的点都成为自己的种子(无半径)
- 其他几何图形(角度、复合):边界中心位置,无半径
注意:通道和帧在设置时来自 ROI 的超堆栈位置,否则来自图像的活动 C/T。导入 ROI 时,可以设置其种子_type_ 和_confidence_ 值(默认1.0)。
来自工作区
Import › From Workspace…
此选项直接从当前的 SNT session directory 加载先前导出的 seeds.csv。对于在 SNT 重新启动时快速恢复种子很有用。
导出种子
到 CSV 文件
Export › To CSV File…
此选项将所有种子导出到 CSV 文件,其列布局与 importer 使用的列布局相同。
致投资回报率经理
Export › To ROI Manager…
将种子转换为 ImageJ ROI。具有设定半径的种子变成直径为\(2r\)的圆;没有半径的种子成为点 ROI。默认情况下,导出表中选定的种子;如果未选择任何行,则转换所有种子。请注意,种子 → ROI 转换是有损的,因为 ROI 不知道_confidence_、type 或_source_。
到工作区
Export › To Workspace…
将所有种子写入当前会话目录中的 seeds.csv 文件。对应的From Workspace从同一位置重新加载。
从种子自动追踪
种子可以通过不同的方式驱动自动跟踪,可以通过底部工具栏上的自动跟踪下拉菜单进行访问。 命名约定将算法角色与其生物学解释配对:Roots → Somata; 端点 → 提示; _航点→路径吸引子。所有跟踪命令都继承 Grayscale/ Segmented 下记录的参数 - 图像自动跟踪:只有与种子相关的参数和种子所扮演的角色有所不同。
种子为根 / Somata
Run Auto-Tracers › Grayscale Image (One Tree per Seed)…
每个过滤后的种子都成为其自己的自动跟踪的根;自动追踪的体细胞检测策略被绕过,因为种子_是_根。该命令对每个种子迭代一次跟踪器运行,并将生成的树聚合成森林:每个种子一棵树。 失败(无法访问的种子、后台的种子等)会记录到控制台,但不会中止运行。
种子源过滤器(Visible/All/Selection only)和类型过滤器允许您将每个种子循环限制为一个子集。 当从选定的行调用时,源过滤器预先定位到“仅选择”。
种子作为端点/提示
Run Auto-Tracers › Grayscale Image (Single Cell)…
在这种方式中,过滤后的种子成为尖端目标。自动跟踪器从体体运行检测一次,然后通过父指针字段提取从每个尖端返回根的最短路径。这相当于 SNT 用于交互式端点单击的 A* 最短路径跟踪,但在整个种子集上进行批处理。 输出是一棵树,将体体连接到每个可到达的尖端;落在前景之外或图像边界之外的提示将被记录并跳过。 根据定义,种子提示是必需的端点,因此自动跟踪不会执行任何分层分层。
种子作为路径点/路径吸引力子
Run Auto-Tracers › Grayscale Image (Single Cell, Constrained)… 在这种模式中,过滤后的种子作为_软吸引子_:自动跟踪器利用的成本图局部偏向于每个路点体素,从而生成的树优先路由穿越(或接近)种子的路径。,保护根到路径点的路径然后力标准宽度通道的影响,确保有目标的路径能够到达最终的树中。
提示显示了三个偏差控制:
-
偏差源:来自置信度(默认:每个种子的置信度值会缩放其吸引力)、来自半径(跨路点集标准化的半径)或_统一_(固定因子)
-
偏差强度:
[0, 1]中的总体乘数。默认的0.9意味着置信度为1的种子几乎一直被拉到零成本体素 -
偏置球体半径(体素):每个航路点周围偏置的空间范围。一个小球体(2-3个体素)通常就足够了;更大的值可能会在低损的偏差边界处产生幻影子
偏差只是一个提示,而不是硬性约束。如果周边提供了一条更便宜的路径来绕过路径点,则航线仍然可以绕过它。对于更严格的“必须访问此点”语义,请改用Tips命令。
#作为审查工具的种子 在这种方式中,种子被转换为_审查地点_并发送至Curation Assistant进行检查。对于现有重建的质量评估以及使用QC分类训练器数据闭合循环方式:每个位置都可以标记为_accept_ / reject / _unsure_并导出为下训练的标签。
编写脚本
种子覆盖层可通过 scripts 和 snt.getSeedOverlay() 访问。
GUI中可用的相同操作(添加、删除、过滤、更改颜色、使用不同角色的运行自动跟踪器)可以通过Smashing方式执行。