Skip to content

Commit bf7612b

Browse files
committed
Add a method to unitcell to generate tth values for powder rings
1 parent 83c41a8 commit bf7612b

2 files changed

Lines changed: 17 additions & 1 deletion

File tree

ImageD11/indexing.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,7 @@ def assigntorings(self):
461461
"Ring ( h, k, l) Mult total indexed to_index ubis peaks_per_ubi tth ds"
462462
)
463463
minpks = 0
464+
tths = self.unitcell.ringtths(self.wavelength)
464465
# try reverse order instead
465466
for j in range(len(dsr))[::-1]:
466467
ind = np.compress(np.equal(self.ra, j), np.arange(self.ra.shape[0]))
@@ -479,7 +480,7 @@ def assigntorings(self):
479480
else:
480481
expected_orients = "N/A"
481482
expected_npks = "N/A"
482-
tth = 2 * np.degrees(np.arcsin(dsr[j] * self.wavelength / 2))
483+
tth = tths[j]
483484
logging.info(
484485
"Ring %-3d (%3d,%3d,%3d) %3d %5d %5d %5d %5s %2s %.2f %.2f"
485486
% (

ImageD11/unitcell.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,8 @@ def __init__(self, lattice_parameters, symmetry="P", verbose=0, name=None):
270270
self.limit = 0
271271

272272
self.ringtol = 0.001
273+
self.ringds = [] # a list of floats
274+
self.ringhkls = {} # a dict of lists of integer hkl
273275
# used for caching
274276
self.anglehkl_cache = {"ringtol": self.ringtol,
275277
"B": self.B,
@@ -545,6 +547,19 @@ def makerings(self, limit, tol=0.001):
545547
self.ringhkls[self.ringds[-1]] = [peak[1]]
546548
self.ringtol = tol
547549

550+
def ringtths(self, wavelength):
551+
"""
552+
Computes the two theta values of powder rings, given a wavelength.
553+
`makerings` must be called beforehand.
554+
"""
555+
ring_ds = self.ringds
556+
if len(ring_ds) == 0:
557+
raise ValueError('No rings found. Call `makerings` before calling this function.')
558+
tth = []
559+
for ds in ring_ds:
560+
tth.append(2 * np.degrees(np.arcsin(ds * wavelength / 2)))
561+
return tth
562+
548563
def anglehkls(self, h1, h2):
549564
"""
550565
Compute the angle between reciprocal lattice vectors h1, h2

0 commit comments

Comments
 (0)