在线客服系统

Fiji ImageJ 骨测量分析模块-BoneJ

2022-04-01

Fiji ImageJ 骨测量分析模块-BoneJ


BoneJ是ImageJ骨骼生物学插件集。如果你在工作中使用了BoneJ,请引用如下文献:

Domander, R., Felder, A. A., & Doube, M. (2021). BoneJ2 - refactoring established research software. Wellcome Open Research, 6, 37. doi:10.12688/wellcomeopenres.16619.2

安装后可使用模块:

启动:

======

Menu path Plugins › BoneJ › Analyse skeleton.

BoneJ中包含了Skeleton。它提供了一些额外的验证来检查您的图像是否适合BoneJ。如果需要的话可以通过调用skelonize3D来使你图像骨架化。Skeleton需要Java 3D libraries 支持,可以安装imageJ 3D Viewer自动安装Java 3D libraries

适用图像格式

输入图像必须是2D或3D、8位和二进制。不支持hyperstack类型

======

Menu path Plugins › BoneJ › Anisotropy.

各向异性被用来量化骨小梁的方向性。它能告诉你小梁的方向是确定的,还是随机排列的。测量各向异性的方法相当复杂,包括多个步骤:

1. 求n个方向上的平均截距长度(MIL)向量

2. 将MIL向量绘制成点云

3. 求解最适合点云的椭球的方程

4. 从椭球的半径计算各向异性的程度

需要注意的是,该算法是随机的,不能保证精确的结果。因此,建议多次运行,以建立图像的各向异性程度

适用图像格式

3D二值图像(0,1 代表黑白二色)

该插件旨在分析对象的“texture-纹理”(比如骨小梁状结构),因此它适用于整体样本,例如填充整个堆栈的小梁立方体。对于整个对象的结果如预先包装的蝙蝠耳蜗体积ImageJ样本图像,由于没有纹理“”并没有真正的意义。

算法原理:

在第一步中,算法在输入图像上沿方向v画平行线,方向随机选择。对图像堆栈中的每一个线段进行采样,以找到它从背景到前景的变化点,也就是线段触碰到对象的位置。这些点被称为相位变化点,在相关联的图中它们被标记为红点。

l 采样完成后,算法形成MIL向量长度:为线的总长度即被所发现的相位变化点所分割线段总长度。

l MIL矢量与v方向相同。在n个方向上重复绘制和采样线条,该方法创建了n个MIL向量。


计算MIL向量后,将它们添加到样本周围的点云(点的集合)中。然后,该方法尝试求解一个适合点云的椭球的方程。但可能没有解决方案,特别是当只有有几个相变点的时候。也就是说,在插件停止时,适配可能会失败。椭球的半径决定了各向异性的程度(见结果)。

更详细地说,第一步中的线条是在一个d * d平面上用法向量v投影出来的(参见上图的图形)。大小

,w, h, d图像的维度堆栈。每条直线都经过平面上任意的点o。点o是随机的但均匀分布在整个平面上。线条会被绘制直到它们在o+tminv,o+tmaxv (算法求解tmin, tmax)点截距于堆栈边。然后对堆栈中的这些线段进行相位变化点采样。在这种绘图方法中,一些线可能会完全错过图像堆栈,相反地,堆栈中没有任何区域都有被采样的机会。

参数:

Directions从不同方向取样的次数。最小值是9,因为算法需要9个自变量来解决图像中方向的“形状”。

Lines per direction每个方向的线:控制每个方向画多少平行线。每一行的长度d =

Sampling increment采样增量:控制一条直线上采样点之间的距离。缺省值和最小值为√3。每行采集的样本数量取决于图像堆栈中线段的长度。

Recommended minimum 如果勾选此项,则将上述三个参数设置为推荐的最小值。测试中发现这些值的结果相当稳定,拟合不太可能失败。然而这些最小值并不能保证是您的图像的最佳设置。

Show radii 经校核后,拟合椭球的半径显示在结果表中。

Show Eigens 如果勾选,则拟合椭球的特征向量和特征值显示在结果表中。

Display MIL vectors 如果勾选,显示在3D查看器上的点云中绘制的MIL向量

Convergence Analysis 收敛性分析

在合理的时间内,运行收敛分析来确定导致稳定结果的设置是很有帮助的。建议您在实验中的典型图像上运行以下宏。

//number of directions to draw probes

nDirsMax = 32768; //<- edit to suit your needs

//number of lines per direction

nLinesMax = 1024; //<- edit to suit your needs

// --- No need to edit the rest

row = 0;

setBatchMode(true);

for (nDirs = 16; nDirs <= nDirsMax; nDirs *= 2){

for (nLines = 1; nLines <= nLinesMax; nLines *= 2){

startTime = getTime();

run("Anisotropy", "inputimage=net.imagej.ImgPlus@73956688 directions="+nDirs+" lines="+nLines+" samplingincrement=1.73 recommendedmin=true printradii=true printeigens=true displaymilvectors=false instruction=\"\"");

endTime = getTime();

duration = endTime - startTime;

setResult("nDirs", row, nDirs);

setResult("nLines", row, nLines);

setResult("Duration", row, duration);

updateResults();

row++;

}

}

这个宏将输出两个表,一个是各向异性结果,另一个是记录方向、行和持续时间。为了完成收敛分析,必须将两个表复制粘贴到电子表格中,以便各向异性结果可以与时间和输入参数一起绘制。

结果

Degree of anisotropy各向异性程度:结构中有多少取向。0.0表示图像是完全各向同性的,样本没有任何方向性。1.0意味着在图像的结构中有一个极端普遍的方向。

Radii of fitted ellipsoid拟合椭球半径(可选):MIL点上拟合椭球半径a≤b≤c的长度。各向异性程度=

Eigenvectors and values 特征向量和值(可选):值m00、m01 m02……M22对应于拟合椭球的三个特征向量的x、y、z分量。特征值D1,D2,D3分别对应于

,其中a,b,c是椭球的半径。