Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

lut = make_lookup_table(b1, b2, b3, hmax, kmax, lmax, np.float32, evald_rad, sigma_qql, sigma_qt, fout, bpq, bpomega, bpbeta)

NOTE: In order to tune tolerance separately for angle and detector plane (qh, qv) parameter sigma_q is split for sigma_ql and sigma_qt

for each crystal orientation in omega_deg and beta_deg method

...

Code Block
def radial_distance(X, Y, Z, evald_rad=0.5) :
    DX = X + evald_rad
    L  = np.sqrt(DX*DX + Y*Y + Z*Z)
    dr = L - evald_rad
    qv = evald_rad * Z/L
    ql = evald_rad * (DX/L-1)
    qy = evald_rad * Y/L
    qh = np.sqrt(ql*ql + qy*qy) * np.select([Y<0], [-1], default=1) 
    return dr, qv, qh

 

 

Finally, in method  make_lookup_table 

    txt = str_omega_drhkl(ind, beta_deg, omega_deg, dr, r, qv, qh, h, k, l, sigma_qql)

generates text record for file with look-up table, and

           lut[iomega,:] += fill_row(dr, qv, qh, h, k, l, sigma_qql, sigma_qt, bpq)

generates 2-d array, which presents look-up table in plot.2-d plot and its projection:

Image Added Image Added