自迁移出 MediaWiki 以来,本页内容尚未经过审查。如果您愿意帮忙,请查看帮助指南!
When segmenting images with multiple objects, one might decide that some errors are not relevant compared to others. One of the advantages of the warping error is that it allows us to focus on only some desired types of topological errors1.
,我们提出了一个指标,该指标仅考虑比较两个不同标签时产生的这里分割和合并的数量。
给定一组原始(二进制)标签及其相应的建议(灰度,即图)标签,我们可以将分割和合并的概率显示为对建议标签进行二值化的阈值的函数(见图1)。
在经典的 warping error中,拓扑错误的所有像素都会添加到最终的像素数中。为了使结果更加仔细,可以过滤这些像素并只选择我们感兴趣的像素,在我们的例子中是分割和合并。这样,像素数将对应于每次分割和合并的像素数除以像素总数。换句话来说,该像素表示校正分割所需的像素数。
斐济的 2D 实施
最小分割和合并校正托盘是针对Trainable Weka Segmentation库中的2D图像实现的。以下是如何在Beanshell script中使用它的示例:
import trainableSegmentation.metrics.WarpingError;
// original labels
originalLabels = IJ.openImage("/path/original-labels.tif");
// proposed (new) labels
proposedLabels = IJ.openImage("/path/proposed-labels.tif");
// assign original labels and proposal to the metric
metric = new WarpingError( originalLabels, proposedLabels );
// calculate metric for thresholds 0.0 to 0.9, in steps of 0.1
IJ.log("\nCalculating warping error by minimizing splits and mergers...");
metric = new WarpingError( originalLabels, proposedLabels );
warpingError = metric.getMinimumSplitsAndMergersErrorValue( 0.0, 0.9, 0.1, false );
// print results
IJ.log(" Warping error = " + warpingError);
IJ.log(" # errors (splits + mergers pixels) = " + Math.round(warpingError * originalLabels.getWidth() * originalLabels.getHeight() * originalLabels.getImageStackSize() ) );
