Skip to content
/ Slicer Public
forked from Slicer/Slicer

Commit

Permalink
ENH: Simplify initialization of vtkQuaternion in EndoscopyLogic
Browse files Browse the repository at this point in the history
  • Loading branch information
jcfr committed Nov 28, 2023
1 parent b021205 commit cc0168c
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions Modules/Scripted/Endoscopy/Endoscopy.py
Original file line number Diff line number Diff line change
Expand Up @@ -902,32 +902,31 @@ def indexOfControlPointForDistanceAlongCurve(curve, distanceAlongInputCurve):
@staticmethod
def matrix3x3ToOrientation(matrix3x3):
orientation = np.zeros((4,))
vtkQ = vtk.vtkQuaternion[np.float64]()
vtkQ = vtk.vtkQuaterniond()
vtkQ.FromMatrix3x3(matrix3x3)
orientation[0] = vtkQ.GetRotationAngleAndAxis(orientation[1:4])
return orientation

@staticmethod
def orientationToMatrix3x3(orientation):
matrix3x3 = np.zeros((3, 3))
vtkQ = vtk.vtkQuaternion[np.float64]()
vtkQ = vtk.vtkQuaterniond()
vtkQ.SetRotationAngleAndAxis(*orientation)
vtkQ.ToMatrix3x3(matrix3x3)
return matrix3x3

@staticmethod
def orientationToQuaternion(orientation):
quaternion = np.zeros((4,))
vtkQ = vtk.vtkQuaternion[np.float64]()
vtkQ = vtk.vtkQuaterniond()
vtkQ.SetRotationAngleAndAxis(*orientation)
vtkQ.Get(quaternion)
return quaternion

@staticmethod
def quaternionToOrientation(quaternion):
orientation = np.zeros((4,))
vtkQ = vtk.vtkQuaternion[np.float64]()
vtkQ.Set(*quaternion)
vtkQ = vtk.vtkQuaterniond(*quaternion)
orientation[0] = vtkQ.GetRotationAngleAndAxis(orientation[1:4])
return orientation

Expand Down

0 comments on commit cc0168c

Please sign in to comment.