mxcubecore.HardwareObjects.DESY.Centring#
Classes
|
Description: This class controls the operation of Tango Motor |
- class mxcubecore.HardwareObjects.DESY.Centring.Centring(*args)[source]#
Bases:
HardwareObject
Description: This class controls the operation of Tango Motor
- appendCentringDataPoint(camera_coordinates)[source]#
Descript. : call after each click and send click points - but relative in mm
- centeredPosition(return_by_name=False)[source]#
Descript. : call after appending the last click. Return : {motorHO:position} dictionary.
M=numpy.zeros(shape=(self.translationAxesCount,self.translationAxesCount)) V=numpy.zeros(shape=(self.translationAxesCount))
- for l in range(0,self.translationAxesCount):
- for i in range (0,len(self.centringDataMatrix)):
- for k in range(0,len(self.cameraAxes)):
V[l] += self.centringDataTensor[i][l][k]*self.centringDataMatrix[i][k]
- for m in range(0,self.translationAxesCount):
- for i in range (0,len(self.centringDataMatrix)):
- for k in range(0,len(self.cameraAxes)):
M[l][m] += self.centringDataTensor[i][l][k]*self.centringDataTensor[i][m][k]
tau_cntrd = numpy.dot(numpy.linalg.pinv(M,rcond=1e-6),V)
tau_cntrd = self.apply_constraints(M,tau_cntrd)