def geometryFromMatrix(self, matrix, inverseTransform): from pyworkflow.em.transformations import translation_from_matrix if inverseTransform: matrix = numpy.linalg.inv(matrix) shifts = -translation_from_matrix(matrix) else: shifts = translation_from_matrix(matrix) return shifts
def geometryFromMatrix(matrix, inverseTransform): from pyworkflow.em.transformations import translation_from_matrix, euler_from_matrix if inverseTransform: matrix = numpy.linalg.inv(matrix) shifts = -translation_from_matrix(matrix) else: shifts = translation_from_matrix(matrix) angles = -numpy.rad2deg(euler_from_matrix(matrix, axes='szyz')) return shifts, angles
def geometryFromMatrix(matrix, inverseTransform): from pyworkflow.em.transformations import translation_from_matrix, euler_from_matrix from numpy import rad2deg if inverseTransform: from numpy.linalg import inv matrix = inv(matrix) shifts = -translation_from_matrix(matrix) else: shifts = translation_from_matrix(matrix) rawAngles = -rad2deg(euler_from_matrix(matrix, axes='szyz')) # Try to have always possitives angles #angles = [a + 360 if a < 0 else a for a in rawAngles] angles = rawAngles return shifts, angles