def correlate_library(image, library, n_largest):
"""Correlates all simulated diffraction templates in a DiffractionLibrary
with a particular experimental diffraction pattern (image) stored as a
numpy array.
"""
i=0
out_arr = np.zeros((n_largest * len(library),5))
for key in library.keys():
if n_largest:
pass
else:
n_largest=len(library[key])
correlations = dict()
for orientation, diffraction_pattern in library[key].items():
correlation = correlate(image, diffraction_pattern)
correlations[orientation] = correlation
res = nlargest(n_largest, correlations.items(), key=itemgetter(1))
for j in np.arange(n_largest):
out_arr[j + i*n_largest][0] = i
out_arr[j + i*n_largest][1] = res[j][0][0]
out_arr[j + i*n_largest][2] = res[j][0][1]
out_arr[j + i*n_largest][3] = res[j][0][2]
out_arr[j + i*n_largest][4] = res[j][1]
i = i + 1
return out_arr
评论列表
文章目录