barcode_profile#
- pyrost.bin.barcode_profile(x_arr: numpy.ndarray, bars: numpy.ndarray, bulk_atn: float, bar_atn: float, bar_sigma: float, num_threads: int = 1)#
Return an array of barcode’s transmission profile calculated at x_arr coordinates.
- Parameters
x_arr (numpy.ndarray) – Array of the coordinates, where the transmission coefficients are calculated [um].
bars (numpy.ndarray) – Coordinates of barcode’s bar positions [um].
bulk_atn (float) – Barcode’s bulk attenuation coefficient (0.0 - 1.0).
bar_atn (float) – Barcode’s bar attenuation coefficient (0.0 - 1.0).
bar_sigma (float) – Inter-diffusion length [um].
num_threads (int) – Number of threads used in the calculations.
- Returns
Array of barcode’s transmission profiles.
- Return type
Notes
Barcode’s transmission profile is given by:
\[\begin{split}t_b(x) = t_{air} + \frac{t_1 - t_{air}}{2} \left( \tanh\left(\frac{x - x^b_1}{\sigma_b} \right) + \tanh\left(\frac{x^b_N - x}{\sigma_b}\right) \right)\\ - \frac{t_2 - t_1}{2}\sum_{n = 1}^{(N - 1) / 2} \left( \tanh\left(\frac{x - x^b_{2 n}}{\sigma_b}\right) + \tanh\left(\frac{x^b_{2 n + 1} - x}{\sigma_b}\right) \right)\end{split}\]where \(t_1 = \sqrt{1 - A_{bulk}}\), \(t_2 = \sqrt{1 - A_{bulk} - A_{bar}}\) are the transmission coefficients for the bulk and the bars of the sample, \(x^b_n\) is a set of bars coordinates, and \(\sigma_b\) is the inter-diffusion length.