GyroGuide的使用方法 - 临床影像实践

请问gyro guide这个模块开始需要用fiducial自定义两个平面(共需要五个点),请问这两个平面怎么创建,我直接直接在marks里面创建了五个点,可是没有用,请各位老师指教,谢谢 https://slicercn.com/1633.html

在水平面上放置3个点,在矢状面上放置2个点即可,如下图。

此模块已经不再更新,在部分版本中无法应用,可以尝试应用角度测量模块结合十字线工具进行平面角度的测量。或者应用平面工具,应用下面的脚本对角度进行测量。

将两个平面设置为’P’, ‘P_1’,工具栏中平面工具应用分别建立两个平面,之后在代码栏中粘贴下面代码即可显示角度。

planeNodeNames = ['P', 'P_1']

# Print angles between slice nodes
def ShowAngle(unused1=None, unused2=None):
    planeNormalVectors = []
    for planeNodeName in planeNodeNames:
        planeNode = slicer.util.getFirstNodeByClassByName('vtkMRMLMarkupsPlaneNode', planeNodeName)
        planeNormalVector = [0.0, 0.0, 0.0]
        planeNode.GetNormalWorld(planeNormalVector)
        planeNormalVectors.append(planeNormalVector)
    angleRad = vtk.vtkMath.AngleBetweenVectors(planeNormalVectors[0], planeNormalVectors[1])
    angleDeg = vtk.vtkMath.DegreesFromRadians(angleRad)
    print('Angle between planes {0} and {1} = {2:0.3f}'.format(planeNodeNames[0], planeNodeNames[1], angleDeg))

# Observe plane node changes
for planeNodeName in planeNodeNames:
    planeNode = slicer.util.getFirstNodeByClassByName('vtkMRMLMarkupsPlaneNode', planeNodeName)
    planeNode.AddObserver(slicer.vtkMRMLMarkupsPlaneNode.PointModifiedEvent, ShowAngle)

# Print current angle
ShowAngle()