我正在使用SimpleITK框架(x64)进行C#。
在我做了一些操作和过滤之后,我通过LabelShapeStatisticsImageFilter获得了一堆标签,我对此感兴趣。
如何获取特定标签的中心坐标?
当我使用函数GetCentroid
时,我得到部分否定结果,我不明白如何继续处理这些数据。
提前致谢。
答案 0 :(得分:0)
LabelShapeStatisticsImageFilter::GetCentroid
方法返回物理空间中的一个点而不是索引空间中的一个点。这会考虑图像的原点,间距和方向矩阵,这可能会导致负值。要将结果转换为索引空间,您可以根据需要使用Image::TransformPhysicalPointToContinuousIndex
或Image::TransformPhysicalPointToIndex
。
答案 1 :(得分:0)
感谢您的回答和评论。
我在一个例子的评论中找到了问题的解决方案:
// NOTE: As of April 8, 2015 the filter does not work with non-zero origins
所以我保存了Origin数据,将Origin设置为(0,0) - 获得了一个有用的Centeroid,并改变了原始Origin的Centeroid结果,最终将其再次设置为以前的值。