Slicer study notes (fifty-seven) temporary storage

  def get_ras_fiducial_ControlPoints(self, fiducial_name):
    fiducial_node = slicer.util.getFirstNodeByClassByName("vtkMRMLMarkupsFiducialNode", fiducial_name)
    ras = [0, 0, 0]
    fiducial_node.GetNthFiducialPosition(0, ras)
    return ras

  def calculate_transform(self):
    ra_ras = get_ras_fiducial_ControlPoints("L1R")
    la_ras = get_ras_fiducial_ControlPoints("L1L")
    M_ras = [(ra_ras[0] + la_ras[0]) / 2, (ra_ras[1] + la_ras[1]) / 2, (ra_ras[2] + la_ras[2]) / 2]
    rcp_ras = get_ras_fiducial_ControlPoints("L6R")
    rcp_ras = get_ras_fiducial_ControlPoints("L6L")
    U_ras = [(rcp_ras[0]+lcp_ras[0])/2, (rcp_ras[1]+lcp_ras[1])/2,(rcp_ras[2]+lcp_ras[2])/2]

Guess you like

Origin blog.csdn.net/juluwangriyue/article/details/123859595