我知道编辑这个网站吗?

扩展 SNT

实现和算法

SNT算法的高级描述可以在GitHub上找到。

在其他项目中使用SNT

目前,改进代码库的最简单方法是遵循 source-code repository 的指导。您可能需要对 IDEmaven 有一定的_基本_熟悉。

要在您自己的项目中使用 SNT 作为软件库,只需在项目的 pom 中添加 SNT 作为 Maven 依赖项,例如:

<!-- https://mvnrepository.com/artifact/org.morphonets/SNT -->
<dependency>
    <groupId>org.morphonets</groupId>
    <artifactId>SNT</artifactId>
    <version>4.2.0</version> <!-- only required if pom-scijava is not being used as parent pom -->
</dependency>

有关SNT使用软件库的具体示例,请参见例如this forum thread

管状测地线

管状测地线插件是几年前为Simple Neurite Tracer开发的,但在现代SNT中安装仍然有效。它们可以作为SNT附加组件手动安装。之后,它们允许追踪图像的过滤版本,其中使用ITK分割显着增强了神经元过程(或其他管状结构)。更多详细信息请查看以下页面:

管状测地线参考: doi:10.1109/cvpr.2012.6247722

痕迹文件格式

SNT保存的.traces文件是gzip压缩的XML。SNT填写并保存未压缩的XML文件,但压缩格式为默认格式。

XML DTD 包含在每个文件的 DOCTYPE 中。根元素始终为 <tracings>,它可以包含以下元素:imagesizesamplespacingpathfill

imagesize

必须恰好有一个 <imagesize> 元素,其属性描述体素中的图像尺寸:

<imagesize width="520" height="434" depth="117"/>

|属性|描述| |————|————-| | width|沿X轴的体素数量 | | height | 沿 Y 轴的体素数量 | | depth | 沿 Z 轴的体素数量 |

samplespacing

必须恰好有一个 <samplespacing> 元素,其属性描述世界坐标中的体素分布:

<samplespacing x="0.28838738962693633" y="0.28838738962693633" z="1.2" units="micrometers"/>

|属性|描述| |————|————-| | x|沿X的体素分布(以世界坐标单位表示)| | y | 沿 Y 的体素分布(以世界坐标单位表示)| | z | 沿Z轴的体素分布(以世界坐标单位表示) | units|测量单位(例如,"micrometers")|

path

每个<path>元素代表一条跟踪路径,并且可以具有以下属性:

属性 描述    
id 非负整数ID,在文件中的所有路径中唯一    
name 给出该路径名称的字符串    
reallength 通过对连续点之间的欧几里德距离求并计算下面的路径长度,单位为samplespacing    
swctype 根据SWC specification定义路径类型的整数标志。如果不存在则默认为 0    
如果,则还必须指定已废弃用的 startsindex 或推荐的 startsx/startsy/startsz startson 该路径起点分支的路径 ID。  
startsxstartsystartsz startson给出的路径上分支点的世界坐标。如果指定了任何一项,则所有三项都必须是    
endson 该路径结束的路径的ID。如果,则还必须指定已弃用的endsindex或推荐的endsx/endsy/endsz §§§14§§§ 该路径结束的路径的ID。
§§§19§§§、§§§20§§§、§§§21§§§ §§§22§§§给出的路径上该路径终止点的世界坐标。如果指定了任何一项,则所有三项都必须是    
§§§23§§§ 另一条路径的ID,该路径是该路径的一个版本(具有调整后的中心线和半径)。与§§§24§§§互斥    
§§§25§§§ 派生此路径的未移植源路径的ID。与§§§26§§§互斥    
§§§27§§§ 当 §§§28§§§ 或 §§§29§§§ 时为必填项。值为 §§§30§§§ 或 §§§31§§§。对于具有传输版本的未连接路径,§§§32§§§ 表示应显示连接版本。对于连接路径,应始终为 §§§33§§§。 *注意:该属性的语义令人困惑,将在未来版本中被替换。    
§§§34§§§ 已弃用。 §§§35§§§ 给出的路径中分支点的从0开始的索引  
§§§36§§§ 已弃用。 §§§37§§§ 给出的路径中连接点的从0开始的索引  

point

每个<path>可以包含零个或多个代表沿着路径的坐标的<point>元素:

属性 描述
xdydzd 该点在世界坐标中的位置。这些是用于长度计算的值
r 此时神经元的半径(可选)
txtytz 此时神经沿元的切连接(可选)
x, y, z 放弃使用。 图像已坐标中的位置(基于 0 的体素索引)

fill

每个<fill>元素代表路径周围的填充。它包含从路径节点开始搜索期间找到的所有点;实际填充由低于指定阈值的那些点组成。(存储完整的集合,以便在重新加载填充时恢复可以搜索。)

属性 描述  
id 一个非负整数ID,在文件中的所有填充中唯一  
frompaths 此填充开始的路径的分隔分隔(任选空格分隔)ID。例如,frompaths="2, 0" 表示此处填充 路径 2 和 0 上的节点 中的距离为0
metric 填充期间使用的成本函数。(该属性名称是一个旧用词,保留是为了坚固兼容。)  
threshold 距离阈值。距离低于该值的点被视为填充的一部分  

node

每个<fill>可以包含代表各个搜索节点的<node>元素:

属性 描述    
id 一个非负整数 ID,在封闭的填充中 内是唯一的  
xyz 图像坐标中的位置(基于0的体素索引)    
previousid 从原始路径到该点的最短路径上的前一个节点的ID。原始路径上缺失点(distance = 0)    
distance 找到从原始路径到该节点的任何路线的最小距离。完整的路线可以通过以下previousid链接重建 distance 找到从原始路径到该节点的任何路线的最小距离。
status "open""closed",其在 A* 搜索中的常规激励    

策展文件格式

Curation Assistant使用默认文件(.curation文件扩展名)使用简单的键=值格式。每个检查参数都有一个值键和一个.enabled键。示例:

# Calibrated from NeuroMorpho.org pyramidal cells ids XX-XX (20 cells, P5/P95)
branchAngle.min=15.2
branchAngle.max=95.5
branchAngle.enabled=true
directionContinuity.minAlignment=12.3
directionContinuity.enabled=true
radiusContinuity.maxRatio=1.8
radiusContinuity.enabled=true
terminalBranchLength.minLength=3.5
terminalBranchLength.enabled=true
somaDistance.maxDist=200.0
somaDistance.enabled=true
tortuosityConsistency.maxDiff=0.2
tortuosityConsistency.enabled=true
constantRadii.enabled=true
pathOverlap.proximity=4.0
pathOverlap.enabled=true
radiusJumps.maxRatio=2.5
radiusJumps.enabled=true
radiusMonotonicity.minRun=8
radiusMonotonicity.enabled=true