以获取质心为例(以中心点为坐标原点,坐标含负数)
目录
目录
3Dslicer
区段统计Segment statistics
标注图统计Labelmap statistics
标量体积统计Scalar volume
闭合曲面统计Closed surface statistics
python控制台
3Dslicer
区段统计Segment statistics
这是一个用于计算与分割结构相关的统计数据的模块,例如体积、表面积、平均强度以及每个分割的各种其他指标。
标注图统计Labelmap statistics
标注图统计数据是使用段的二进制标注图表示形式计算的。
- 体素计数:片段中的体素数
- 体积 mm3 分段的体积(以 mm3 为单位)
- 体积 cm3 以 cm3 为单位的段的体积
- 质心:以 RAS 坐标表示的线段的质心
- 费雷特直径:可以包含整个段的球体的直径
- 表面积 mm2:以 mm2 为单位的段的表面积
- 圆度:段的圆度。根据球体的面积之比计算,从费雷特直径减去实际面积。值 1 表示球形结构。请参阅此处的详细定义。
- 平坦度:线段的平坦度。从第二个最小主力矩的比值的平方根乘以最小值计算。值 0 表示平面结构。请参阅此处的详细定义。
- 伸长率:刀头的伸长率。从第二大主力矩的平方根乘以第二小的比值计算。请参阅此处的详细定义。
- 主力矩:线段每个轴的主要惯性矩
- 主轴:线段旋转的主轴(Principal axis为径向坐标,Orientation about principal axis为轴向坐标)
- 定向边界框:包含线段的非轴对齐边界框。主轴方向用于定向边界框。
- 旋转主轴(或主方向)是相对于某个点(通常是质心)定义的惯性矩张量(在上一节中介绍)的特征向量。相应的特征值称为主惯性矩。由于惯性矩张量是相对于空间中的点定义的,因此主轴都通过该点


(通常是质心)。
径:半径,轴:中心轴,周:圆周
标量体积统计Scalar volume
- 体素计数:片段中的体素数
- 体积 mm3 分段的体积(以 mm3 为单位)
- 体积 cm3 以 cm3 为单位的段的体积
- 最小值:线段中的最小标量值
- 最大值:线段中的最大标量值
- 平均值:线段中的平均标量值
- 中位数:细分中的标量值中位数
- 标准偏差:线段中标量值的标准偏差(使用校正后的样本标准偏差公式计算)
闭合曲面统计Closed surface statistics
- 表面积 mm2:以 mm2 为单位的段的体积
- 体积 mm3 分段的体积(以 mm3 为单位)
- 体积 cm3 以 cm3 为单位的段的体积




python控制台

#used LabelmapSegmentStatistics to pull the centroid for each segment in the Segmentation #Then I used the centroid coordinates to generate new spherical segments with a 1mm diameter (or radius?) #These can be used with Segment statistics to query core lesion locations based on anatomical atlases #用LabelmapSegmentStatistics为分割中的每个线段拉出质心,然后使用质心坐标生成直径为1 mm(或半径?)的新球形线段。 #这些数据可与分段统计数据结合使用,以根据解剖图谱查询核心位置 import numpy as np import SegmentStatistics segmentationNode = slicer.util.getNode("Segmentation")# volume_node = slicer.util.getNode("Volume") segmentation = segmentationNode.GetSegmentation() segnum = segmentation.GetNumberOfSegments() for i in range(segnum): segment = segmentation.GetNthSegment(i) segmentId = segmentationNode.GetSegmentation().GetSegmentIdBySegment(segment) segmentName = segment.GetName() segStatLogic = SegmentStatistics.SegmentStatisticsLogic() segStatLogic.getParameterNode().SetParameter("Segmentation", segmentationNode.GetID()) segStatLogic.getParameterNode().SetParameter("LabelmapSegmentStatisticsPlugin.centroid_ras.enabled", str(True)) segStatLogic.computeStatistics() stats = segStatLogic.getStatistics() print(segmentName) centroid_ras = stats[segmentId,"LabelmapSegmentStatisticsPlugin.centroid_ras"] print(centroid_ras) tumorCentroid = vtk.vtkSphereSource() tumorCentroid.SetCenter(centroid_ras) tumorCentroid.SetRadius(1) tumorCentroid.Update() CentroidSegmentName = segmentName + "-centroid" segmentId = segmentationNode.AddSegmentFromClosedSurfaceRepresentation(tumorCentroid.GetOutput(), CentroidSegmentName, [1.0,0.0,0.0])
讯享网


参考链接:
段统计信息 — 3D 切片器文档 (slicer.readthedocs.io)



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/29958.html