Skip to content
Snippets Groups Projects

WIP: Dssc methods as

Closed Rafael Gort requested to merge DSSC_methods_AS into DevelopmentRG
2 files
+ 15
345
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -389,9 +389,11 @@ class DSSC_Generator:
def full_detector(self, dssc_data):
print('assemble full detector: ')
# determine dimension of full detector
q2 = self.quadrant(2, dssc_data)
[qdimy, qdimx] = q2.shape
# assemble full detector
q_data = joblib.Parallel(n_jobs=4)(joblib.delayed(self.quadrant)(i, dssc_data) for i in [1,2,3,4])
# determine dimensions
[qdimy, qdimx] = q_data[0].shape
fdimy = np.max(
[np.abs(self.quad_geodat[1, 0]) + self.quad_geodat[1, 1],
np.abs(self.quad_geodat[3, 0]) + self.quad_geodat[3, 1]]
@@ -401,26 +403,30 @@ class DSSC_Generator:
np.abs(self.quad_geodat[0, 0]) + self.quad_geodat[0, 1]]
) + 2 * qdimx
# assemble full detector
full_dssc = np.zeros((fdimy, fdimx))
# quadrant 2
full_dssc[self.quad_geodat[1, 0]:qdimy+self.quad_geodat[1, 0], 0:qdimx ] \
= self.quadrant(2, dssc_data)
= q_data[1]
# quadrant 1
full_dssc[qdimy+self.quad_geodat[1, 0]+self.quad_geodat[1, 1]:2*qdimy+self.quad_geodat[1, 0]+self.quad_geodat[1, 1],
self.quad_geodat[0, 0]:self.quad_geodat[0, 0]+qdimx] \
= self.quadrant(1, dssc_data)#
= q_data[0]
# quadrant 4
dummy1 = [qdimy + self.quad_geodat[1, 0] + self.quad_geodat[1, 1] + self.quad_geodat[3, 0],
2 * qdimy + self.quad_geodat[1, 0] + self.quad_geodat[1, 1] + self.quad_geodat[3, 0]]
dummy2 = [self.quad_geodat[0, 0] + self.quad_geodat[0, 1] + qdimx,
self.quad_geodat[0, 0] + self.quad_geodat[0, 1] + 2*qdimx]
full_dssc[dummy1[0]:dummy1[1], dummy2[0]:dummy2[1]] = self.quadrant(4, dssc_data)
full_dssc[dummy1[0]:dummy1[1], dummy2[0]:dummy2[1]] = q_data[3]
# quadrant 3
dummy3 = [self.quad_geodat[1, 0] + self.quad_geodat[1, 1] + self.quad_geodat[3, 0] - self.quad_geodat[3, 1],
qdimy+self.quad_geodat[1, 0] + self.quad_geodat[1, 1] + self.quad_geodat[3, 0] - self.quad_geodat[3, 1]]
dummy4 = [self.quad_geodat[0, 0] + self.quad_geodat[0, 1] + qdimx + self.quad_geodat[2, 0],
self.quad_geodat[0, 0] + self.quad_geodat[0, 1] + 2*qdimx + self.quad_geodat[2, 0]]
full_dssc[dummy3[0]:dummy3[1],dummy4[0]:dummy4[1]] = self.quadrant(3, dssc_data)
full_dssc[dummy3[0]:dummy3[1],dummy4[0]:dummy4[1]] = q_data[2]
return full_dssc
Loading