reflectorch 1.2.0__tar.gz → 1.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of reflectorch might be problematic. Click here for more details.

Files changed (261) hide show
  1. {reflectorch-1.2.0 → reflectorch-1.2.1}/PKG-INFO +1 -1
  2. {reflectorch-1.2.0 → reflectorch-1.2.1}/pyproject.toml +1 -1
  3. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/reflectivity/__init__.py +3 -3
  4. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/reflectivity/abeles.py +31 -16
  5. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/reflectivity/kinematical.py +1 -1
  6. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/reflectivity/memory_eff.py +1 -1
  7. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/inference_model.py +4 -2
  8. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch.egg-info/PKG-INFO +1 -1
  9. {reflectorch-1.2.0 → reflectorch-1.2.1}/.dockerignore +0 -0
  10. {reflectorch-1.2.0 → reflectorch-1.2.1}/.github/workflows/ci.yml +0 -0
  11. {reflectorch-1.2.0 → reflectorch-1.2.1}/.github/workflows/draft-pdf.yml +0 -0
  12. {reflectorch-1.2.0 → reflectorch-1.2.1}/.gitignore +0 -0
  13. {reflectorch-1.2.0 → reflectorch-1.2.1}/CODE_OF_CONDUCT.md +0 -0
  14. {reflectorch-1.2.0 → reflectorch-1.2.1}/Dockerfile +0 -0
  15. {reflectorch-1.2.0 → reflectorch-1.2.1}/LICENSE.txt +0 -0
  16. {reflectorch-1.2.0 → reflectorch-1.2.1}/MANIFEST.in +0 -0
  17. {reflectorch-1.2.0 → reflectorch-1.2.1}/README.md +0 -0
  18. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/c1.yaml +0 -0
  19. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/c1_trained.yaml +0 -0
  20. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/c_L10_d100_s150_r30_ws5_q03_nq256.yaml +0 -0
  21. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/c_L3_d200_s150_r60_ws5_q03_nq128.yaml +0 -0
  22. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/c_L5_d200_s150_r60_ws5_q03_nq256.yaml +0 -0
  23. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/c_absorption.yaml +0 -0
  24. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/c_absorption_L2_d500_s150_is30_r60_ws5_q03_nq256.yaml +0 -0
  25. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/c_absorption_L5_d200_s150_is30_r60_ws5_q03_nq256.yaml +0 -0
  26. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/c_ae.yaml +0 -0
  27. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/c_fno.yaml +0 -0
  28. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/c_model_with_shifts.yaml +0 -0
  29. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/c_repeating_multilayer.yaml +0 -0
  30. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/c_repeating_multilayer_trained1.yaml +0 -0
  31. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/c_test_safetensors.yaml +0 -0
  32. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/l2q109_exp_1.yaml +0 -0
  33. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/l2q256_absorption_1.yaml +0 -0
  34. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/l2q256_exp_2.yaml +0 -0
  35. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/l2q256_exp_3.yaml +0 -0
  36. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/l2q256_exp_3_02.yaml +0 -0
  37. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/l2q256_exp_4.yaml +0 -0
  38. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/l2q256_exp_5.yaml +0 -0
  39. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/l2q256_exp_sm_2.yaml +0 -0
  40. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/l2q256_new_1.yaml +0 -0
  41. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/l2q64_new_sub_1.yaml +0 -0
  42. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/l5q256_new_sub_1.yaml +0 -0
  43. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o1.yaml +0 -0
  44. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o10.yaml +0 -0
  45. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o11.yaml +0 -0
  46. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o12.yaml +0 -0
  47. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o13.yaml +0 -0
  48. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o14.yaml +0 -0
  49. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o15.yaml +0 -0
  50. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o16.yaml +0 -0
  51. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o2.yaml +0 -0
  52. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o3.yaml +0 -0
  53. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o4.yaml +0 -0
  54. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o5.yaml +0 -0
  55. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o7.yaml +0 -0
  56. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o8.yaml +0 -0
  57. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc-o9.yaml +0 -0
  58. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc1.yaml +0 -0
  59. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc10.yaml +0 -0
  60. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc11.yaml +0 -0
  61. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc12.yaml +0 -0
  62. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc13.yaml +0 -0
  63. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc14.yaml +0 -0
  64. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc15.yaml +0 -0
  65. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc16.yaml +0 -0
  66. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc17.yaml +0 -0
  67. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc18.yaml +0 -0
  68. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc19.yaml +0 -0
  69. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc2.yaml +0 -0
  70. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc20.yaml +0 -0
  71. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc21.yaml +0 -0
  72. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc22.yaml +0 -0
  73. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc23.yaml +0 -0
  74. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc24.yaml +0 -0
  75. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc25.yaml +0 -0
  76. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc26.yaml +0 -0
  77. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc27.yaml +0 -0
  78. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc28.yaml +0 -0
  79. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc29.yaml +0 -0
  80. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc3.yaml +0 -0
  81. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc30.yaml +0 -0
  82. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc31.yaml +0 -0
  83. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc32.yaml +0 -0
  84. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc33.yaml +0 -0
  85. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc34.yaml +0 -0
  86. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc35.yaml +0 -0
  87. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc36.yaml +0 -0
  88. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc37.yaml +0 -0
  89. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc38.yaml +0 -0
  90. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc39.yaml +0 -0
  91. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc4.yaml +0 -0
  92. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc40.yaml +0 -0
  93. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc41.yaml +0 -0
  94. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc42.yaml +0 -0
  95. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc43.yaml +0 -0
  96. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc44.yaml +0 -0
  97. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc45.yaml +0 -0
  98. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc46.yaml +0 -0
  99. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc47.yaml +0 -0
  100. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc48.yaml +0 -0
  101. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc49.yaml +0 -0
  102. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc5.yaml +0 -0
  103. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc50.yaml +0 -0
  104. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc51.yaml +0 -0
  105. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc52.yaml +0 -0
  106. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc53.yaml +0 -0
  107. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc54.yaml +0 -0
  108. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc55.yaml +0 -0
  109. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc56.yaml +0 -0
  110. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc57.yaml +0 -0
  111. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc58.yaml +0 -0
  112. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc59.yaml +0 -0
  113. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc6.yaml +0 -0
  114. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc60.yaml +0 -0
  115. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc61.yaml +0 -0
  116. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc62.yaml +0 -0
  117. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc63.yaml +0 -0
  118. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc64.yaml +0 -0
  119. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc65.yaml +0 -0
  120. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc66.yaml +0 -0
  121. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc67.yaml +0 -0
  122. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc7.yaml +0 -0
  123. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc8.yaml +0 -0
  124. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/mc9.yaml +0 -0
  125. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/multilayer_test_1.yaml +0 -0
  126. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/multilayer_test_1_1.yaml +0 -0
  127. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/multilayer_test_2.yaml +0 -0
  128. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/multilayer_test_2_2.yaml +0 -0
  129. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/multilayer_test_3.yaml +0 -0
  130. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/time_val_exp_L2_q128-015_d500_r60_s25n_bs4_budist_noise-poisson02-sh03-sc002-qs1e3-qn1e3.yaml +0 -0
  131. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/time_val_sim_L5_q256_d300_r60_s25_bs4_budist_noise-poisson02_LONGER.yaml +0 -0
  132. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_exp_L2_q128-015_d500_r60_s25n_bs4_budist_noise-poisson02-sh03-sc002-qs1e3-qn1e3.yaml +0 -0
  133. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_exp_L2_q128_d300_r60_s25_bs4_budist_noise-poisson02-various-noises.yaml +0 -0
  134. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_exp_L2_q128_d300_r60_s25_bs4_budist_noise-poisson02-various-noises2.yaml +0 -0
  135. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_exp_L2_q256_d300_r60_s25_bs4_budist_noise-poisson01.yaml +0 -0
  136. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_exp_L2_q256_d300_r60_s25_bs4_budist_noise-poisson02.yaml +0 -0
  137. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_exp_L2_q256_d300_r60_s25_bs4_budist_noise-poisson03.yaml +0 -0
  138. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_exp_L2_q64_d300_r60_s25_bs25_budist_noise-poisson03_scale002.yaml +0 -0
  139. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_exp_L2_q64_d300_r60_s25_bs4_blogdist_noise-poisson04.yaml +0 -0
  140. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_exp_L2_q64_d300_r60_s25_bs4_budist_noise-poisson04.yaml +0 -0
  141. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_multilayer_V1.yaml +0 -0
  142. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_multilayer_V2.yaml +0 -0
  143. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_FNO_L2_q256_d300_r60_s25_bs4_budist_noise-poisson02.yaml +0 -0
  144. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_FNO_L2_q256_d300_r60_s25_bs4_budist_noise-poisson02_V2.yaml +0 -0
  145. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_FNO_L2_q256_d300_r60_s25_bs4_budist_noise-poisson02_varyQ.yaml +0 -0
  146. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_FNO_L2_q64-512_015-05_d300_r60_s25_bs4_budist_noise-poisson02_varyall.yaml +0 -0
  147. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_FNO_L2_q64-512_015-05_d500_r60_s25n_bs4_budist_noise-poisson02_varyall_V2.yaml +0 -0
  148. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L2_q256_d300_r60_s25_br20_bs4_budist_noise-none.yaml +0 -0
  149. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L2_q256_d300_r60_s25_bs25_budist_noise-none.yaml +0 -0
  150. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L2_q256_d300_r60_s25_bs25_budist_noise-poisson02.yaml +0 -0
  151. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L2_q256_d300_r60_s25_bs4_blogdist_noise-poisson02.yaml +0 -0
  152. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L2_q256_d300_r60_s25_bs4_budist_noise-none.yaml +0 -0
  153. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L2_q256_d300_r60_s25_bs4_budist_noise-poisson02-hz512.yaml +0 -0
  154. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L2_q256_d300_r60_s25_bs4_budist_noise-poisson02-rb10.yaml +0 -0
  155. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L2_q256_d300_r60_s25_bs4_budist_noise-poisson02.yaml +0 -0
  156. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L3_q256_d300_r60_s25_bs25_budist_noise-poisson02.yaml +0 -0
  157. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L3_q256_d300_r60_s25_bs4_budist_noise-none.yaml +0 -0
  158. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L3_q256_d300_r60_s25_bs4_budist_noise-poisson02-TRY2.yaml +0 -0
  159. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L3_q256_d300_r60_s25_bs4_budist_noise-poisson02.yaml +0 -0
  160. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L5_q1024_d300_r60_s25_bs4_budist_noise-poisson02.yaml +0 -0
  161. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L5_q256_d300_r60_s25_bs25_budist_noise-poisson02.yaml +0 -0
  162. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L5_q256_d300_r60_s25_bs4_budist_noise-poisson02-Copy1.yaml +0 -0
  163. {reflectorch-1.2.0 → reflectorch-1.2.1}/configs/val_sim_L5_q256_d300_r60_s25_bs4_budist_noise-poisson02_LONGER.yaml +0 -0
  164. {reflectorch-1.2.0 → reflectorch-1.2.1}/debug.py +0 -0
  165. {reflectorch-1.2.0 → reflectorch-1.2.1}/exp_data/33a.dat +0 -0
  166. {reflectorch-1.2.0 → reflectorch-1.2.1}/exp_data/DIP-nSi_34a.dat +0 -0
  167. {reflectorch-1.2.0 → reflectorch-1.2.1}/exp_data/data_C60.pt +0 -0
  168. {reflectorch-1.2.0 → reflectorch-1.2.1}/exp_data/data_C60.txt +0 -0
  169. {reflectorch-1.2.0 → reflectorch-1.2.1}/exp_data/data_PTCDI-C3.pt +0 -0
  170. {reflectorch-1.2.0 → reflectorch-1.2.1}/exp_data/data_PTCDI-C3.txt +0 -0
  171. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/__init__.py +0 -0
  172. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/__init__.py +0 -0
  173. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/dataset.py +0 -0
  174. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/likelihoods.py +0 -0
  175. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/noise.py +0 -0
  176. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/priors/__init__.py +0 -0
  177. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/priors/base.py +0 -0
  178. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/priors/exp_subprior_sampler.py +0 -0
  179. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/priors/independent_priors.py +0 -0
  180. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/priors/multilayer_models.py +0 -0
  181. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/priors/multilayer_structures.py +0 -0
  182. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/priors/no_constraints.py +0 -0
  183. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/priors/parametric_models.py +0 -0
  184. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/priors/parametric_subpriors.py +0 -0
  185. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/priors/params.py +0 -0
  186. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/priors/sampler_strategies.py +0 -0
  187. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/priors/scaler_mixin.py +0 -0
  188. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/priors/subprior_sampler.py +0 -0
  189. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/priors/utils.py +0 -0
  190. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/process_data.py +0 -0
  191. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/q_generator.py +0 -0
  192. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/reflectivity/numpy_implementations.py +0 -0
  193. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/reflectivity/smearing.py +0 -0
  194. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/scale_curves.py +0 -0
  195. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/smearing.py +0 -0
  196. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/data_generation/utils.py +0 -0
  197. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/extensions/__init__.py +0 -0
  198. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/extensions/jupyter/__init__.py +0 -0
  199. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/extensions/jupyter/callbacks.py +0 -0
  200. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/extensions/matplotlib/__init__.py +0 -0
  201. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/extensions/matplotlib/losses.py +0 -0
  202. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/__init__.py +0 -0
  203. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/multilayer_fitter.py +0 -0
  204. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/multilayer_inference_model.py +0 -0
  205. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/preprocess_exp/__init__.py +0 -0
  206. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/preprocess_exp/attenuation.py +0 -0
  207. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/preprocess_exp/cut_with_q_ratio.py +0 -0
  208. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/preprocess_exp/footprint.py +0 -0
  209. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/preprocess_exp/interpolation.py +0 -0
  210. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/preprocess_exp/normalize.py +0 -0
  211. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/preprocess_exp/preprocess.py +0 -0
  212. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/query_matcher.py +0 -0
  213. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/record_time.py +0 -0
  214. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/sampler_solution.py +0 -0
  215. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/scipy_fitter.py +0 -0
  216. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/inference/torch_fitter.py +0 -0
  217. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/ml/__init__.py +0 -0
  218. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/ml/basic_trainer.py +0 -0
  219. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/ml/callbacks.py +0 -0
  220. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/ml/dataloaders.py +0 -0
  221. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/ml/loggers.py +0 -0
  222. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/ml/schedulers.py +0 -0
  223. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/ml/trainers.py +0 -0
  224. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/ml/utils.py +0 -0
  225. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/models/__init__.py +0 -0
  226. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/models/activations.py +0 -0
  227. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/models/encoders/__init__.py +0 -0
  228. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/models/encoders/conv_encoder.py +0 -0
  229. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/models/encoders/conv_res_net.py +0 -0
  230. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/models/encoders/fno.py +0 -0
  231. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/models/networks/__init__.py +0 -0
  232. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/models/networks/mlp_networks.py +0 -0
  233. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/models/networks/residual_net.py +0 -0
  234. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/paths.py +0 -0
  235. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/runs/__init__.py +0 -0
  236. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/runs/config.py +0 -0
  237. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/runs/slurm_utils.py +0 -0
  238. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/runs/train.py +0 -0
  239. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/runs/utils.py +0 -0
  240. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/test_config.py +0 -0
  241. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/train.py +0 -0
  242. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/train_on_cluster.py +0 -0
  243. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch/utils.py +0 -0
  244. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch.egg-info/SOURCES.txt +0 -0
  245. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch.egg-info/dependency_links.txt +0 -0
  246. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch.egg-info/requires.txt +0 -0
  247. {reflectorch-1.2.0 → reflectorch-1.2.1}/reflectorch.egg-info/top_level.txt +0 -0
  248. {reflectorch-1.2.0 → reflectorch-1.2.1}/setup.cfg +0 -0
  249. {reflectorch-1.2.0 → reflectorch-1.2.1}/tests/__init__.py +0 -0
  250. {reflectorch-1.2.0 → reflectorch-1.2.1}/tests/conftest.py +0 -0
  251. {reflectorch-1.2.0 → reflectorch-1.2.1}/tests/data/demo_scan.csv +0 -0
  252. {reflectorch-1.2.0 → reflectorch-1.2.1}/tests/fixtures/__init__.py +0 -0
  253. {reflectorch-1.2.0 → reflectorch-1.2.1}/tests/fixtures/data.py +0 -0
  254. {reflectorch-1.2.0 → reflectorch-1.2.1}/tests/unit/__init__.py +0 -0
  255. {reflectorch-1.2.0 → reflectorch-1.2.1}/tests/unit/test_dataloader.py +0 -0
  256. {reflectorch-1.2.0 → reflectorch-1.2.1}/tests/unit/test_embedding_networks.py +0 -0
  257. {reflectorch-1.2.0 → reflectorch-1.2.1}/tests/unit/test_mlp.py +0 -0
  258. {reflectorch-1.2.0 → reflectorch-1.2.1}/tests/unit/test_preprocessing.py +0 -0
  259. {reflectorch-1.2.0 → reflectorch-1.2.1}/tests/unit/test_prior_sampler.py +0 -0
  260. {reflectorch-1.2.0 → reflectorch-1.2.1}/tests/unit/test_q_generator.py +0 -0
  261. {reflectorch-1.2.0 → reflectorch-1.2.1}/tests/unit/test_reflectivity.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: reflectorch
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: A Pytorch-based package for the analysis of reflectometry data
5
5
  Author-email: Vladimir Starostin <vladimir.starostin@uni-tuebingen.de>, Valentin Munteanu <valentin.munteanu@uni-tuebingen.de>
6
6
  Maintainer-email: Valentin Munteanu <valentin.munteanu@uni-tuebingen.de>, Vladimir Starostin <vladimir.starostin@uni-tuebingen.de>, Alexander Hinderhofer <alexander.hinderhofer@uni-tuebingen.de>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "reflectorch"
7
- version = "1.2.0"
7
+ version = "1.2.1"
8
8
  authors = [
9
9
  {name = "Vladimir Starostin", email="vladimir.starostin@uni-tuebingen.de"},
10
10
  {name = "Valentin Munteanu", email="valentin.munteanu@uni-tuebingen.de"}
@@ -31,15 +31,15 @@ def reflectivity(
31
31
  q (Tensor): tensor of momentum transfer (q) values with shape [batch_size, n_points] or [n_points]
32
32
  thickness (Tensor): tensor containing the layer thicknesses (ordered from top to bottom) with shape [batch_size, n_layers]
33
33
  roughness (Tensor): tensor containing the interlayer roughnesses (ordered from top to bottom) with shape [batch_size, n_layers + 1]
34
- sld (Tensor): tensors containing the layer SLDs (real or complex; ordered from top to bottom) with shape [batch_size, n_layers + 1].
35
- It includes the substrate but excludes the ambient medium which is assumed to have an SLD of 0.
34
+ sld (Tensor): tensor containing the layer SLDs (real or complex; ordered from top to bottom) with shape
35
+ [batch_size, n_layers + 1] (excluding ambient SLD which is assumed to be 0) or [batch_size, n_layers + 2] (including ambient SLD; only for the default ``abeles_func='abeles'``)
36
36
  dq (Tensor, optional): tensor of resolutions used for curve smearing with shape [batch_size, 1].
37
37
  Either dq if ``constant_dq`` is ``True`` or dq/q if ``constant_dq`` is ``False``. Defaults to None.
38
38
  gauss_num (int, optional): the number of gaussians for curve smearing. Defaults to 51.
39
39
  constant_dq (bool, optional): if ``True`` the smearing is constant (constant dq at each point in the curve)
40
40
  otherwise the smearing is linear (constant dq/q at each point in the curve). Defaults to True.
41
41
  log (bool, optional): if True the base 10 logarithm of the reflectivity curves is returned. Defaults to False.
42
- abeles_func (Callable, optional): a function implementing the simulation of the reflectivity curves, if different than the default Abeles matrix implementation. Defaults to None.
42
+ abeles_func (Callable, optional): a function implementing the simulation of the reflectivity curves, if different than the default Abeles matrix implementation ('abeles'). Defaults to None.
43
43
 
44
44
  Returns:
45
45
  Tensor: tensor containing the simulated reflectivity curves with shape [batch_size, n_points]
@@ -1,5 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  import math
3
+ from functools import reduce
3
4
 
4
5
  import torch
5
6
  from torch import Tensor
@@ -17,8 +18,9 @@ def abeles(
17
18
  q (Tensor): tensor of momentum transfer (q) values with shape [batch_size, n_points] or [n_points]
18
19
  thickness (Tensor): tensor containing the layer thicknesses (ordered from top to bottom) with shape [batch_size, n_layers]
19
20
  roughness (Tensor): tensor containing the interlayer roughnesses (ordered from top to bottom) with shape [batch_size, n_layers + 1]
20
- sld (Tensor): tensors containing the layer SLDs (real or complex; ordered from top to bottom) with shape [batch_size, n_layers + 1].
21
- It includes the substrate but excludes the ambient medium which is assumed to have an SLD of 0.
21
+ sld (Tensor): tensor containing the layer SLDs (real or complex; ordered from top to bottom). The tensor shape should be one of the following:
22
+ - [batch_size, n_layers + 1]: in this case, the ambient SLD is not included but assumed to be 0
23
+ - [batch_size, n_layers + 2]: this shape includes the ambient SLD as the first element in the tensor
22
24
 
23
25
  Returns:
24
26
  Tensor: tensor containing the simulated reflectivity curves with shape [batch_size, n_points]
@@ -27,11 +29,24 @@ def abeles(
27
29
 
28
30
  batch_size, num_layers = thickness.shape
29
31
 
30
- sld = torch.cat([torch.zeros(batch_size, 1).to(sld), sld], -1)[:, None]
31
- thickness = torch.cat([torch.zeros(batch_size, 1).to(thickness), thickness], -1)[:, None]
32
+ if sld.shape[-1] == num_layers + 1:
33
+ # add zero ambient sld
34
+ sld = torch.cat([torch.zeros(batch_size, 1).to(sld), sld], -1)
35
+ if sld.shape[-1] != num_layers + 2:
36
+ raise ValueError(
37
+ "Number of SLD values does not equal to num_layers + 2 (substrate + ambient)."
38
+ )
39
+
40
+ sld = sld[:, None]
41
+
42
+ # add zero thickness for ambient layer:
43
+ thickness = torch.cat([torch.zeros(batch_size, 1).to(thickness), thickness], -1)[
44
+ :, None
45
+ ]
46
+
32
47
  roughness = roughness[:, None] ** 2
33
48
 
34
- sld = sld * 1e-6 + 1e-30j
49
+ sld = (sld - sld[..., :1]) * 1e-6 + 1e-36j
35
50
 
36
51
  k_z0 = (q / 2).to(c_dtype)
37
52
 
@@ -41,7 +56,7 @@ def abeles(
41
56
  if k_z0.dim() == 2:
42
57
  k_z0.unsqueeze_(-1)
43
58
 
44
- k_n = torch.sqrt(k_z0 ** 2 - 4 * math.pi * sld)
59
+ k_n = torch.sqrt(k_z0**2 - 4 * math.pi * sld)
45
60
 
46
61
  # k_n.shape - (batch, q, layers)
47
62
 
@@ -52,22 +67,22 @@ def abeles(
52
67
  exp_beta = torch.exp(beta)
53
68
  exp_m_beta = torch.exp(-beta)
54
69
 
55
- rn = (k_n - k_np1) / (k_n + k_np1) * torch.exp(- 2 * k_n * k_np1 * roughness)
70
+ rn = (k_n - k_np1) / (k_n + k_np1) * torch.exp(-2 * k_n * k_np1 * roughness)
56
71
 
57
- c_matrices = torch.stack([
58
- torch.stack([exp_beta, rn * exp_m_beta], -1),
59
- torch.stack([rn * exp_beta, exp_m_beta], -1),
60
- ], -1)
72
+ c_matrices = torch.stack(
73
+ [
74
+ torch.stack([exp_beta, rn * exp_m_beta], -1),
75
+ torch.stack([rn * exp_beta, exp_m_beta], -1),
76
+ ],
77
+ -1,
78
+ )
61
79
 
62
80
  c_matrices = [c.squeeze(-3) for c in c_matrices.split(1, -3)]
63
81
 
64
- m, c_matrices = c_matrices[0], c_matrices[1:]
65
-
66
- for c in c_matrices:
67
- m = m @ c
82
+ m = reduce(torch.matmul, c_matrices)
68
83
 
69
84
  r = (m[..., 1, 0] / m[..., 0, 0]).abs() ** 2
70
- r = torch.clamp_max_(r, 1.)
85
+ r = torch.clamp_max_(r, 1.0)
71
86
 
72
87
  return r
73
88
 
@@ -19,7 +19,7 @@ def kinematical_approximation(
19
19
  q (Tensor): tensor of momentum transfer (q) values with shape [batch_size, n_points] or [n_points]
20
20
  thickness (Tensor): tensor containing the layer thicknesses (ordered from top to bottom) with shape [batch_size, n_layers]
21
21
  roughness (Tensor): tensor containing the interlayer roughnesses (ordered from top to bottom) with shape [batch_size, n_layers + 1]
22
- sld (Tensor): tensors containing the layer SLDs (real or complex; ordered from top to bottom) with shape [batch_size, n_layers + 1].
22
+ sld (Tensor): tensor containing the layer SLDs (real or complex; ordered from top to bottom) with shape [batch_size, n_layers + 1].
23
23
  It includes the substrate but excludes the ambient medium which is assumed to have an SLD of 0.
24
24
  apply_fresnel (bool, optional): whether to use the Fresnel coefficient in the computation. Defaults to ``True``.
25
25
  log (bool, optional): if True the base 10 logarithm of the reflectivity curves is returned. Defaults to ``False``.
@@ -19,7 +19,7 @@ def abeles_memory_eff(
19
19
  q (Tensor): tensor of momentum transfer (q) values with shape [batch_size, n_points] or [n_points]
20
20
  thickness (Tensor): tensor containing the layer thicknesses (ordered from top to bottom) with shape [batch_size, n_layers]
21
21
  roughness (Tensor): tensor containing the interlayer roughnesses (ordered from top to bottom) with shape [batch_size, n_layers + 1]
22
- sld (Tensor): tensors containing the layer SLDs (real or complex; ordered from top to bottom) with shape [batch_size, n_layers + 1].
22
+ sld (Tensor): tensor containing the layer SLDs (real or complex; ordered from top to bottom) with shape [batch_size, n_layers + 1].
23
23
  It includes the substrate but excludes the ambient medium which is assumed to have an SLD of 0.
24
24
 
25
25
  Returns:
@@ -354,7 +354,8 @@ class EasyInferenceModel(object):
354
354
  torch.from_numpy(polished_params_arr[:-1][None]),
355
355
  torch.from_numpy(priors.T[0][None]),
356
356
  torch.from_numpy(priors.T[1][None]),
357
- #self.trainer.loader.prior_sampler.param_model
357
+ self.trainer.loader.prior_sampler.max_num_layers,
358
+ self.trainer.loader.prior_sampler.param_model
358
359
  )
359
360
  else:
360
361
  polished_params_arr, curve_polished = standard_refl_fit(
@@ -366,7 +367,8 @@ class EasyInferenceModel(object):
366
367
  torch.from_numpy(polished_params_arr[None]),
367
368
  torch.from_numpy(priors.T[0][None]),
368
369
  torch.from_numpy(priors.T[1][None]),
369
- #self.trainer.loader.prior_sampler.param_model
370
+ self.trainer.loader.prior_sampler.max_num_layers,
371
+ self.trainer.loader.prior_sampler.param_model
370
372
  )
371
373
  except Exception as err:
372
374
  polished_params = predicted_params
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: reflectorch
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: A Pytorch-based package for the analysis of reflectometry data
5
5
  Author-email: Vladimir Starostin <vladimir.starostin@uni-tuebingen.de>, Valentin Munteanu <valentin.munteanu@uni-tuebingen.de>
6
6
  Maintainer-email: Valentin Munteanu <valentin.munteanu@uni-tuebingen.de>, Vladimir Starostin <vladimir.starostin@uni-tuebingen.de>, Alexander Hinderhofer <alexander.hinderhofer@uni-tuebingen.de>
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes