You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2219 lines
643 KiB

1 year ago
  1. {
  2. "cells": [
  3. {
  4. "attachments": {},
  5. "cell_type": "markdown",
  6. "metadata": {},
  7. "source": [
  8. "# Import supporting package"
  9. ]
  10. },
  11. {
  12. "cell_type": "code",
  13. "execution_count": 1,
  14. "metadata": {},
  15. "outputs": [],
  16. "source": [
  17. "import xarray as xr\n",
  18. "import numpy as np\n",
  19. "import copy\n",
  20. "\n",
  21. "from uncertainties import ufloat\n",
  22. "from uncertainties import unumpy as unp\n",
  23. "from uncertainties import umath\n",
  24. "import random\n",
  25. "import matplotlib.pyplot as plt\n",
  26. "plt.rcParams['font.size'] = 12\n",
  27. "\n",
  28. "from DataContainer.ReadData import read_hdf5_file\n",
  29. "from Analyser.ImagingAnalyser import ImageAnalyser\n",
  30. "from Analyser.FitAnalyser import FitAnalyser\n",
  31. "from Analyser.FitAnalyser import NewFitModel, DensityProfileBEC2dModel\n",
  32. "from ToolFunction.ToolFunction import *\n",
  33. "\n",
  34. "from scipy.optimize import curve_fit\n",
  35. "\n",
  36. "from ToolFunction.HomeMadeXarrayFunction import errorbar, dataarray_plot_errorbar\n",
  37. "xr.plot.dataarray_plot.errorbar = errorbar\n",
  38. "xr.plot.accessor.DataArrayPlotAccessor.errorbar = dataarray_plot_errorbar\n",
  39. "\n",
  40. "imageAnalyser = ImageAnalyser()\n",
  41. "\n",
  42. "# %matplotlib notebook"
  43. ]
  44. },
  45. {
  46. "attachments": {},
  47. "cell_type": "markdown",
  48. "metadata": {},
  49. "source": [
  50. "## Start a client for parallel computing"
  51. ]
  52. },
  53. {
  54. "cell_type": "code",
  55. "execution_count": 2,
  56. "metadata": {},
  57. "outputs": [
  58. {
  59. "name": "stderr",
  60. "output_type": "stream",
  61. "text": [
  62. "C:\\Users\\data\\AppData\\Roaming\\Python\\Python39\\site-packages\\distributed\\node.py:182: UserWarning: Port 8787 is already in use.\n",
  63. "Perhaps you already have a cluster running?\n",
  64. "Hosting the HTTP server on port 64025 instead\n",
  65. " warnings.warn(\n"
  66. ]
  67. },
  68. {
  69. "data": {
  70. "text/html": [
  71. "<div>\n",
  72. " <div style=\"width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;\"> </div>\n",
  73. " <div style=\"margin-left: 48px;\">\n",
  74. " <h3 style=\"margin-bottom: 0px;\">Client</h3>\n",
  75. " <p style=\"color: #9D9D9D; margin-bottom: 0px;\">Client-62d9ff1a-1663-11ee-a424-80e82ce2fa8e</p>\n",
  76. " <table style=\"width: 100%; text-align: left;\">\n",
  77. "\n",
  78. " <tr>\n",
  79. " \n",
  80. " <td style=\"text-align: left;\"><strong>Connection method:</strong> Cluster object</td>\n",
  81. " <td style=\"text-align: left;\"><strong>Cluster type:</strong> distributed.LocalCluster</td>\n",
  82. " \n",
  83. " </tr>\n",
  84. "\n",
  85. " \n",
  86. " <tr>\n",
  87. " <td style=\"text-align: left;\">\n",
  88. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:64025/status\" target=\"_blank\">http://127.0.0.1:64025/status</a>\n",
  89. " </td>\n",
  90. " <td style=\"text-align: left;\"></td>\n",
  91. " </tr>\n",
  92. " \n",
  93. "\n",
  94. " </table>\n",
  95. "\n",
  96. " \n",
  97. "\n",
  98. " \n",
  99. " <details>\n",
  100. " <summary style=\"margin-bottom: 20px;\"><h3 style=\"display: inline;\">Cluster Info</h3></summary>\n",
  101. " <div class=\"jp-RenderedHTMLCommon jp-RenderedHTML jp-mod-trusted jp-OutputArea-output\">\n",
  102. " <div style=\"width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;\">\n",
  103. " </div>\n",
  104. " <div style=\"margin-left: 48px;\">\n",
  105. " <h3 style=\"margin-bottom: 0px; margin-top: 0px;\">LocalCluster</h3>\n",
  106. " <p style=\"color: #9D9D9D; margin-bottom: 0px;\">c9b6fb7f</p>\n",
  107. " <table style=\"width: 100%; text-align: left;\">\n",
  108. " <tr>\n",
  109. " <td style=\"text-align: left;\">\n",
  110. " <strong>Dashboard:</strong> <a href=\"http://127.0.0.1:64025/status\" target=\"_blank\">http://127.0.0.1:64025/status</a>\n",
  111. " </td>\n",
  112. " <td style=\"text-align: left;\">\n",
  113. " <strong>Workers:</strong> 8\n",
  114. " </td>\n",
  115. " </tr>\n",
  116. " <tr>\n",
  117. " <td style=\"text-align: left;\">\n",
  118. " <strong>Total threads:</strong> 128\n",
  119. " </td>\n",
  120. " <td style=\"text-align: left;\">\n",
  121. " <strong>Total memory:</strong> 149.01 GiB\n",
  122. " </td>\n",
  123. " </tr>\n",
  124. " \n",
  125. " <tr>\n",
  126. " <td style=\"text-align: left;\"><strong>Status:</strong> running</td>\n",
  127. " <td style=\"text-align: left;\"><strong>Using processes:</strong> True</td>\n",
  128. "</tr>\n",
  129. "\n",
  130. " \n",
  131. " </table>\n",
  132. "\n",
  133. " <details>\n",
  134. " <summary style=\"margin-bottom: 20px;\">\n",
  135. " <h3 style=\"display: inline;\">Scheduler Info</h3>\n",
  136. " </summary>\n",
  137. "\n",
  138. " <div style=\"\">\n",
  139. " <div>\n",
  140. " <div style=\"width: 24px; height: 24px; background-color: #FFF7E5; border: 3px solid #FF6132; border-radius: 5px; position: absolute;\"> </div>\n",
  141. " <div style=\"margin-left: 48px;\">\n",
  142. " <h3 style=\"margin-bottom: 0px;\">Scheduler</h3>\n",
  143. " <p style=\"color: #9D9D9D; margin-bottom: 0px;\">Scheduler-aec9e7c3-d306-41ff-adef-79b6d2ae756f</p>\n",
  144. " <table style=\"width: 100%; text-align: left;\">\n",
  145. " <tr>\n",
  146. " <td style=\"text-align: left;\">\n",
  147. " <strong>Comm:</strong> tcp://127.0.0.1:64028\n",
  148. " </td>\n",
  149. " <td style=\"text-align: left;\">\n",
  150. " <strong>Workers:</strong> 8\n",
  151. " </td>\n",
  152. " </tr>\n",
  153. " <tr>\n",
  154. " <td style=\"text-align: left;\">\n",
  155. " <strong>Dashboard:</strong> <a href=\"http://127.0.0.1:64025/status\" target=\"_blank\">http://127.0.0.1:64025/status</a>\n",
  156. " </td>\n",
  157. " <td style=\"text-align: left;\">\n",
  158. " <strong>Total threads:</strong> 128\n",
  159. " </td>\n",
  160. " </tr>\n",
  161. " <tr>\n",
  162. " <td style=\"text-align: left;\">\n",
  163. " <strong>Started:</strong> Just now\n",
  164. " </td>\n",
  165. " <td style=\"text-align: left;\">\n",
  166. " <strong>Total memory:</strong> 149.01 GiB\n",
  167. " </td>\n",
  168. " </tr>\n",
  169. " </table>\n",
  170. " </div>\n",
  171. " </div>\n",
  172. "\n",
  173. " <details style=\"margin-left: 48px;\">\n",
  174. " <summary style=\"margin-bottom: 20px;\">\n",
  175. " <h3 style=\"display: inline;\">Workers</h3>\n",
  176. " </summary>\n",
  177. "\n",
  178. " \n",
  179. " <div style=\"margin-bottom: 20px;\">\n",
  180. " <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
  181. " <div style=\"margin-left: 48px;\">\n",
  182. " <details>\n",
  183. " <summary>\n",
  184. " <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 0</h4>\n",
  185. " </summary>\n",
  186. " <table style=\"width: 100%; text-align: left;\">\n",
  187. " <tr>\n",
  188. " <td style=\"text-align: left;\">\n",
  189. " <strong>Comm: </strong> tcp://127.0.0.1:64070\n",
  190. " </td>\n",
  191. " <td style=\"text-align: left;\">\n",
  192. " <strong>Total threads: </strong> 16\n",
  193. " </td>\n",
  194. " </tr>\n",
  195. " <tr>\n",
  196. " <td style=\"text-align: left;\">\n",
  197. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:64073/status\" target=\"_blank\">http://127.0.0.1:64073/status</a>\n",
  198. " </td>\n",
  199. " <td style=\"text-align: left;\">\n",
  200. " <strong>Memory: </strong> 18.63 GiB\n",
  201. " </td>\n",
  202. " </tr>\n",
  203. " <tr>\n",
  204. " <td style=\"text-align: left;\">\n",
  205. " <strong>Nanny: </strong> tcp://127.0.0.1:64031\n",
  206. " </td>\n",
  207. " <td style=\"text-align: left;\"></td>\n",
  208. " </tr>\n",
  209. " <tr>\n",
  210. " <td colspan=\"2\" style=\"text-align: left;\">\n",
  211. " <strong>Local directory: </strong> C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-a5t3uhr6\n",
  212. " </td>\n",
  213. " </tr>\n",
  214. "\n",
  215. " \n",
  216. "\n",
  217. " \n",
  218. "\n",
  219. " </table>\n",
  220. " </details>\n",
  221. " </div>\n",
  222. " </div>\n",
  223. " \n",
  224. " <div style=\"margin-bottom: 20px;\">\n",
  225. " <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
  226. " <div style=\"margin-left: 48px;\">\n",
  227. " <details>\n",
  228. " <summary>\n",
  229. " <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 1</h4>\n",
  230. " </summary>\n",
  231. " <table style=\"width: 100%; text-align: left;\">\n",
  232. " <tr>\n",
  233. " <td style=\"text-align: left;\">\n",
  234. " <strong>Comm: </strong> tcp://127.0.0.1:64064\n",
  235. " </td>\n",
  236. " <td style=\"text-align: left;\">\n",
  237. " <strong>Total threads: </strong> 16\n",
  238. " </td>\n",
  239. " </tr>\n",
  240. " <tr>\n",
  241. " <td style=\"text-align: left;\">\n",
  242. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:64067/status\" target=\"_blank\">http://127.0.0.1:64067/status</a>\n",
  243. " </td>\n",
  244. " <td style=\"text-align: left;\">\n",
  245. " <strong>Memory: </strong> 18.63 GiB\n",
  246. " </td>\n",
  247. " </tr>\n",
  248. " <tr>\n",
  249. " <td style=\"text-align: left;\">\n",
  250. " <strong>Nanny: </strong> tcp://127.0.0.1:64032\n",
  251. " </td>\n",
  252. " <td style=\"text-align: left;\"></td>\n",
  253. " </tr>\n",
  254. " <tr>\n",
  255. " <td colspan=\"2\" style=\"text-align: left;\">\n",
  256. " <strong>Local directory: </strong> C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-axcwdu0y\n",
  257. " </td>\n",
  258. " </tr>\n",
  259. "\n",
  260. " \n",
  261. "\n",
  262. " \n",
  263. "\n",
  264. " </table>\n",
  265. " </details>\n",
  266. " </div>\n",
  267. " </div>\n",
  268. " \n",
  269. " <div style=\"margin-bottom: 20px;\">\n",
  270. " <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
  271. " <div style=\"margin-left: 48px;\">\n",
  272. " <details>\n",
  273. " <summary>\n",
  274. " <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 2</h4>\n",
  275. " </summary>\n",
  276. " <table style=\"width: 100%; text-align: left;\">\n",
  277. " <tr>\n",
  278. " <td style=\"text-align: left;\">\n",
  279. " <strong>Comm: </strong> tcp://127.0.0.1:64084\n",
  280. " </td>\n",
  281. " <td style=\"text-align: left;\">\n",
  282. " <strong>Total threads: </strong> 16\n",
  283. " </td>\n",
  284. " </tr>\n",
  285. " <tr>\n",
  286. " <td style=\"text-align: left;\">\n",
  287. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:64085/status\" target=\"_blank\">http://127.0.0.1:64085/status</a>\n",
  288. " </td>\n",
  289. " <td style=\"text-align: left;\">\n",
  290. " <strong>Memory: </strong> 18.63 GiB\n",
  291. " </td>\n",
  292. " </tr>\n",
  293. " <tr>\n",
  294. " <td style=\"text-align: left;\">\n",
  295. " <strong>Nanny: </strong> tcp://127.0.0.1:64033\n",
  296. " </td>\n",
  297. " <td style=\"text-align: left;\"></td>\n",
  298. " </tr>\n",
  299. " <tr>\n",
  300. " <td colspan=\"2\" style=\"text-align: left;\">\n",
  301. " <strong>Local directory: </strong> C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-ewtdqzqy\n",
  302. " </td>\n",
  303. " </tr>\n",
  304. "\n",
  305. " \n",
  306. "\n",
  307. " \n",
  308. "\n",
  309. " </table>\n",
  310. " </details>\n",
  311. " </div>\n",
  312. " </div>\n",
  313. " \n",
  314. " <div style=\"margin-bottom: 20px;\">\n",
  315. " <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
  316. " <div style=\"margin-left: 48px;\">\n",
  317. " <details>\n",
  318. " <summary>\n",
  319. " <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 3</h4>\n",
  320. " </summary>\n",
  321. " <table style=\"width: 100%; text-align: left;\">\n",
  322. " <tr>\n",
  323. " <td style=\"text-align: left;\">\n",
  324. " <strong>Comm: </strong> tcp://127.0.0.1:64076\n",
  325. " </td>\n",
  326. " <td style=\"text-align: left;\">\n",
  327. " <strong>Total threads: </strong> 16\n",
  328. " </td>\n",
  329. " </tr>\n",
  330. " <tr>\n",
  331. " <td style=\"text-align: left;\">\n",
  332. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:64079/status\" target=\"_blank\">http://127.0.0.1:64079/status</a>\n",
  333. " </td>\n",
  334. " <td style=\"text-align: left;\">\n",
  335. " <strong>Memory: </strong> 18.63 GiB\n",
  336. " </td>\n",
  337. " </tr>\n",
  338. " <tr>\n",
  339. " <td style=\"text-align: left;\">\n",
  340. " <strong>Nanny: </strong> tcp://127.0.0.1:64034\n",
  341. " </td>\n",
  342. " <td style=\"text-align: left;\"></td>\n",
  343. " </tr>\n",
  344. " <tr>\n",
  345. " <td colspan=\"2\" style=\"text-align: left;\">\n",
  346. " <strong>Local directory: </strong> C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-imeu1_9t\n",
  347. " </td>\n",
  348. " </tr>\n",
  349. "\n",
  350. " \n",
  351. "\n",
  352. " \n",
  353. "\n",
  354. " </table>\n",
  355. " </details>\n",
  356. " </div>\n",
  357. " </div>\n",
  358. " \n",
  359. " <div style=\"margin-bottom: 20px;\">\n",
  360. " <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
  361. " <div style=\"margin-left: 48px;\">\n",
  362. " <details>\n",
  363. " <summary>\n",
  364. " <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 4</h4>\n",
  365. " </summary>\n",
  366. " <table style=\"width: 100%; text-align: left;\">\n",
  367. " <tr>\n",
  368. " <td style=\"text-align: left;\">\n",
  369. " <strong>Comm: </strong> tcp://127.0.0.1:64075\n",
  370. " </td>\n",
  371. " <td style=\"text-align: left;\">\n",
  372. " <strong>Total threads: </strong> 16\n",
  373. " </td>\n",
  374. " </tr>\n",
  375. " <tr>\n",
  376. " <td style=\"text-align: left;\">\n",
  377. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:64077/status\" target=\"_blank\">http://127.0.0.1:64077/status</a>\n",
  378. " </td>\n",
  379. " <td style=\"text-align: left;\">\n",
  380. " <strong>Memory: </strong> 18.63 GiB\n",
  381. " </td>\n",
  382. " </tr>\n",
  383. " <tr>\n",
  384. " <td style=\"text-align: left;\">\n",
  385. " <strong>Nanny: </strong> tcp://127.0.0.1:64035\n",
  386. " </td>\n",
  387. " <td style=\"text-align: left;\"></td>\n",
  388. " </tr>\n",
  389. " <tr>\n",
  390. " <td colspan=\"2\" style=\"text-align: left;\">\n",
  391. " <strong>Local directory: </strong> C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-y0dpc96g\n",
  392. " </td>\n",
  393. " </tr>\n",
  394. "\n",
  395. " \n",
  396. "\n",
  397. " \n",
  398. "\n",
  399. " </table>\n",
  400. " </details>\n",
  401. " </div>\n",
  402. " </div>\n",
  403. " \n",
  404. " <div style=\"margin-bottom: 20px;\">\n",
  405. " <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
  406. " <div style=\"margin-left: 48px;\">\n",
  407. " <details>\n",
  408. " <summary>\n",
  409. " <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 5</h4>\n",
  410. " </summary>\n",
  411. " <table style=\"width: 100%; text-align: left;\">\n",
  412. " <tr>\n",
  413. " <td style=\"text-align: left;\">\n",
  414. " <strong>Comm: </strong> tcp://127.0.0.1:64063\n",
  415. " </td>\n",
  416. " <td style=\"text-align: left;\">\n",
  417. " <strong>Total threads: </strong> 16\n",
  418. " </td>\n",
  419. " </tr>\n",
  420. " <tr>\n",
  421. " <td style=\"text-align: left;\">\n",
  422. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:64065/status\" target=\"_blank\">http://127.0.0.1:64065/status</a>\n",
  423. " </td>\n",
  424. " <td style=\"text-align: left;\">\n",
  425. " <strong>Memory: </strong> 18.63 GiB\n",
  426. " </td>\n",
  427. " </tr>\n",
  428. " <tr>\n",
  429. " <td style=\"text-align: left;\">\n",
  430. " <strong>Nanny: </strong> tcp://127.0.0.1:64036\n",
  431. " </td>\n",
  432. " <td style=\"text-align: left;\"></td>\n",
  433. " </tr>\n",
  434. " <tr>\n",
  435. " <td colspan=\"2\" style=\"text-align: left;\">\n",
  436. " <strong>Local directory: </strong> C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-hrqxp7t9\n",
  437. " </td>\n",
  438. " </tr>\n",
  439. "\n",
  440. " \n",
  441. "\n",
  442. " \n",
  443. "\n",
  444. " </table>\n",
  445. " </details>\n",
  446. " </div>\n",
  447. " </div>\n",
  448. " \n",
  449. " <div style=\"margin-bottom: 20px;\">\n",
  450. " <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
  451. " <div style=\"margin-left: 48px;\">\n",
  452. " <details>\n",
  453. " <summary>\n",
  454. " <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 6</h4>\n",
  455. " </summary>\n",
  456. " <table style=\"width: 100%; text-align: left;\">\n",
  457. " <tr>\n",
  458. " <td style=\"text-align: left;\">\n",
  459. " <strong>Comm: </strong> tcp://127.0.0.1:64069\n",
  460. " </td>\n",
  461. " <td style=\"text-align: left;\">\n",
  462. " <strong>Total threads: </strong> 16\n",
  463. " </td>\n",
  464. " </tr>\n",
  465. " <tr>\n",
  466. " <td style=\"text-align: left;\">\n",
  467. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:64071/status\" target=\"_blank\">http://127.0.0.1:64071/status</a>\n",
  468. " </td>\n",
  469. " <td style=\"text-align: left;\">\n",
  470. " <strong>Memory: </strong> 18.63 GiB\n",
  471. " </td>\n",
  472. " </tr>\n",
  473. " <tr>\n",
  474. " <td style=\"text-align: left;\">\n",
  475. " <strong>Nanny: </strong> tcp://127.0.0.1:64037\n",
  476. " </td>\n",
  477. " <td style=\"text-align: left;\"></td>\n",
  478. " </tr>\n",
  479. " <tr>\n",
  480. " <td colspan=\"2\" style=\"text-align: left;\">\n",
  481. " <strong>Local directory: </strong> C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-dv2tpx5b\n",
  482. " </td>\n",
  483. " </tr>\n",
  484. "\n",
  485. " \n",
  486. "\n",
  487. " \n",
  488. "\n",
  489. " </table>\n",
  490. " </details>\n",
  491. " </div>\n",
  492. " </div>\n",
  493. " \n",
  494. " <div style=\"margin-bottom: 20px;\">\n",
  495. " <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
  496. " <div style=\"margin-left: 48px;\">\n",
  497. " <details>\n",
  498. " <summary>\n",
  499. " <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 7</h4>\n",
  500. " </summary>\n",
  501. " <table style=\"width: 100%; text-align: left;\">\n",
  502. " <tr>\n",
  503. " <td style=\"text-align: left;\">\n",
  504. " <strong>Comm: </strong> tcp://127.0.0.1:64081\n",
  505. " </td>\n",
  506. " <td style=\"text-align: left;\">\n",
  507. " <strong>Total threads: </strong> 16\n",
  508. " </td>\n",
  509. " </tr>\n",
  510. " <tr>\n",
  511. " <td style=\"text-align: left;\">\n",
  512. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:64082/status\" target=\"_blank\">http://127.0.0.1:64082/status</a>\n",
  513. " </td>\n",
  514. " <td style=\"text-align: left;\">\n",
  515. " <strong>Memory: </strong> 18.63 GiB\n",
  516. " </td>\n",
  517. " </tr>\n",
  518. " <tr>\n",
  519. " <td style=\"text-align: left;\">\n",
  520. " <strong>Nanny: </strong> tcp://127.0.0.1:64038\n",
  521. " </td>\n",
  522. " <td style=\"text-align: left;\"></td>\n",
  523. " </tr>\n",
  524. " <tr>\n",
  525. " <td colspan=\"2\" style=\"text-align: left;\">\n",
  526. " <strong>Local directory: </strong> C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-e907936d\n",
  527. " </td>\n",
  528. " </tr>\n",
  529. "\n",
  530. " \n",
  531. "\n",
  532. " \n",
  533. "\n",
  534. " </table>\n",
  535. " </details>\n",
  536. " </div>\n",
  537. " </div>\n",
  538. " \n",
  539. "\n",
  540. " </details>\n",
  541. "</div>\n",
  542. "\n",
  543. " </details>\n",
  544. " </div>\n",
  545. "</div>\n",
  546. " </details>\n",
  547. " \n",
  548. "\n",
  549. " </div>\n",
  550. "</div>"
  551. ],
  552. "text/plain": [
  553. "<Client: 'tcp://127.0.0.1:64028' processes=8 threads=128, memory=149.01 GiB>"
  554. ]
  555. },
  556. "execution_count": 2,
  557. "metadata": {},
  558. "output_type": "execute_result"
  559. }
  560. ],
  561. "source": [
  562. "from dask.distributed import Client\n",
  563. "client = Client(n_workers=8, threads_per_worker=16, processes=True, memory_limit='20GB')\n",
  564. "client"
  565. ]
  566. },
  567. {
  568. "attachments": {},
  569. "cell_type": "markdown",
  570. "metadata": {},
  571. "source": [
  572. "## Start a client for Mongo DB"
  573. ]
  574. },
  575. {
  576. "cell_type": "code",
  577. "execution_count": 3,
  578. "metadata": {},
  579. "outputs": [],
  580. "source": [
  581. "import pymongo\n",
  582. "import xarray_mongodb\n",
  583. "\n",
  584. "from DataContainer.MongoDB import MongoDB\n",
  585. "\n",
  586. "mongoClient = pymongo.MongoClient('mongodb://control:DyLab2021@127.0.0.1:27017/?authMechanism=DEFAULT')"
  587. ]
  588. },
  589. {
  590. "attachments": {},
  591. "cell_type": "markdown",
  592. "metadata": {},
  593. "source": [
  594. "## Set global path for experiment"
  595. ]
  596. },
  597. {
  598. "cell_type": "code",
  599. "execution_count": 4,
  600. "metadata": {},
  601. "outputs": [],
  602. "source": [
  603. "groupList = [\n",
  604. " \"images/MOT_3D_Camera/in_situ_absorption\",\n",
  605. " \"images/ODT_1_Axis_Camera/in_situ_absorption\",\n",
  606. " \"images/ODT_2_Axis_Camera/in_situ_absorption\",\n",
  607. "]\n",
  608. "\n",
  609. "dskey = {\n",
  610. " \"images/MOT_3D_Camera/in_situ_absorption\": \"camera_0\",\n",
  611. " \"images/ODT_1_Axis_Camera/in_situ_absorption\": \"camera_1\",\n",
  612. " \"images/ODT_2_Axis_Camera/in_situ_absorption\": \"camera_2\",\n",
  613. "}\n"
  614. ]
  615. },
  616. {
  617. "cell_type": "code",
  618. "execution_count": 5,
  619. "metadata": {},
  620. "outputs": [],
  621. "source": [
  622. "img_dir = 'C:/Users/control/DyLab/Experiments/DyBEC/'\n",
  623. "SequenceName = \"Repetition_scan\"\n",
  624. "folderPath = img_dir + SequenceName + \"/\" + get_date()\n",
  625. "\n",
  626. "mongoDB = mongoClient[SequenceName]\n",
  627. "\n",
  628. "DB = MongoDB(mongoClient, mongoDB, date=get_date())"
  629. ]
  630. },
  631. {
  632. "attachments": {},
  633. "cell_type": "markdown",
  634. "metadata": {},
  635. "source": [
  636. "# Repetition Scans"
  637. ]
  638. },
  639. {
  640. "attachments": {},
  641. "cell_type": "markdown",
  642. "metadata": {},
  643. "source": [
  644. "## scan MOT freq"
  645. ]
  646. },
  647. {
  648. "cell_type": "code",
  649. "execution_count": 6,
  650. "metadata": {
  651. "scrolled": false
  652. },
  653. "outputs": [
  654. {
  655. "name": "stdout",
  656. "output_type": "stream",
  657. "text": [
  658. "The detected scaning axes and values are: \n",
  659. "\n",
  660. "{'initial_freq': array([102. , 102.25, 102.5 , 102.75, 103. , 103.25, 103.5 , 103.75,\n",
  661. " 104. , 104.25, 104.5 , 104.75]), 'runs': array([0., 1., 2.])}\n"
  662. ]
  663. },
  664. {
  665. "data": {
  666. "application/javascript": "/* Put everything inside the global mpl namespace */\n/* global mpl */\nwindow.mpl = {};\n\nmpl.get_websocket_type = function () {\n if (typeof WebSocket !== 'undefined') {\n return WebSocket;\n } else if (typeof MozWebSocket !== 'undefined') {\n return MozWebSocket;\n } else {\n alert(\n 'Your browser does not have WebSocket support. ' +\n 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n 'Firefox 4 and 5 are also supported but you ' +\n 'have to enable WebSockets in about:config.'\n );\n }\n};\n\nmpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n this.id = figure_id;\n\n this.ws = websocket;\n\n this.supports_binary = this.ws.binaryType !== undefined;\n\n if (!this.supports_binary) {\n var warnings = document.getElementById('mpl-warnings');\n if (warnings) {\n warnings.style.display = 'block';\n warnings.textContent =\n 'This browser does not support binary websocket messages. ' +\n 'Performance may be slow.';\n }\n }\n\n this.imageObj = new Image();\n\n this.context = undefined;\n this.message = undefined;\n this.canvas = undefined;\n this.rubberband_canvas = undefined;\n this.rubberband_context = undefined;\n this.format_dropdown = undefined;\n\n this.image_mode = 'full';\n\n this.root = document.createElement('div');\n this.root.setAttribute('style', 'display: inline-block');\n this._root_extra_style(this.root);\n\n parent_element.appendChild(this.root);\n\n this._init_header(this);\n this._init_canvas(this);\n this._init_toolbar(this);\n\n var fig = this;\n\n this.waiting = false;\n\n this.ws.onopen = function () {\n fig.send_message('supports_binary', { value: fig.supports_binary });\n fig.send_message('send_image_mode', {});\n if (fig.ratio !== 1) {\n fig.send_message('set_device_pixel_ratio', {\n device_pixel_ratio: fig.ratio,\n });\n }\n fig.send_message('refresh', {});\n };\n\n this.imageObj.onload = function () {\n if (fig.image_mode === 'full') {\n // Full images could contain transparency (where diff images\n // almost always do), so we need to clear the canvas so that\n // there is no ghosting.\n fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n }\n fig.context.drawImage(fig.imageObj, 0, 0);\n };\n\n this.imageObj.onunload = function () {\n fig.ws.close();\n };\n\n this.ws.onmessage = this._make_on_message_function(this);\n\n this.ondownload = ondownload;\n};\n\nmpl.figure.prototype._init_header = function () {\n var titlebar = document.createElement('div');\n titlebar.classList =\n 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n var titletext = document.createElement('div');\n titletext.classList = 'ui-dialog-title';\n titletext.setAttribute(\n 'style',\n 'width: 100%; text-align: center; padding: 3px;'\n );\n titlebar.appendChild(titletext);\n this.root.appendChild(titlebar);\n this.header = titletext;\n};\n\nmpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n\nmpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n\nmpl.figure.prototype._init_canvas = function () {\n var fig = this;\n\n var canvas_div = (this.canvas_div = document.createElement('div'));\n canvas_div.setAttribute(\n 'style',\n 'border: 1px solid #ddd;' +\n 'box-sizing: content-box;' +\n 'clear: both;' +\n 'min-height: 1px;' +\n 'min-width: 1px;' +\n 'outline: 0;' +\n 'overflow: hidden;' +\n 'position: relative;' +\n 'resize: both;'\n );\n\n function on_keyboard_event_closure(name) {\n return function (event) {\n return fig.key
  667. "text/plain": [
  668. "<IPython.core.display.Javascript object>"
  669. ]
  670. },
  671. "metadata": {},
  672. "output_type": "display_data"
  673. },
  674. {
  675. "data": {
  676. "text/html": [
  677. "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAAXNSR0IArs4c6QAAIABJREFUeF7tnQu4lUX1h9cBAcG4g4SAYgooWuAlAU2TFAgfEkRDoFLIgLwkCCpiXqAUJUAwb0CmIsqlfETARMEUMRHvkiWg5o1bkgikofiXzv9Zk3u7z429zz6zZvY++53n6QnZ863f972zzjo/Zr6ZXVRcXFwsNAhAAAIQgAAEIACBgiFQhAEsmLHmQSEAAQhAAAIQgIAjgAEkESAAAQhAAAIQgECBEcAAFtiA87gQgAAEIAABCEAAA0gOQAACEIAABCAAgQIjgAEssAHncSEAAQhAAAIQgAAGkByAAAQgAAEIQAACBUYAA1hgA87jQgACEIAABCAAAQwgOQABCEAAAhCAAAQKjAAGsMAGnMeFAAQgAAEIQAACGEByAAIQgAAEIAABCBQYAQxggQ04jwsBCEAAAhCAAAQwgOQABCAAAQhAAAIQKDACGMACG3AeFwIQgAAEIAABCGAAcyAH/vvf/8rmzZulfv36UlRUlAN3xC1AAAIQgAAEIJDLBIqLi+Xjjz+WAw44QGrUqFHpW8UAVhqZ/ws2btwobdq08R+YiBCAAAQgAAEIVGsCGzZskNatW1f6GTGAlUbm/4KdO3dKo0aNRAexQYMG3gX+7//+T5YtWyY9e/aUWrVqeY9fyAFhazf6sIWtHQG7yOQtbO0IlIz873//200e7dixQxo2bFhpWQxgpZH5v0AHUQdPjaCVAXzkkUfktNNOwwB6Hj4t9rD1DPXLcLC14apRYQtbOwJ2kcnbsgawKt4BA2iXqxlHxgBmjCrnOlKQ7IYEtrC1I2AXmbyFrR0BDGAotsF0MIDBUHsXoth7R5oMCFvY2hGwi0zewtaOAAYwFNtgOhjAYKi9C1HsvSPFANohhS1sAxCwk6DeYgDtsitSZAxgJPAeZClIHiBWEAK2sLUjYBeZvIWtHQEMYCi2wXQwgMFQexei2HtHyiyVHVLYwjYAATsJ6i0G0C67IkXGAEYC70GWguQBIjOAdhBhC9vgBOwEqbcYQLvsihQZAxgJvAdZCpIHiJgUO4iwhW1wAnaC1FsMoF12RYqMAYwE3oMsBckDREyKHUTYwjY4ATtB6i0G0C67IkXGAEYC70GWguQBIibFDiJsYRucgJ0g9baaG8CVK1fK5MmT5aWXXpItW7bIwoULpV+/fu6pdfCvuuoq980Lb7/9tvv2jFNPPVVuvPFG92XIibZ792659NJLZd68efLpp5/KKaecIrfffnuJ78rbvn27XHzxxbJ48WJ32emnny633HKL+0q2RHv//fflwgsvlCeeeELq1q0rgwcPlilTpkjt2rWTfV577TW56KKL5Pnnn5cmTZrIiBEj5Oqrr5aioqKMfwowgBmjyrmOFCS7IYEtbO0I2EUmb2FrR6CaG8ClS5fKM888I0cffbSceeaZJQygflXaWWedJcOGDZNOnTqJmrhRo0bJF198IS+++GKSzPnnny9LliyRe+65R5o2bSpjxoyRjz76yJnKmjVrun69e/eWjRs3yqxZs9x/Dx8+XNq2beuu07Znzx7p3LmzNG/eXKZOnSrbtm2Tc889V/r37++MojY1bu3bt5fu3bvLL3/5S3njjTdkyJAhcu211zrNTBsGMFNSudePYm83JrCFrR0Bu8jkLWztCFRzA5j6eDqLljoDWB7UF154QY477jh577335MADD3Tfp6umbc6cOXL22We7SzZv3uy+MFlnDnv16iVr166Vjh07yurVq6VLly6uj/65W7dusm7dOunQoYOoEe3Tp49s2LAhObs4f/58Z/C2bt3qvrP3jjvukHHjxskHH3wgderUcXF0NlINoprLTGcBMYChflz861Ds/TNNRIQtbO0I2EUmb2FrRwADWILA448/Lj179pQdO3Y4U6bLtbrkqzN+jRs3TvbVGUNdSp4wYYLcddddMnr0aHdNatPl32nTpsnQoUPlmmuukUWLFsmaNWuSXXTGUZd5VUNn/c455xxnOLVfor3yyitu9lKXqA8++OBy80CXqPV/iaYGUA3qhx9+6J7Bd9OCtHz5cunRo4fUqlXLd/iCjgdbu+GHLWztCNhFJm9ha0egrAFs1qyZ8yHZeIei4uLi4lA3W1mddDOAn332mXznO9+Rww47TO677z4Xfu7cuc7ApRos/Xs1iWrIZs6cKRMnTnTLw7pkm9p0OVev1Vk9XRJ+9913ZdmyZSX66EyfXjto0CAXU5eNE8vI2lFnG1u1aiWrVq1yM4rltfHjxzsjWrrpvderV6+ymOgPgbQE9uwRef31prJ9+77SuPFn0rHjNvnybYi019IBAhCAAARyj8CuXbvc3oSCM4D6r6wf/vCHohs1VqxYkXS/FRlAnf065JBDZMaMGc4Azp49W9avX19iRNu1ayfnnXeeXHHFFc4A6rLyY489VqKPbgC59957ZeDAgSVMZaLTpk2b3GaTZ599Vrp27VpuxjADmHs/SNneUT78a3/hwiIZPbqmbNr01cakVq2K5aab9sgZZ+Tsv//cpi9mrrPNzL1fB1sbrhoVtrC1I1Aysq4eFtwMoP6ADRgwwC2z6nKsbvRItHxYAi6dHLwDGOrHxb9Orr/v8+CDImedJVJ6nj+xSf2BB0T69/fPxUfEXGfr4xljxYCtHXnYwtaOQFkDqKehFMwMYML8vfnmm/Lkk0+6DR+pLbEJRJeE1SRq0+NkdFau9CaQ5557zm0g0aZ/1hm70ptAdDNHy5YtXZ8FCxa4ncCpm0CuvPJKtwkkcTTMpEmT5Le//S2bQEL9BETWyeVir8u+bduKbNxYPiQ1ga1bi7zzjuTkcnAus42cdlWWh22VEVYYALawtSNQzQ3gJ598Im+99ZZ7yqOOOkpuuukmt+FCN1/oWX96NMzLL78sDz/8sLRo0SJJQz9PmDA9BkY/13f19O/1TEA9xqX0MTD6vp6+E6hNl3wPOuigMsfAqIaeS6ibSnQHsG4kSRwDo2ZTdwx/73vfEzWCakq1j24g4RiYUD8CcXVyudivWCHSvXt6Pk8+KXLyyen7he6Ry2xDs/CtB1vfRL+KB1vY2hGo5gZQ3+dTw1e66cybbp6oaGetzgae/OVvMd0cctlll7kNIakHQetO20RTQ1f6IOhbb721zEHQF1xwQZmDoBNHvmgsPQhaD4vWg6B11/HPf/5zZwAzPQJGY7AEHOrHxb9OLhf7efNEBg9O/8xz54oMGpS+X+geucw2NAvferD1TRQDaEcUthWxrap3yOldwCESKhc0qjqI6Z6BYp+OUPaf5zJbZgCzH9fqfmUu522+s4et3QjCtprPANqlTu5GxgDm7tiku7NcLkiJdwA3bSq7CUSfi3cA041u9f08l/M236nD1m4EYYsBtMuuSJExgJHAe5DN9YKU2AWsj5q6E5hdwB4GP49D5Hre5jFadwyMbjg87bTTOHjf80DCFgPoOaXih8MAxh+DbO8gHwqSmsCRI0vuBtbXYadPz90jYHQ88oFttnkT+zrY2o0AbGFrRwADGIptMB0MYDDU3oXypdjrcvDTT+uRSCJ6qtGJJ+bm0S+pA5QvbL0nVYCAsLWDDFvY2hHAAIZiG0wHAxgMtXchir13pMmAsIWtHQG7yOQtbO0IYABDsQ2mgwEMhtq7EMXeO1IMoB1S2MI2AAE7CeotBtAuuyJFxgBGAu9BloLkAWIFIWALWzsCdpHJW9jaEcAAhmIbTAcDGAy1dyGKvXekzFLZIYUtbAMQsJOg3mIA7bIrUmQMYCTwHmQpSB4gMgNoBxG2sA1OwE6QeosBtMuuSJExgJHAe5ClIHmAiEmxgwhb2AYnYCdIvcUA2mVXpMgYwEjgPchSkDxAxKTYQYQtbIMTsBOk3mIA7bIrUmQMYCTwVZTVs/WefPILWbr0Vendu7N0776P1KxZxaBcniRAsbdLBtjC1o6AXWTyFgNol12RImMAI4Gvgmx5367RurXIzTfn9rdrVOGRg19KsbdDDlvY2hGwi0zeYgDtsitSZAxgJP
  678. ],
  679. "text/plain": [
  680. "<IPython.core.display.HTML object>"
  681. ]
  682. },
  683. "metadata": {},
  684. "output_type": "display_data"
  685. }
  686. ],
  687. "source": [
  688. "%matplotlib notebook\n",
  689. "shotNum = \"0000\"\n",
  690. "filePath = folderPath + \"/\" + shotNum + \"/*.h5\"\n",
  691. "\n",
  692. "dataSetDict = {\n",
  693. " dskey[groupList[i]]: read_hdf5_file(filePath, groupList[i])\n",
  694. " for i in range(len(groupList))\n",
  695. "}\n",
  696. "\n",
  697. "dataSet = dataSetDict[\"camera_1\"]\n",
  698. "\n",
  699. "print_scanAxis(dataSet)\n",
  700. "\n",
  701. "scanAxis = get_scanAxis(dataSet)\n",
  702. "\n",
  703. "dataSet = auto_rechunk(dataSet)\n",
  704. "\n",
  705. "dataSet = imageAnalyser.get_absorption_images(dataSet)\n",
  706. "\n",
  707. "imageAnalyser.center = (310, 825)\n",
  708. "imageAnalyser.span = (550, 1250)\n",
  709. "imageAnalyser.fraction = (0.1, 0.1)\n",
  710. "\n",
  711. "dataSet_cropOD = imageAnalyser.crop_image(dataSet.OD)\n",
  712. "dataSet_cropOD = imageAnalyser.substract_offset(dataSet_cropOD).load()\n",
  713. "\n",
  714. "Ncount = imageAnalyser.get_Ncount(dataSet_cropOD)\n",
  715. "Ncount_mean = calculate_mean(Ncount)\n",
  716. "Ncount_std = calculate_std(Ncount)\n",
  717. "\n",
  718. "fig = plt.figure()\n",
  719. "ax = fig.gca()\n",
  720. "Ncount_mean.plot.errorbar(ax=ax, yerr = Ncount_std, fmt='ob')\n",
  721. "plt.xlabel('MOT AOM Freq (MHz)')\n",
  722. "plt.ylabel('NCount')\n",
  723. "plt.tight_layout()\n",
  724. "plt.grid(visible=1)\n",
  725. "plt.show()\n",
  726. "\n",
  727. "# DB.create_global(shotNum, dataSet)\n",
  728. "# DB.add_data(shotNum, dataSet_cropOD, engine='xarray')"
  729. ]
  730. },
  731. {
  732. "cell_type": "code",
  733. "execution_count": null,
  734. "metadata": {},
  735. "outputs": [],
  736. "source": [
  737. "dataSet_cropOD.plot.pcolormesh(cmap='jet', vmin=0, vmax=2, col=scanAxis[0], row=scanAxis[1])"
  738. ]
  739. },
  740. {
  741. "attachments": {},
  742. "cell_type": "markdown",
  743. "metadata": {},
  744. "source": [
  745. "## scan Push freq"
  746. ]
  747. },
  748. {
  749. "cell_type": "code",
  750. "execution_count": 7,
  751. "metadata": {
  752. "scrolled": false
  753. },
  754. "outputs": [
  755. {
  756. "name": "stdout",
  757. "output_type": "stream",
  758. "text": [
  759. "The detected scaning axes and values are: \n",
  760. "\n",
  761. "{'push_freq': array([101.1, 101.6, 102.1, 102.6, 103.1, 103.6, 104.1, 104.6, 105.1,\n",
  762. " 105.6, 106.1]), 'runs': array([0., 1., 2.])}\n"
  763. ]
  764. },
  765. {
  766. "data": {
  767. "application/javascript": "/* Put everything inside the global mpl namespace */\n/* global mpl */\nwindow.mpl = {};\n\nmpl.get_websocket_type = function () {\n if (typeof WebSocket !== 'undefined') {\n return WebSocket;\n } else if (typeof MozWebSocket !== 'undefined') {\n return MozWebSocket;\n } else {\n alert(\n 'Your browser does not have WebSocket support. ' +\n 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n 'Firefox 4 and 5 are also supported but you ' +\n 'have to enable WebSockets in about:config.'\n );\n }\n};\n\nmpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n this.id = figure_id;\n\n this.ws = websocket;\n\n this.supports_binary = this.ws.binaryType !== undefined;\n\n if (!this.supports_binary) {\n var warnings = document.getElementById('mpl-warnings');\n if (warnings) {\n warnings.style.display = 'block';\n warnings.textContent =\n 'This browser does not support binary websocket messages. ' +\n 'Performance may be slow.';\n }\n }\n\n this.imageObj = new Image();\n\n this.context = undefined;\n this.message = undefined;\n this.canvas = undefined;\n this.rubberband_canvas = undefined;\n this.rubberband_context = undefined;\n this.format_dropdown = undefined;\n\n this.image_mode = 'full';\n\n this.root = document.createElement('div');\n this.root.setAttribute('style', 'display: inline-block');\n this._root_extra_style(this.root);\n\n parent_element.appendChild(this.root);\n\n this._init_header(this);\n this._init_canvas(this);\n this._init_toolbar(this);\n\n var fig = this;\n\n this.waiting = false;\n\n this.ws.onopen = function () {\n fig.send_message('supports_binary', { value: fig.supports_binary });\n fig.send_message('send_image_mode', {});\n if (fig.ratio !== 1) {\n fig.send_message('set_device_pixel_ratio', {\n device_pixel_ratio: fig.ratio,\n });\n }\n fig.send_message('refresh', {});\n };\n\n this.imageObj.onload = function () {\n if (fig.image_mode === 'full') {\n // Full images could contain transparency (where diff images\n // almost always do), so we need to clear the canvas so that\n // there is no ghosting.\n fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n }\n fig.context.drawImage(fig.imageObj, 0, 0);\n };\n\n this.imageObj.onunload = function () {\n fig.ws.close();\n };\n\n this.ws.onmessage = this._make_on_message_function(this);\n\n this.ondownload = ondownload;\n};\n\nmpl.figure.prototype._init_header = function () {\n var titlebar = document.createElement('div');\n titlebar.classList =\n 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n var titletext = document.createElement('div');\n titletext.classList = 'ui-dialog-title';\n titletext.setAttribute(\n 'style',\n 'width: 100%; text-align: center; padding: 3px;'\n );\n titlebar.appendChild(titletext);\n this.root.appendChild(titlebar);\n this.header = titletext;\n};\n\nmpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n\nmpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n\nmpl.figure.prototype._init_canvas = function () {\n var fig = this;\n\n var canvas_div = (this.canvas_div = document.createElement('div'));\n canvas_div.setAttribute(\n 'style',\n 'border: 1px solid #ddd;' +\n 'box-sizing: content-box;' +\n 'clear: both;' +\n 'min-height: 1px;' +\n 'min-width: 1px;' +\n 'outline: 0;' +\n 'overflow: hidden;' +\n 'position: relative;' +\n 'resize: both;'\n );\n\n function on_keyboard_event_closure(name) {\n return function (event) {\n return fig.key
  768. "text/plain": [
  769. "<IPython.core.display.Javascript object>"
  770. ]
  771. },
  772. "metadata": {},
  773. "output_type": "display_data"
  774. },
  775. {
  776. "data": {
  777. "text/html": [
  778. "<img src=\"data:image/png;base64,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
  779. ],
  780. "text/plain": [
  781. "<IPython.core.display.HTML object>"
  782. ]
  783. },
  784. "metadata": {},
  785. "output_type": "display_data"
  786. }
  787. ],
  788. "source": [
  789. "%matplotlib notebook\n",
  790. "shotNum = \"0001\"\n",
  791. "filePath = folderPath + \"/\" + shotNum + \"/*.h5\"\n",
  792. "\n",
  793. "dataSetDict = {\n",
  794. " dskey[groupList[i]]: read_hdf5_file(filePath, groupList[i])\n",
  795. " for i in range(len(groupList))\n",
  796. "}\n",
  797. "\n",
  798. "dataSet = dataSetDict[\"camera_1\"]\n",
  799. "\n",
  800. "print_scanAxis(dataSet)\n",
  801. "\n",
  802. "scanAxis = get_scanAxis(dataSet)\n",
  803. "\n",
  804. "dataSet = auto_rechunk(dataSet)\n",
  805. "\n",
  806. "dataSet = imageAnalyser.get_absorption_images(dataSet)\n",
  807. "\n",
  808. "imageAnalyser.center = (310, 825)\n",
  809. "imageAnalyser.span = (550, 1250)\n",
  810. "imageAnalyser.fraction = (0.1, 0.1)\n",
  811. "\n",
  812. "dataSet_cropOD = imageAnalyser.crop_image(dataSet.OD)\n",
  813. "dataSet_cropOD = imageAnalyser.substract_offset(dataSet_cropOD).load()\n",
  814. "\n",
  815. "Ncount = imageAnalyser.get_Ncount(dataSet_cropOD)\n",
  816. "Ncount_mean = calculate_mean(Ncount)\n",
  817. "Ncount_std = calculate_std(Ncount)\n",
  818. "\n",
  819. "fig = plt.figure()\n",
  820. "ax = fig.gca()\n",
  821. "Ncount_mean.plot.errorbar(ax=ax, yerr = Ncount_std, fmt='ob')\n",
  822. "plt.xlabel('Push AOM Freq (MHz)')\n",
  823. "plt.ylabel('NCount')\n",
  824. "plt.tight_layout()\n",
  825. "plt.grid(visible=1)\n",
  826. "plt.show()\n",
  827. "\n",
  828. "# DB.create_global(shotNum, dataSet)\n",
  829. "# DB.add_data(shotNum, dataSet_cropOD, engine='xarray')"
  830. ]
  831. },
  832. {
  833. "attachments": {},
  834. "cell_type": "markdown",
  835. "metadata": {},
  836. "source": [
  837. "## scan Z comp current"
  838. ]
  839. },
  840. {
  841. "cell_type": "code",
  842. "execution_count": 8,
  843. "metadata": {
  844. "scrolled": false
  845. },
  846. "outputs": [
  847. {
  848. "name": "stdout",
  849. "output_type": "stream",
  850. "text": [
  851. "The detected scaning axes and values are: \n",
  852. "\n",
  853. "{'compZ_final_current': array([0.248, 0.249, 0.25 , 0.251, 0.252, 0.253, 0.254, 0.255, 0.256,\n",
  854. " 0.257, 0.258]), 'runs': array([0., 1., 2.])}\n"
  855. ]
  856. },
  857. {
  858. "data": {
  859. "application/javascript": "/* Put everything inside the global mpl namespace */\n/* global mpl */\nwindow.mpl = {};\n\nmpl.get_websocket_type = function () {\n if (typeof WebSocket !== 'undefined') {\n return WebSocket;\n } else if (typeof MozWebSocket !== 'undefined') {\n return MozWebSocket;\n } else {\n alert(\n 'Your browser does not have WebSocket support. ' +\n 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n 'Firefox 4 and 5 are also supported but you ' +\n 'have to enable WebSockets in about:config.'\n );\n }\n};\n\nmpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n this.id = figure_id;\n\n this.ws = websocket;\n\n this.supports_binary = this.ws.binaryType !== undefined;\n\n if (!this.supports_binary) {\n var warnings = document.getElementById('mpl-warnings');\n if (warnings) {\n warnings.style.display = 'block';\n warnings.textContent =\n 'This browser does not support binary websocket messages. ' +\n 'Performance may be slow.';\n }\n }\n\n this.imageObj = new Image();\n\n this.context = undefined;\n this.message = undefined;\n this.canvas = undefined;\n this.rubberband_canvas = undefined;\n this.rubberband_context = undefined;\n this.format_dropdown = undefined;\n\n this.image_mode = 'full';\n\n this.root = document.createElement('div');\n this.root.setAttribute('style', 'display: inline-block');\n this._root_extra_style(this.root);\n\n parent_element.appendChild(this.root);\n\n this._init_header(this);\n this._init_canvas(this);\n this._init_toolbar(this);\n\n var fig = this;\n\n this.waiting = false;\n\n this.ws.onopen = function () {\n fig.send_message('supports_binary', { value: fig.supports_binary });\n fig.send_message('send_image_mode', {});\n if (fig.ratio !== 1) {\n fig.send_message('set_device_pixel_ratio', {\n device_pixel_ratio: fig.ratio,\n });\n }\n fig.send_message('refresh', {});\n };\n\n this.imageObj.onload = function () {\n if (fig.image_mode === 'full') {\n // Full images could contain transparency (where diff images\n // almost always do), so we need to clear the canvas so that\n // there is no ghosting.\n fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n }\n fig.context.drawImage(fig.imageObj, 0, 0);\n };\n\n this.imageObj.onunload = function () {\n fig.ws.close();\n };\n\n this.ws.onmessage = this._make_on_message_function(this);\n\n this.ondownload = ondownload;\n};\n\nmpl.figure.prototype._init_header = function () {\n var titlebar = document.createElement('div');\n titlebar.classList =\n 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n var titletext = document.createElement('div');\n titletext.classList = 'ui-dialog-title';\n titletext.setAttribute(\n 'style',\n 'width: 100%; text-align: center; padding: 3px;'\n );\n titlebar.appendChild(titletext);\n this.root.appendChild(titlebar);\n this.header = titletext;\n};\n\nmpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n\nmpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n\nmpl.figure.prototype._init_canvas = function () {\n var fig = this;\n\n var canvas_div = (this.canvas_div = document.createElement('div'));\n canvas_div.setAttribute(\n 'style',\n 'border: 1px solid #ddd;' +\n 'box-sizing: content-box;' +\n 'clear: both;' +\n 'min-height: 1px;' +\n 'min-width: 1px;' +\n 'outline: 0;' +\n 'overflow: hidden;' +\n 'position: relative;' +\n 'resize: both;'\n );\n\n function on_keyboard_event_closure(name) {\n return function (event) {\n return fig.key
  860. "text/plain": [
  861. "<IPython.core.display.Javascript object>"
  862. ]
  863. },
  864. "metadata": {},
  865. "output_type": "display_data"
  866. },
  867. {
  868. "data": {
  869. "text/html": [
  870. "<img src=\"data:image/png;base64,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
  871. ],
  872. "text/plain": [
  873. "<IPython.core.display.HTML object>"
  874. ]
  875. },
  876. "metadata": {},
  877. "output_type": "display_data"
  878. }
  879. ],
  880. "source": [
  881. "%matplotlib notebook\n",
  882. "shotNum = \"0002\"\n",
  883. "filePath = folderPath + \"/\" + shotNum + \"/*.h5\"\n",
  884. "\n",
  885. "dataSetDict = {\n",
  886. " dskey[groupList[i]]: read_hdf5_file(filePath, groupList[i])\n",
  887. " for i in range(len(groupList))\n",
  888. "}\n",
  889. "\n",
  890. "dataSet = dataSetDict[\"camera_1\"]\n",
  891. "\n",
  892. "print_scanAxis(dataSet)\n",
  893. "\n",
  894. "scanAxis = get_scanAxis(dataSet)\n",
  895. "\n",
  896. "dataSet = auto_rechunk(dataSet)\n",
  897. "\n",
  898. "dataSet = imageAnalyser.get_absorption_images(dataSet)\n",
  899. "\n",
  900. "imageAnalyser.center = (305, 870)\n",
  901. "imageAnalyser.span = (400, 400)\n",
  902. "imageAnalyser.fraction = (0.1, 0.1)\n",
  903. "\n",
  904. "dataSet_cropOD = imageAnalyser.crop_image(dataSet.OD)\n",
  905. "dataSet_cropOD = imageAnalyser.substract_offset(dataSet_cropOD).load()\n",
  906. "\n",
  907. "Ncount = imageAnalyser.get_Ncount(dataSet_cropOD)\n",
  908. "Ncount_mean = calculate_mean(Ncount)\n",
  909. "Ncount_std = calculate_std(Ncount)\n",
  910. "\n",
  911. "fig = plt.figure()\n",
  912. "ax = fig.gca()\n",
  913. "Ncount_mean.plot.errorbar(ax=ax, yerr = Ncount_std, fmt='ob')\n",
  914. "plt.xlabel('comp Z current (A)')\n",
  915. "plt.ylabel('NCount')\n",
  916. "plt.tight_layout()\n",
  917. "plt.grid(visible=1)\n",
  918. "plt.show()\n",
  919. "\n",
  920. "# DB.create_global(shotNum, dataSet)\n",
  921. "# DB.add_data(shotNum, dataSet_cropOD, engine='xarray')"
  922. ]
  923. },
  924. {
  925. "attachments": {},
  926. "cell_type": "markdown",
  927. "metadata": {},
  928. "source": [
  929. "## scan cMOT final amp"
  930. ]
  931. },
  932. {
  933. "cell_type": "code",
  934. "execution_count": 9,
  935. "metadata": {
  936. "scrolled": false
  937. },
  938. "outputs": [
  939. {
  940. "name": "stdout",
  941. "output_type": "stream",
  942. "text": [
  943. "The detected scaning axes and values are: \n",
  944. "\n",
  945. "{'final_amp': array([3.00e-05, 5.50e-05, 8.00e-05, 1.05e-04, 1.30e-04, 1.55e-04,\n",
  946. " 1.80e-04, 2.05e-04, 2.30e-04, 2.55e-04, 2.80e-04]), 'runs': array([0., 1., 2.])}\n"
  947. ]
  948. },
  949. {
  950. "data": {
  951. "application/javascript": "/* Put everything inside the global mpl namespace */\n/* global mpl */\nwindow.mpl = {};\n\nmpl.get_websocket_type = function () {\n if (typeof WebSocket !== 'undefined') {\n return WebSocket;\n } else if (typeof MozWebSocket !== 'undefined') {\n return MozWebSocket;\n } else {\n alert(\n 'Your browser does not have WebSocket support. ' +\n 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n 'Firefox 4 and 5 are also supported but you ' +\n 'have to enable WebSockets in about:config.'\n );\n }\n};\n\nmpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n this.id = figure_id;\n\n this.ws = websocket;\n\n this.supports_binary = this.ws.binaryType !== undefined;\n\n if (!this.supports_binary) {\n var warnings = document.getElementById('mpl-warnings');\n if (warnings) {\n warnings.style.display = 'block';\n warnings.textContent =\n 'This browser does not support binary websocket messages. ' +\n 'Performance may be slow.';\n }\n }\n\n this.imageObj = new Image();\n\n this.context = undefined;\n this.message = undefined;\n this.canvas = undefined;\n this.rubberband_canvas = undefined;\n this.rubberband_context = undefined;\n this.format_dropdown = undefined;\n\n this.image_mode = 'full';\n\n this.root = document.createElement('div');\n this.root.setAttribute('style', 'display: inline-block');\n this._root_extra_style(this.root);\n\n parent_element.appendChild(this.root);\n\n this._init_header(this);\n this._init_canvas(this);\n this._init_toolbar(this);\n\n var fig = this;\n\n this.waiting = false;\n\n this.ws.onopen = function () {\n fig.send_message('supports_binary', { value: fig.supports_binary });\n fig.send_message('send_image_mode', {});\n if (fig.ratio !== 1) {\n fig.send_message('set_device_pixel_ratio', {\n device_pixel_ratio: fig.ratio,\n });\n }\n fig.send_message('refresh', {});\n };\n\n this.imageObj.onload = function () {\n if (fig.image_mode === 'full') {\n // Full images could contain transparency (where diff images\n // almost always do), so we need to clear the canvas so that\n // there is no ghosting.\n fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n }\n fig.context.drawImage(fig.imageObj, 0, 0);\n };\n\n this.imageObj.onunload = function () {\n fig.ws.close();\n };\n\n this.ws.onmessage = this._make_on_message_function(this);\n\n this.ondownload = ondownload;\n};\n\nmpl.figure.prototype._init_header = function () {\n var titlebar = document.createElement('div');\n titlebar.classList =\n 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n var titletext = document.createElement('div');\n titletext.classList = 'ui-dialog-title';\n titletext.setAttribute(\n 'style',\n 'width: 100%; text-align: center; padding: 3px;'\n );\n titlebar.appendChild(titletext);\n this.root.appendChild(titlebar);\n this.header = titletext;\n};\n\nmpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n\nmpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n\nmpl.figure.prototype._init_canvas = function () {\n var fig = this;\n\n var canvas_div = (this.canvas_div = document.createElement('div'));\n canvas_div.setAttribute(\n 'style',\n 'border: 1px solid #ddd;' +\n 'box-sizing: content-box;' +\n 'clear: both;' +\n 'min-height: 1px;' +\n 'min-width: 1px;' +\n 'outline: 0;' +\n 'overflow: hidden;' +\n 'position: relative;' +\n 'resize: both;'\n );\n\n function on_keyboard_event_closure(name) {\n return function (event) {\n return fig.key
  952. "text/plain": [
  953. "<IPython.core.display.Javascript object>"
  954. ]
  955. },
  956. "metadata": {},
  957. "output_type": "display_data"
  958. },
  959. {
  960. "data": {
  961. "text/html": [
  962. "<img src=\"data:image/png;base64,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
  963. ],
  964. "text/plain": [
  965. "<IPython.core.display.HTML object>"
  966. ]
  967. },
  968. "metadata": {},
  969. "output_type": "display_data"
  970. }
  971. ],
  972. "source": [
  973. "%matplotlib notebook\n",
  974. "shotNum = \"0003\"\n",
  975. "filePath = folderPath + \"/\" + shotNum + \"/*.h5\"\n",
  976. "\n",
  977. "dataSetDict = {\n",
  978. " dskey[groupList[i]]: read_hdf5_file(filePath, groupList[i])\n",
  979. " for i in range(len(groupList))\n",
  980. "}\n",
  981. "\n",
  982. "dataSet = dataSetDict[\"camera_1\"]\n",
  983. "\n",
  984. "print_scanAxis(dataSet)\n",
  985. "\n",
  986. "scanAxis = get_scanAxis(dataSet)\n",
  987. "\n",
  988. "dataSet = auto_rechunk(dataSet)\n",
  989. "\n",
  990. "dataSet = imageAnalyser.get_absorption_images(dataSet)\n",
  991. "\n",
  992. "imageAnalyser.center = (306, 872)\n",
  993. "imageAnalyser.span = (400, 400)\n",
  994. "imageAnalyser.fraction = (0.1, 0.1)\n",
  995. "\n",
  996. "dataSet_cropOD = imageAnalyser.crop_image(dataSet.OD)\n",
  997. "dataSet_cropOD = imageAnalyser.substract_offset(dataSet_cropOD).load()\n",
  998. "\n",
  999. "Ncount = imageAnalyser.get_Ncount(dataSet_cropOD)\n",
  1000. "Ncount_mean = calculate_mean(Ncount)\n",
  1001. "Ncount_std = calculate_std(Ncount)\n",
  1002. "\n",
  1003. "fig = plt.figure()\n",
  1004. "ax = fig.gca()\n",
  1005. "Ncount_mean.plot.errorbar(ax=ax, yerr = Ncount_std, fmt='ob')\n",
  1006. "#plt.xlabel('comp Z current (A)')\n",
  1007. "plt.ylabel('NCount')\n",
  1008. "plt.tight_layout()\n",
  1009. "plt.grid(visible=1)\n",
  1010. "plt.show()\n",
  1011. "\n",
  1012. "# DB.create_global(shotNum, dataSet)\n",
  1013. "# DB.add_data(shotNum, dataSet_cropOD, engine='xarray')"
  1014. ]
  1015. },
  1016. {
  1017. "attachments": {},
  1018. "cell_type": "markdown",
  1019. "metadata": {},
  1020. "source": [
  1021. "# Evaporative Cooling"
  1022. ]
  1023. },
  1024. {
  1025. "cell_type": "code",
  1026. "execution_count": 6,
  1027. "metadata": {},
  1028. "outputs": [],
  1029. "source": [
  1030. "img_dir = '//DyLabNAS/Data/'\n",
  1031. "SequenceName = \"Evaporative_Cooling\" + \"/\"\n",
  1032. "folderPath = img_dir + SequenceName + '2023/06/29'# get_date()\n",
  1033. "\n",
  1034. "# mongoDB = mongoClient[SequenceName]\n",
  1035. "\n",
  1036. "# DB = MongoDB(mongoClient, mongoDB, date=get_date())"
  1037. ]
  1038. },
  1039. {
  1040. "attachments": {},
  1041. "cell_type": "markdown",
  1042. "metadata": {},
  1043. "source": [
  1044. "# Check BEC"
  1045. ]
  1046. },
  1047. {
  1048. "cell_type": "code",
  1049. "execution_count": 22,
  1050. "metadata": {},
  1051. "outputs": [
  1052. {
  1053. "name": "stdout",
  1054. "output_type": "stream",
  1055. "text": [
  1056. "The detected scaning axes and values are: \n",
  1057. "\n",
  1058. "{'runs': array([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])}\n"
  1059. ]
  1060. },
  1061. {
  1062. "data": {
  1063. "image/png": "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
  1064. "text/plain": [
  1065. "<Figure size 640x480 with 1 Axes>"
  1066. ]
  1067. },
  1068. "metadata": {},
  1069. "output_type": "display_data"
  1070. }
  1071. ],
  1072. "source": [
  1073. "shotNum = \"0002\"\n",
  1074. "filePath = folderPath + \"/\" + shotNum + \"/*.h5\"\n",
  1075. "\n",
  1076. "dataSetDict = {\n",
  1077. " dskey[groupList[i]]: read_hdf5_file(filePath, groupList[i])\n",
  1078. " for i in [0]\n",
  1079. "}\n",
  1080. "\n",
  1081. "dataSet = dataSetDict[\"camera_0\"]\n",
  1082. "\n",
  1083. "print_scanAxis(dataSet)\n",
  1084. "\n",
  1085. "scanAxis = get_scanAxis(dataSet)\n",
  1086. "\n",
  1087. "dataSet = auto_rechunk(dataSet)\n",
  1088. "\n",
  1089. "dataSet = imageAnalyser.get_absorption_images(dataSet)\n",
  1090. "\n",
  1091. "imageAnalyser.center = (880, 980)\n",
  1092. "imageAnalyser.span = (80, 80)\n",
  1093. "imageAnalyser.fraction = (0.1, 0.1)\n",
  1094. "\n",
  1095. "dataSet_cropOD = imageAnalyser.crop_image(dataSet.OD)\n",
  1096. "dataSet_cropOD = imageAnalyser.substract_offset(dataSet_cropOD).load()\n",
  1097. "\n",
  1098. "Ncount = imageAnalyser.get_Ncount(dataSet_cropOD)\n",
  1099. "Ncount_mean = Ncount#calculate_mean(Ncount)\n",
  1100. "Ncount_std = None#calculate_std(Ncount)\n",
  1101. "\n",
  1102. "fig = plt.figure()\n",
  1103. "ax = fig.gca()\n",
  1104. "Ncount_mean.plot.errorbar(ax=ax, yerr = None, fmt='-ob')\n",
  1105. "plt.xlabel('comp Z current (A)')\n",
  1106. "plt.ylabel('NCount')\n",
  1107. "plt.tight_layout()\n",
  1108. "plt.grid(visible=1)\n",
  1109. "plt.show()\n",
  1110. "\n",
  1111. "# DB.create_global(shotNum, dataSet)\n",
  1112. "# DB.add_data(shotNum, dataSet_cropOD, engine='xarray')"
  1113. ]
  1114. },
  1115. {
  1116. "cell_type": "code",
  1117. "execution_count": 23,
  1118. "metadata": {},
  1119. "outputs": [
  1120. {
  1121. "data": {
  1122. "text/plain": [
  1123. "<xarray.plot.facetgrid.FacetGrid at 0x2821278a490>"
  1124. ]
  1125. },
  1126. "execution_count": 23,
  1127. "metadata": {},
  1128. "output_type": "execute_result"
  1129. },
  1130. {
  1131. "data": {
  1132. "image/png": "iVBORw0KGgoAAAANSUhEUgAACnoAAAEcCAYAAADqLPiTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9e7ydRXn3j187RxKSEEIACaclB0EKGE8IChjq+UA9f7WtrYdaT2jVXz1rRdRWtPI81ra2Wn0q1WopWPs8ImgrFVQUT5AKFVDQpZwkHLIlgXDYSX5/7HWt9Vkrn8+euXfWTnb2/rxfr7z2ZNZ9z8w9M9fMNXPfc10jW7du3RrGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxZtoxZ2cXwBhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcZw/KGnMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjzDTFH3oaY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGTFP8oacxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGPMNMUfehpjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcZMU/yhpzHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY8w0xR96GmOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxkxT/KGnMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjzDTFH3oaY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGTFP8oaeZ9WzcuDHe+MY3xqpVq2K33XaL1atXx7/8y79U379u3bp46UtfGitXrozFixfHCSecEBdddNEUltgYM8iGDRvirW99azz5yU+OvffeO0ZGRuK9731vozQsy8bsfP7rv/4rXv7yl8eRRx4Zu+++e+y///7xrGc9K370ox9Vp2FZNmbns3bt2njGM54RBx10UCxatChWrFgRJ5xwQnzuc5+rTsOybMz04lOf+lSMjIzEkiVLqu+xHBuz87n44otjZGSE/rvsssuq0rAsGzN9+Pa3vx1Pf/rTY88994xFixbF4YcfHu9///ur7rUsG7PzeelLXyrn5dq52bJszPTgiiuuiGc/+9mxatWqWLx4cRx55JHxvve9L+65556q+y3Lxux8vv/978dTnvKUWLp0aSxZsiROOeWUuPTSS6vvtxwbY3YW/tDTzHqe+9znxtlnnx2nn356XHjhhfHoRz86fvd3fzc+//nPF++977774glPeEJcdNFF8Vd/9Vfxf//v/4199903nvrUp8Yll1yyA0pvjImIuOOOO+KTn/xk3HffffHsZz+78f2WZWOmB3/3d38X7XY73vCGN8QFF1wQf/VXfxXr1q2L448/Pv7rv/6reL9l2ZjpwejoaBx44IHxF3/xF3HBBRfEP/3TP0Wr1Yo/+IM/iA984APF+y3Lxkwvbrrppnjzm98cq1atqr7HcmzM9OIv/uIv4rvf/W7fv6OPPrp4n2XZmOnD5z//+Xj84x8fe+yxR/zTP/1TXHDBBfG2t70ttm7dWrzXsmzM9ODP/uzPtpmPv/vd78bKlStj//33j0c/+tET3m9ZNmZ68JOf/CQe+9jHRrvdjo9+9KNx/vnnx4te9KJ43/veF7/7u79bvN+ybMzO5wc/+EGcfPLJsWnTpvjsZz8bn/3sZ+Pee++NJzzhCfHd7363eL/l2BizMxnZWrMTYGYt99xzTyxevHhnF2PKuOCCC+IZz3hGfP7zn+9Tvp/85CfH//zP/8SvfvWrmDt3rrz/4x//eJx22mnxne98J0444YSIiBgbG4uHPexhsWTJkvje97435c9gTA0zXZZzKhsZGYnbb7899t577zj99NOrrXpals2uwkyX5XXr1sU+++zTF7dx48Y47LDD4uijj46vf/3rE95vWTa7CjNdlhXHH3983HzzzfGrX/1qwussy2ZXYDbJ8amnnhojIyOxYsWKOO+882Ljxo3FeyzHZldhpsvyxRdfHKecckqce+658fznP7/x/ZZls6sw02X5pptuiiOOOCL+8A//MD7+8Y83vt+ybHYVZrosMy655JJYs2ZNvPvd7y5a6LUsm12FmS7L7373u+PP//zP47rrrotDDz20G/+qV70qPvnJT8add94Ze+65p7zfsmx2BWa6HD/1qU+NtWvXxs9//vPuc27YsCEOOeSQeMhDHlK07Gk5NsbsTGzR03R573vfGyMjI3H55ZfH85///Nhzzz27CuqaNWtizZo129zz0pe+NFqtVvf/7XY7RkZG4iMf+Uj8r//1v+LBD35wLFmyJE444YRt3E78/Oc/jxe96EWxatWqWLhwYey7777xhCc8IdauXTuFT9nPl770pViyZEm84AUv6It/2cteFjfffHNxEv7Sl74URxxxRHcCj4iYN29evPjFL47vf//7cdNNN01JuY2ZiNkoy+neZrJYls10ZDbK8uBHnhERS5YsiaOOOipuuOGG4v2WZTMdmY2yrFi5cmXMmzeveJ1l2Uw3ZrMcf+5zn4tLLrmk8UcllmMzHZnNsjxZLMtmOjIbZflTn/pU3H333fG2t71tUvdbls10ZDbKMuPTn/50jIyMxMtf/vLitZZlMx2ZjbI8f/78iIjYY489+uKXL18ec+bMiQULFkx4v2XZTDdmoxxfeumlsWbNmr6PWZcuXRonn3xyfOc734lbbrllwvstx8aYnUn5LZuZdTz3uc+NF73oRfHqV7867r777kml8bd/+7dx5JFHxkc/+tGIGHdJ8fSnPz1+8YtfdBXfpz/96bF58+b48Ic/HAcddFDcfvvt8Z3vfCdGR0cnTHvr1q2xefPmqnKUXiRfddVV8dCHPnSb64499tju74997GMnvP+kk07aJj7v/5//+Z/Yf//9q8pqzLCZTbK8vViWzXRmtsvyb37zm7j88svjt3/7t4vXWpbNdGY2yvKWLVtiy5YtsX79+jj33HPja1/7WvzN3/xN8T7LspmuzDY5XrduXbzxjW+MM888Mw444ICqdBPLsZnOzDZZjog47bTT4kUvelEsXrw4TjjhhPizP/uzOPHEE4v3WZbNdGY2yfI3v/nNWLFiRVxzzTXxrGc9K6666qpYsWJFPPe5z40Pf/jDsWzZsgnvtyyb6cxskuVBfvOb38R5550XT3jCE+LBD35w8XrLspnOzCZZfslLXhIf/ehH4zWveU186EMfir333jsuueSS+MQnPhGnnXZa7L777hPeb1k205XZJMf3339/LFy4cJv4jLvyyitjv/32k/dbjo0xOxN/6Gm24SUveUmcccYZ25XG0qVL4/zzz++6PV+1alUcd9xxceGFF8aLXvSiuOOOO+Laa6+Nj370o/HiF7+4e99zn/vcYtpnn312vOxlL6sqR7pzVtxxxx1xyCGHbBO/YsWK7u+l+/PaydxvzFQym2R5e7Esm+nMbJfl0047Le6+++5417veVbzWsmymM7NRll/72tfGJz7xiYiIWLBgQXzsYx+LV73qVcX7LMtmujLb5Pi1r31tHHHEEfGa17ymKk3EcmymM7NJlvfYY494wxveEGvWrIm99torrrvuuvjLv/zLWLNmTXzlK1+JpzzlKRPeb1k205nZJMs33XRT3HPPPfGCF7wg3vGOd8RHP/rR+MEPfhCnn356XHXVVfGtb31rQk83lmUznZlNsjzIF77whdi0aVP80R/9UdX1lmUznZlNstxqteK73/1uPOc5z+lz3f4nf/In3Y/bJsKybKYrs0mOjzrqqLjssstiy5YtMWfOuBPksbGxrrdXfyNijJnO+ENPsw3Pe97ztjuNZzzjGd0JPKJ3euGXv/xlRIxPcoceemj85V/+ZWzevDlOOeWUeNjDHtadSCfi1FNPjR/84AfbXcZkok2wGlfQ23u/MVPFbJPl7cWybKYrs1mW/+zP/iz++Z//Of76r/86HvnIR1bdY1k205XZKMvvfOc74xWveEWsW7cuvvzlL8frXve6uPvuu+PNb35z8V7LspmOzCY5/uIXvxhf/vKX44orrpi0zFmOzXRlNsnywx/+8Hj4wx/e/f9JJ50Uz3nOc+KYY46Jt771rcUPPSMsy2b
  1133. "text/plain": [
  1134. "<Figure size 3100x300 with 11 Axes>"
  1135. ]
  1136. },
  1137. "metadata": {},
  1138. "output_type": "display_data"
  1139. }
  1140. ],
  1141. "source": [
  1142. "dataSet_cropOD.plot.pcolormesh(cmap='jet', vmin=0, vmax=5, col=scanAxis[0])"
  1143. ]
  1144. },
  1145. {
  1146. "cell_type": "code",
  1147. "execution_count": 27,
  1148. "metadata": {},
  1149. "outputs": [],
  1150. "source": [
  1151. "data = dataSet_cropOD#.sel(runs = 0)\n",
  1152. "\n",
  1153. "fitModel = DensityProfileBEC2dModel()\n",
  1154. "fitAnalyser_1 = FitAnalyser(fitModel, fitDim=2)\n",
  1155. "\n",
  1156. "params = fitAnalyser_1.guess(data, dask=\"parallelized\", guess_kwargs=dict(pureBECThreshold=1.2))\n",
  1157. "\n",
  1158. "fitResult_1 = fitAnalyser_1.fit(data, params).load()\n",
  1159. "\n",
  1160. "# fitCurve = fitAnalyser.eval(fitResult, x=np.range(150), y=np.range(150), dask=\"parallelized\").load()"
  1161. ]
  1162. },
  1163. {
  1164. "cell_type": "code",
  1165. "execution_count": 28,
  1166. "metadata": {},
  1167. "outputs": [
  1168. {
  1169. "data": {
  1170. "text/html": [
  1171. "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
  1172. "<defs>\n",
  1173. "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
  1174. "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
  1175. "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
  1176. "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
  1177. "</symbol>\n",
  1178. "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
  1179. "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
  1180. "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  1181. "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  1182. "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  1183. "</symbol>\n",
  1184. "</defs>\n",
  1185. "</svg>\n",
  1186. "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
  1187. " *\n",
  1188. " */\n",
  1189. "\n",
  1190. ":root {\n",
  1191. " --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
  1192. " --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
  1193. " --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
  1194. " --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
  1195. " --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
  1196. " --xr-background-color: var(--jp-layout-color0, white);\n",
  1197. " --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
  1198. " --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
  1199. "}\n",
  1200. "\n",
  1201. "html[theme=dark],\n",
  1202. "body[data-theme=dark],\n",
  1203. "body.vscode-dark {\n",
  1204. " --xr-font-color0: rgba(255, 255, 255, 1);\n",
  1205. " --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
  1206. " --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
  1207. " --xr-border-color: #1F1F1F;\n",
  1208. " --xr-disabled-color: #515151;\n",
  1209. " --xr-background-color: #111111;\n",
  1210. " --xr-background-color-row-even: #111111;\n",
  1211. " --xr-background-color-row-odd: #313131;\n",
  1212. "}\n",
  1213. "\n",
  1214. ".xr-wrap {\n",
  1215. " display: block !important;\n",
  1216. " min-width: 300px;\n",
  1217. " max-width: 700px;\n",
  1218. "}\n",
  1219. "\n",
  1220. ".xr-text-repr-fallback {\n",
  1221. " /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
  1222. " display: none;\n",
  1223. "}\n",
  1224. "\n",
  1225. ".xr-header {\n",
  1226. " padding-top: 6px;\n",
  1227. " padding-bottom: 6px;\n",
  1228. " margin-bottom: 4px;\n",
  1229. " border-bottom: solid 1px var(--xr-border-color);\n",
  1230. "}\n",
  1231. "\n",
  1232. ".xr-header > div,\n",
  1233. ".xr-header > ul {\n",
  1234. " display: inline;\n",
  1235. " margin-top: 0;\n",
  1236. " margin-bottom: 0;\n",
  1237. "}\n",
  1238. "\n",
  1239. ".xr-obj-type,\n",
  1240. ".xr-array-name {\n",
  1241. " margin-left: 2px;\n",
  1242. " margin-right: 10px;\n",
  1243. "}\n",
  1244. "\n",
  1245. ".xr-obj-type {\n",
  1246. " color: var(--xr-font-color2);\n",
  1247. "}\n",
  1248. "\n",
  1249. ".xr-sections {\n",
  1250. " padding-left: 0 !important;\n",
  1251. " display: grid;\n",
  1252. " grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
  1253. "}\n",
  1254. "\n",
  1255. ".xr-section-item {\n",
  1256. " display: contents;\n",
  1257. "}\n",
  1258. "\n",
  1259. ".xr-section-item input {\n",
  1260. " display: none;\n",
  1261. "}\n",
  1262. "\n",
  1263. ".xr-section-item input + label {\n",
  1264. " color: var(--xr-disabled-color);\n",
  1265. "}\n",
  1266. "\n",
  1267. ".xr-section-item input:enabled + label {\n",
  1268. " cursor: pointer;\n",
  1269. " color: var(--xr-font-color2);\n",
  1270. "}\n",
  1271. "\n",
  1272. ".xr-section-item input:enabled + label:hover {\n",
  1273. " color: var(--xr-font-color0);\n",
  1274. "}\n",
  1275. "\n",
  1276. ".xr-section-summary {\n",
  1277. " grid-column: 1;\n",
  1278. " color: var(--xr-font-color2);\n",
  1279. " font-weight: 500;\n",
  1280. "}\n",
  1281. "\n",
  1282. ".xr-section-summary > span {\n",
  1283. " display: inline-block;\n",
  1284. " padding-left: 0.5em;\n",
  1285. "}\n",
  1286. "\n",
  1287. ".xr-section-summary-in:disabled + label {\n",
  1288. " color: var(--xr-font-color2);\n",
  1289. "}\n",
  1290. "\n",
  1291. ".xr-section-summary-in + label:before {\n",
  1292. " display: inline-block;\n",
  1293. " content: '►';\n",
  1294. " font-size: 11px;\n",
  1295. " width: 15px;\n",
  1296. " text-align: center;\n",
  1297. "}\n",
  1298. "\n",
  1299. ".xr-section-summary-in:disabled + label:before {\n",
  1300. " color: var(--xr-disabled-color);\n",
  1301. "}\n",
  1302. "\n",
  1303. ".xr-section-summary-in:checked + label:before {\n",
  1304. " content: '▼';\n",
  1305. "}\n",
  1306. "\n",
  1307. ".xr-section-summary-in:checked + label > span {\n",
  1308. " display: none;\n",
  1309. "}\n",
  1310. "\n",
  1311. ".xr-section-summary,\n",
  1312. ".xr-section-inline-details {\n",
  1313. " padding-top: 4px;\n",
  1314. " padding-bottom: 4px;\n",
  1315. "}\n",
  1316. "\n",
  1317. ".xr-section-inline-details {\n",
  1318. " grid-column: 2 / -1;\n",
  1319. "}\n",
  1320. "\n",
  1321. ".xr-section-details {\n",
  1322. " display: none;\n",
  1323. " grid-column: 1 / -1;\n",
  1324. " margin-bottom: 5px;\n",
  1325. "}\n",
  1326. "\n",
  1327. ".xr-section-summary-in:checked ~ .xr-section-details {\n",
  1328. " display: contents;\n",
  1329. "}\n",
  1330. "\n",
  1331. ".xr-array-wrap {\n",
  1332. " grid-column: 1 / -1;\n",
  1333. " display: grid;\n",
  1334. " grid-template-columns: 20px auto;\n",
  1335. "}\n",
  1336. "\n",
  1337. ".xr-array-wrap > label {\n",
  1338. " grid-column: 1;\n",
  1339. " vertical-align: top;\n",
  1340. "}\n",
  1341. "\n",
  1342. ".xr-preview {\n",
  1343. " color: var(--xr-font-color3);\n",
  1344. "}\n",
  1345. "\n",
  1346. ".xr-array-preview,\n",
  1347. ".xr-array-data {\n",
  1348. " padding: 0 5px !important;\n",
  1349. " grid-column: 2;\n",
  1350. "}\n",
  1351. "\n",
  1352. ".xr-array-data,\n",
  1353. ".xr-array-in:checked ~ .xr-array-preview {\n",
  1354. " display: none;\n",
  1355. "}\n",
  1356. "\n",
  1357. ".xr-array-in:checked ~ .xr-array-data,\n",
  1358. ".xr-array-preview {\n",
  1359. " display: inline-block;\n",
  1360. "}\n",
  1361. "\n",
  1362. ".xr-dim-list {\n",
  1363. " display: inline-block !important;\n",
  1364. " list-style: none;\n",
  1365. " padding: 0 !important;\n",
  1366. " margin: 0;\n",
  1367. "}\n",
  1368. "\n",
  1369. ".xr-dim-list li {\n",
  1370. " display: inline-block;\n",
  1371. " padding: 0;\n",
  1372. " margin: 0;\n",
  1373. "}\n",
  1374. "\n",
  1375. ".xr-dim-list:before {\n",
  1376. " content: '(';\n",
  1377. "}\n",
  1378. "\n",
  1379. ".xr-dim-list:after {\n",
  1380. " content: ')';\n",
  1381. "}\n",
  1382. "\n",
  1383. ".xr-dim-list li:not(:last-child):after {\n",
  1384. " content: ',';\n",
  1385. " padding-right: 5px;\n",
  1386. "}\n",
  1387. "\n",
  1388. ".xr-has-index {\n",
  1389. " font-weight: bold;\n",
  1390. "}\n",
  1391. "\n",
  1392. ".xr-var-list,\n",
  1393. ".xr-var-item {\n",
  1394. " display: contents;\n",
  1395. "}\n",
  1396. "\n",
  1397. ".xr-var-item > div,\n",
  1398. ".xr-var-item label,\n",
  1399. ".xr-var-item > .xr-var-name span {\n",
  1400. " background-color: var(--xr-background-color-row-even);\n",
  1401. " margin-bottom: 0;\n",
  1402. "}\n",
  1403. "\n",
  1404. ".xr-var-item > .xr-var-name:hover span {\n",
  1405. " padding-right: 5px;\n",
  1406. "}\n",
  1407. "\n",
  1408. ".xr-var-list > li:nth-child(odd) > div,\n",
  1409. ".xr-var-list > li:nth-child(odd) > label,\n",
  1410. ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
  1411. " background-color: var(--xr-background-color-row-odd);\n",
  1412. "}\n",
  1413. "\n",
  1414. ".xr-var-name {\n",
  1415. " grid-column: 1;\n",
  1416. "}\n",
  1417. "\n",
  1418. ".xr-var-dims {\n",
  1419. " grid-column: 2;\n",
  1420. "}\n",
  1421. "\n",
  1422. ".xr-var-dtype {\n",
  1423. " grid-column: 3;\n",
  1424. " text-align: right;\n",
  1425. " color: var(--xr-font-color2);\n",
  1426. "}\n",
  1427. "\n",
  1428. ".xr-var-preview {\n",
  1429. " grid-column: 4;\n",
  1430. "}\n",
  1431. "\n",
  1432. ".xr-index-preview {\n",
  1433. " grid-column: 2 / 5;\n",
  1434. " color: var(--xr-font-color2);\n",
  1435. "}\n",
  1436. "\n",
  1437. ".xr-var-name,\n",
  1438. ".xr-var-dims,\n",
  1439. ".xr-var-dtype,\n",
  1440. ".xr-preview,\n",
  1441. ".xr-attrs dt {\n",
  1442. " white-space: nowrap;\n",
  1443. " overflow: hidden;\n",
  1444. " text-overflow: ellipsis;\n",
  1445. " padding-right: 10px;\n",
  1446. "}\n",
  1447. "\n",
  1448. ".xr-var-name:hover,\n",
  1449. ".xr-var-dims:hover,\n",
  1450. ".xr-var-dtype:hover,\n",
  1451. ".xr-attrs dt:hover {\n",
  1452. " overflow: visible;\n",
  1453. " width: auto;\n",
  1454. " z-index: 1;\n",
  1455. "}\n",
  1456. "\n",
  1457. ".xr-var-attrs,\n",
  1458. ".xr-var-data,\n",
  1459. ".xr-index-data {\n",
  1460. " display: none;\n",
  1461. " background-color: var(--xr-background-color) !important;\n",
  1462. " padding-bottom: 5px !important;\n",
  1463. "}\n",
  1464. "\n",
  1465. ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
  1466. ".xr-var-data-in:checked ~ .xr-var-data,\n",
  1467. ".xr-index-data-in:checked ~ .xr-index-data {\n",
  1468. " display: block;\n",
  1469. "}\n",
  1470. "\n",
  1471. ".xr-var-data > table {\n",
  1472. " float: right;\n",
  1473. "}\n",
  1474. "\n",
  1475. ".xr-var-name span,\n",
  1476. ".xr-var-data,\n",
  1477. ".xr-index-name div,\n",
  1478. ".xr-index-data,\n",
  1479. ".xr-attrs {\n",
  1480. " padding-left: 25px !important;\n",
  1481. "}\n",
  1482. "\n",
  1483. ".xr-attrs,\n",
  1484. ".xr-var-attrs,\n",
  1485. ".xr-var-data,\n",
  1486. ".xr-index-data {\n",
  1487. " grid-column: 1 / -1;\n",
  1488. "}\n",
  1489. "\n",
  1490. "dl.xr-attrs {\n",
  1491. " padding: 0;\n",
  1492. " margin: 0;\n",
  1493. " display: grid;\n",
  1494. " grid-template-columns: 125px auto;\n",
  1495. "}\n",
  1496. "\n",
  1497. ".xr-attrs dt,\n",
  1498. ".xr-attrs dd {\n",
  1499. " padding: 0;\n",
  1500. " margin: 0;\n",
  1501. " float: left;\n",
  1502. " padding-right: 10px;\n",
  1503. " width: auto;\n",
  1504. "}\n",
  1505. "\n",
  1506. ".xr-attrs dt {\n",
  1507. " font-weight: normal;\n",
  1508. " grid-column: 1;\n",
  1509. "}\n",
  1510. "\n",
  1511. ".xr-attrs dt:hover span {\n",
  1512. " display: inline-block;\n",
  1513. " background: var(--xr-background-color);\n",
  1514. " padding-right: 10px;\n",
  1515. "}\n",
  1516. "\n",
  1517. ".xr-attrs dd {\n",
  1518. " grid-column: 2;\n",
  1519. " white-space: pre-wrap;\n",
  1520. " word-break: break-all;\n",
  1521. "}\n",
  1522. "\n",
  1523. ".xr-icon-database,\n",
  1524. ".xr-icon-file-text2,\n",
  1525. ".xr-no-icon {\n",
  1526. " display: inline-block;\n",
  1527. " vertical-align: middle;\n",
  1528. " width: 1em;\n",
  1529. " height: 1.5em !important;\n",
  1530. " stroke-width: 0;\n",
  1531. " stroke: currentColor;\n",
  1532. " fill: currentColor;\n",
  1533. "}\n",
  1534. "</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt;\n",
  1535. "Dimensions: (runs: 10)\n",
  1536. "Coordinates:\n",
  1537. " * runs (runs) float64 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0\n",
  1538. "Data variables: (12/13)\n",
  1539. " BEC_amplitude (runs) object 622.325100923668+/-nan ... 622.4907683...\n",
  1540. " thermal_amplitude (runs) object 574.323330298593+/-nan ... 562.0410431...\n",
  1541. " BEC_centerx (runs) object 40.697673212791095+/-nan ... 41.846469...\n",
  1542. " BEC_centery (runs) object 38.68619529315486+/-nan ... 40.1657973...\n",
  1543. " thermal_centerx (runs) object 41.672856011589964+/-nan ... 42.186994...\n",
  1544. " thermal_centery (runs) object 40.50023901378942+/-nan ... 41.8611854...\n",
  1545. " ... ...\n",
  1546. " BEC_sigmay (runs) object 9.925094420566738+/-nan ... 9.27924633...\n",
  1547. " thermal_sigmax (runs) object 15.219058592618353+/-nan ... 14.193823...\n",
  1548. " thermal_sigmay (runs) object 18.262870311142024+/-nan ... 17.032587...\n",
  1549. " deltax (runs) object 18.54999801825887+/-nan ... 15.3119583...\n",
  1550. " thermalAspectRatio (runs) object 1.2+/-nan 1.2+/-nan ... 1.2+/-nan\n",
  1551. " condensate_fraction (runs) object 0.5200567557574306+/-nan ... 0.5255162...\n",
  1552. "Attributes:\n",
  1553. " IMAGE_SUBCLASS: IMAGE_GRAYSCALE\n",
  1554. " IMAGE_VERSION: 1.2\n",
  1555. " IMAGE_WHITE_IS_ZERO: 0\n",
  1556. " x_start: 840\n",
  1557. " x_end: 920\n",
  1558. " y_end: 1020\n",
  1559. " y_start: 940\n",
  1560. " x_center: 880\n",
  1561. " y_center: 980\n",
  1562. " x_span: 80\n",
  1563. " y_span: 80</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-60c42fd0-1a85-4919-aa1c-bfb084af74a7' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-60c42fd0-1a85-4919-aa1c-bfb084af74a7' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>runs</span>: 10</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-dfa28b62-a15c-4172-838f-098c85289f06' class='xr-section-summary-in' type='checkbox' checked><label for='section-dfa28b62-a15c-4172-838f-098c85289f06' class='xr-section-summary' >Coordinates: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>runs</span></div><div class='xr-var-dims'>(runs)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0 1.0 2.0 3.0 ... 6.0 7.0 8.0 9.0</div><input id='attrs-e6821b36-8258-4c1c-9141-12274eebcbe3' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-e6821b36-8258-4c1c-9141-12274eebcbe3' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-42cb0531-1f9a-4356-b7af-d199d488e654' class='xr-var-data-in' type='checkbox'><label for='data-42cb0531-1f9a-4356-b7af-d199d488e654' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-0123b3c4-de0d-45ad-98f2-f83d620f53de' class='xr-section-summary-in' type='checkbox' checked><label for='section-0123b3c4-de0d-45ad-98f2-f83d620f53de' class='xr-section-summary' >Data variables: <span>(13)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>BEC_amplitude</span></div><div class='xr-var-dims'>(runs)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>622.325100923668+/-nan ... 622.4...</div><input id='attrs-8c78ceea-4cd7-4c4d-ba36-89f2863c3371' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-8c78ceea-4cd7-4c4d-ba36-89f2863c3371' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-300ecd0d-3710-4646-8b23-417eafa347e6' class='xr-var-data-in' type='checkbox'><label for='data-300ecd0d-3710-4646-8b23-417eafa347e6' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([622.325100923668+/-nan, 565.810960428506+/-nan,\n",
  1564. " 580.1085845591986+/-nan, 636.5250359081975+/-nan,\n",
  1565. " 600.2141025258858+/-nan, 577.2958286890241+/-nan,\n",
  1566. " 627.3808268148166+/-nan, 617.2187811344919+/-nan,\n",
  1567. " 641.2607989957359+/-nan, 622.4907683665502+/-nan], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>thermal_amplitude</span></div><div class='xr-var-dims'>(runs)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>574.323330298593+/-nan ... 562.0...</div><input id='attrs-80a14f33-5cf0-4c13-9c0a-7576c6f3d980' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-80a14f33-5cf0-4c13-9c0a-7576c6f3d980' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-07353150-bab9-408e-bd57-bf3dc30b3157' class='xr-var-data-in' type='checkbox'><label for='data-07353150-bab9-408e-bd57-bf3dc30b3157' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([574.323330298593+/-nan, 568.4626463236162+/-nan,\n",
  1568. " 583.7522671412466+/-nan, 520.5663944276968+/-nan,\n",
  1569. " 629.6233172781357+/-nan, 617.2121947211904+/-nan,\n",
  1570. " 602.967628810155+/-nan, 562.4835962828049+/-nan,\n",
  1571. " 604.8087834130785+/-nan, 562.0410431412295+/-nan], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>BEC_centerx</span></div><div class='xr-var-dims'>(runs)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>40.697673212791095+/-nan ... 41....</div><input id='attrs-b16c5c85-3efc-44ed-975a-7c700a2e5688' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-b16c5c85-3efc-44ed-975a-7c700a2e5688' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-0729c6f4-263c-403b-a41f-a4ce1ee63511' class='xr-var-data-in' type='checkbox'><label for='data-0729c6f4-263c-403b-a41f-a4ce1ee63511' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([40.697673212791095+/-nan, 39.45883091234254+/-nan,\n",
  1572. " 41.22347787951619+/-nan, 40.89898530220542+/-nan,\n",
  1573. " 41.63210069803921+/-nan, 39.324681218279466+/-nan,\n",
  1574. " 38.275787736341755+/-nan, 39.60209353554154+/-nan,\n",
  1575. " 42.00470746236811+/-nan, 41.846469101560324+/-nan], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>BEC_centery</span></div><div class='xr-var-dims'>(runs)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>38.68619529315486+/-nan ... 40.1...</div><input id='attrs-437dd93f-05d7-4298-92f4-44d43fa3b773' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-437dd93f-05d7-4298-92f4-44d43fa3b773' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-97a4586b-0749-4e60-b91b-6c4de93e6359' class='xr-var-data-in' type='checkbox'><label for='data-97a4586b-0749-4e60-b91b-6c4de93e6359' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([38.68619529315486+/-nan, 42.61360351211025+/-nan,\n",
  1576. " 41.563561921615275+/-nan, 40.06131528825722+/-nan,\n",
  1577. " 43.90475816622681+/-nan, 44.50753547226045+/-nan,\n",
  1578. " 43.14256883489733+/-nan, 41.82261283543652+/-nan,\n",
  1579. " 41.53493261128381+/-nan, 40.165797300781946+/-nan], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>thermal_centerx</span></div><div class='xr-var-dims'>(runs)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>41.672856011589964+/-nan ... 42....</div><input id='attrs-07aeb4e6-91df-4d08-87d7-459104e1eba5' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-07aeb4e6-91df-4d08-87d7-459104e1eba5' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5f70a575-c0f1-4498-9777-7eba43808c0c' class='xr-var-data-in' type='checkbox'><label for='data-5f70a575-c0f1-4498-9777-7eba43808c0c' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([41.672856011589964+/-nan, 41.10729207485836+/-nan,\n",
  1580. " 42.74513908785217+/-nan, 41.541130169383074+/-nan,\n",
  1581. " 41.44245089494752+/-nan, 40.150975380806294+/-nan,\n",
  1582. " 40.2004632958644+/-nan, 41.44977519532488+/-nan,\n",
  1583. " 42.69309201162166+/-nan, 42.18699416012472+/-nan], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>thermal_centery</span></div><div class='xr-var-dims'>(runs)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>40.50023901378942+/-nan ... 41.8...</div><input id='attrs-88335c7f-0add-4a64-939d-704c48fe4979' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-88335c7f-0add-4a64-939d-704c48fe4979' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-6f4c67a4-fa1c-4263-90df-7bd0431b4216' class='xr-var-data-in' type='checkbox'><label for='data-6f4c67a4-fa1c-4263-90df-7bd0431b4216' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([40.50023901378942+/-nan, 44.81057142219622+/-nan,\n",
  1584. " 43.010161191179634+/-nan, 41.36490168879652+/-nan,\n",
  1585. " 45.17646234836704+/-nan, 45.95553486593841+/-nan,\n",
  1586. " 44.574513165193316+/-nan, 43.26958231838+/-nan,\n",
  1587. " 42.5998739671102+/-nan, 41.86118542627792+/-nan], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>BEC_sigmax</span></div><div class='xr-var-dims'>(runs)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>27.10717775959619+/-nan ... 27.2...</div><input id='attrs-4a1c6250-a107-4a59-aed4-cb370052078a' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-4a1c6250-a107-4a59-aed4-cb370052078a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1ee2b534-748c-4346-8ee5-528c67591da0' class='xr-var-data-in' type='checkbox'><label for='data-1ee2b534-748c-4346-8ee5-528c67591da0' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([27.10717775959619+/-nan, 27.813248412756067+/-nan,\n",
  1588. " 27.180460059842797+/-nan, 28.359108484779306+/-nan,\n",
  1589. " 27.12902681300635+/-nan, 27.786783488553446+/-nan,\n",
  1590. " 27.56817106112974+/-nan, 28.162503921088394+/-nan,\n",
  1591. " 27.38249247770765+/-nan, 27.269511683790224+/-nan], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>BEC_sigmay</span></div><div class='xr-var-dims'>(runs)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>9.925094420566738+/-nan ... 9.27...</div><input id='attrs-7ed7bedc-4010-4cfd-931e-10f017eecf44' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-7ed7bedc-4010-4cfd-931e-10f017eecf44' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7d439e7e-f79d-4468-be0f-d8e065206781' class='xr-var-data-in' type='checkbox'><label for='data-7d439e7e-f79d-4468-be0f-d8e065206781' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([9.925094420566738+/-nan, 8.320083964510589+/-nan,\n",
  1592. " 8.832237277118526+/-nan, 10.102464552278184+/-nan,\n",
  1593. " 8.87861409804287+/-nan, 8.215669300544008+/-nan,\n",
  1594. " 8.96268636585824+/-nan, 8.690636986312713+/-nan,\n",
  1595. " 9.739827034241756+/-nan, 9.279246332574647+/-nan], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>thermal_sigmax</span></div><div class='xr-var-dims'>(runs)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>15.219058592618353+/-nan ... 14....</div><input id='attrs-56d1bd43-6cdc-4920-b6c7-1fdd6dd2d566' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-56d1bd43-6cdc-4920-b6c7-1fdd6dd2d566' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-060a01be-af83-46f3-bd5e-d170d23f33c1' class='xr-var-data-in' type='checkbox'><label for='data-060a01be-af83-46f3-bd5e-d170d23f33c1' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([15.219058592618353+/-nan, 13.845036738454665+/-nan,\n",
  1596. " 14.10887047132501+/-nan, 13.982332369691441+/-nan,\n",
  1597. " 14.817239722846576+/-nan, 13.924008993096628+/-nan,\n",
  1598. " 14.06259374875233+/-nan, 13.970679478445314+/-nan,\n",
  1599. " 14.551516131029505+/-nan, 14.193823332828861+/-nan], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>thermal_sigmay</span></div><div class='xr-var-dims'>(runs)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>18.262870311142024+/-nan ... 17....</div><input id='attrs-23e8b2e2-657a-42ed-961e-c77b59bfddbc' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-23e8b2e2-657a-42ed-961e-c77b59bfddbc' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1a635959-da98-4d4d-91d0-7ae15ed84d91' class='xr-var-data-in' type='checkbox'><label for='data-1a635959-da98-4d4d-91d0-7ae15ed84d91' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([18.262870311142024+/-nan, 16.614044086145597+/-nan,\n",
  1600. " 16.93064456559001+/-nan, 16.77879884362973+/-nan,\n",
  1601. " 17.78068766741589+/-nan, 16.70881079171595+/-nan,\n",
  1602. " 16.875112498502794+/-nan, 16.764815374134376+/-nan,\n",
  1603. " 17.461819357235406+/-nan, 17.032587999394632+/-nan], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>deltax</span></div><div class='xr-var-dims'>(runs)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>18.54999801825887+/-nan ... 15.3...</div><input id='attrs-81b86ab2-05c4-46af-b7eb-dd9b8692e37d' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-81b86ab2-05c4-46af-b7eb-dd9b8692e37d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c10656fe-164c-4f8e-8e49-5e051c6c829b' class='xr-var-data-in' type='checkbox'><label for='data-c10656fe-164c-4f8e-8e49-5e051c6c829b' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([18.54999801825887+/-nan, 13.721861802607926+/-nan,\n",
  1604. " 15.146151354132233+/-nan, 13.58788862429502+/-nan,\n",
  1605. " 17.322692355533373+/-nan, 13.985243490736439+/-nan,\n",
  1606. " 14.61961018512725+/-nan, 13.749534514247552+/-nan,\n",
  1607. " 16.272055915380868+/-nan, 15.311958314696358+/-nan], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>thermalAspectRatio</span></div><div class='xr-var-dims'>(runs)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>1.2+/-nan 1.2+/-nan ... 1.2+/-nan</div><input id='attrs-50e91101-69c3-41a3-886f-295285e5d10f' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-50e91101-69c3-41a3-886f-295285e5d10f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-62611110-afac-4c3b-aec9-0af98ad5fbe9' class='xr-var-data-in' type='checkbox'><label for='data-62611110-afac-4c3b-aec9-0af98ad5fbe9' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([1.2+/-nan, 1.2+/-nan, 1.2+/-nan, 1.2+/-nan, 1.2+/-nan, 1.2+/-nan,\n",
  1608. " 1.2+/-nan, 1.2+/-nan, 1.2+/-nan, 1.2+/-nan], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>condensate_fraction</span></div><div class='xr-var-dims'>(runs)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>0.5200567557574306+/-nan ... 0.5...</div><input id='attrs-6173a4af-0749-44b3-aae8-5a00f0fed341' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-6173a4af-0749-44b3-aae8-5a00f0fed341' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-f7f70436-1017-4f50-8a0f-05082a167cfe' class='xr-var-data-in' type='checkbox'><label for='data-f7f70436-1017-4f50-8a0f-05082a167cfe' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([0.5200567557574306+/-nan, 0.4988311083501699+/-nan,\n",
  1609. " 0.49843465712558144+/-nan, 0.5501078127624015+/-nan,\n",
  1610. " 0.4880434542490436+/-nan, 0.4832917128851891+/-nan,\n",
  1611. " 0.5099212535656252+/-nan, 0.523198726178512+/-nan,\n",
  1612. " 0.5146267977716745+/-nan, 0.5255162945553884+/-nan], dtype=object)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-8e928194-cb1d-475c-84ab-5f5c80f99c34' class='xr-section-summary-in' type='checkbox' ><label for='section-8e928194-cb1d-475c-84ab-5f5c80f99c34' class='xr-section-summary' >Indexes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>runs</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-7968ab3e-c4a8-4426-8503-25aff64cc953' class='xr-index-data-in' type='checkbox'/><label for='index-7968ab3e-c4a8-4426-8503-25aff64cc953' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Float64Index([0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0], dtype=&#x27;float64&#x27;, name=&#x27;runs&#x27;))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-abed971f-e595-472e-81a4-10d6ecd56c03' class='xr-section-summary-in' type='checkbox' ><label for='section-abed971f-e595-472e-81a4-10d6ecd56c03' class='xr-section-summary' >Attributes: <span>(11)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>IMAGE_SUBCLASS :</span></dt><dd>IMAGE_GRAYSCALE</dd><dt><span>IMAGE_VERSION :</span></dt><dd>1.2</dd><dt><span>IMAGE_WHITE_IS_ZERO :</span></dt><dd>0</dd><dt><span>x_start :</span></dt><dd>840</dd><dt><span>x_end :</span></dt><dd>920</dd><dt><span>y_end :</span></dt><dd>1020</dd><dt><span>y_start :</span></dt><dd>940</dd><dt><span>x_center :</span></dt><dd>880</dd><dt><span>y_center :</span></dt><dd>980</dd><dt><span>x_span :</span></dt><dd>80</dd><dt><span>y_span :</span></dt><dd>80</dd></dl></div></li></ul></div></div>"
  1613. ],
  1614. "text/plain": [
  1615. "<xarray.Dataset>\n",
  1616. "Dimensions: (runs: 10)\n",
  1617. "Coordinates:\n",
  1618. " * runs (runs) float64 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0\n",
  1619. "Data variables: (12/13)\n",
  1620. " BEC_amplitude (runs) object 622.325100923668+/-nan ... 622.4907683...\n",
  1621. " thermal_amplitude (runs) object 574.323330298593+/-nan ... 562.0410431...\n",
  1622. " BEC_centerx (runs) object 40.697673212791095+/-nan ... 41.846469...\n",
  1623. " BEC_centery (runs) object 38.68619529315486+/-nan ... 40.1657973...\n",
  1624. " thermal_centerx (runs) object 41.672856011589964+/-nan ... 42.186994...\n",
  1625. " thermal_centery (runs) object 40.50023901378942+/-nan ... 41.8611854...\n",
  1626. " ... ...\n",
  1627. " BEC_sigmay (runs) object 9.925094420566738+/-nan ... 9.27924633...\n",
  1628. " thermal_sigmax (runs) object 15.219058592618353+/-nan ... 14.193823...\n",
  1629. " thermal_sigmay (runs) object 18.262870311142024+/-nan ... 17.032587...\n",
  1630. " deltax (runs) object 18.54999801825887+/-nan ... 15.3119583...\n",
  1631. " thermalAspectRatio (runs) object 1.2+/-nan 1.2+/-nan ... 1.2+/-nan\n",
  1632. " condensate_fraction (runs) object 0.5200567557574306+/-nan ... 0.5255162...\n",
  1633. "Attributes:\n",
  1634. " IMAGE_SUBCLASS: IMAGE_GRAYSCALE\n",
  1635. " IMAGE_VERSION: 1.2\n",
  1636. " IMAGE_WHITE_IS_ZERO: 0\n",
  1637. " x_start: 840\n",
  1638. " x_end: 920\n",
  1639. " y_end: 1020\n",
  1640. " y_start: 940\n",
  1641. " x_center: 880\n",
  1642. " y_center: 980\n",
  1643. " x_span: 80\n",
  1644. " y_span: 80"
  1645. ]
  1646. },
  1647. "execution_count": 28,
  1648. "metadata": {},
  1649. "output_type": "execute_result"
  1650. }
  1651. ],
  1652. "source": [
  1653. "fitAnalyser_1.get_fit_full_result(fitResult_1)"
  1654. ]
  1655. },
  1656. {
  1657. "attachments": {},
  1658. "cell_type": "markdown",
  1659. "metadata": {},
  1660. "source": [
  1661. "# Calibration of the magnetic fields"
  1662. ]
  1663. },
  1664. {
  1665. "attachments": {},
  1666. "cell_type": "markdown",
  1667. "metadata": {},
  1668. "source": [
  1669. "## Z Offset field = 0.489A"
  1670. ]
  1671. },
  1672. {
  1673. "cell_type": "code",
  1674. "execution_count": 30,
  1675. "metadata": {
  1676. "scrolled": false
  1677. },
  1678. "outputs": [
  1679. {
  1680. "name": "stdout",
  1681. "output_type": "stream",
  1682. "text": [
  1683. "The detected scaning axes and values are: \n",
  1684. "\n",
  1685. "{'carrier_freq': array([9.525, 9.527, 9.529, 9.531, 9.533, 9.535, 9.537, 9.539, 9.541,\n",
  1686. " 9.543, 9.545, 9.547, 9.549, 9.551, 9.553, 9.555, 9.557, 9.559])}\n"
  1687. ]
  1688. },
  1689. {
  1690. "data": {
  1691. "application/javascript": "/* Put everything inside the global mpl namespace */\n/* global mpl */\nwindow.mpl = {};\n\nmpl.get_websocket_type = function () {\n if (typeof WebSocket !== 'undefined') {\n return WebSocket;\n } else if (typeof MozWebSocket !== 'undefined') {\n return MozWebSocket;\n } else {\n alert(\n 'Your browser does not have WebSocket support. ' +\n 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n 'Firefox 4 and 5 are also supported but you ' +\n 'have to enable WebSockets in about:config.'\n );\n }\n};\n\nmpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n this.id = figure_id;\n\n this.ws = websocket;\n\n this.supports_binary = this.ws.binaryType !== undefined;\n\n if (!this.supports_binary) {\n var warnings = document.getElementById('mpl-warnings');\n if (warnings) {\n warnings.style.display = 'block';\n warnings.textContent =\n 'This browser does not support binary websocket messages. ' +\n 'Performance may be slow.';\n }\n }\n\n this.imageObj = new Image();\n\n this.context = undefined;\n this.message = undefined;\n this.canvas = undefined;\n this.rubberband_canvas = undefined;\n this.rubberband_context = undefined;\n this.format_dropdown = undefined;\n\n this.image_mode = 'full';\n\n this.root = document.createElement('div');\n this.root.setAttribute('style', 'display: inline-block');\n this._root_extra_style(this.root);\n\n parent_element.appendChild(this.root);\n\n this._init_header(this);\n this._init_canvas(this);\n this._init_toolbar(this);\n\n var fig = this;\n\n this.waiting = false;\n\n this.ws.onopen = function () {\n fig.send_message('supports_binary', { value: fig.supports_binary });\n fig.send_message('send_image_mode', {});\n if (fig.ratio !== 1) {\n fig.send_message('set_device_pixel_ratio', {\n device_pixel_ratio: fig.ratio,\n });\n }\n fig.send_message('refresh', {});\n };\n\n this.imageObj.onload = function () {\n if (fig.image_mode === 'full') {\n // Full images could contain transparency (where diff images\n // almost always do), so we need to clear the canvas so that\n // there is no ghosting.\n fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n }\n fig.context.drawImage(fig.imageObj, 0, 0);\n };\n\n this.imageObj.onunload = function () {\n fig.ws.close();\n };\n\n this.ws.onmessage = this._make_on_message_function(this);\n\n this.ondownload = ondownload;\n};\n\nmpl.figure.prototype._init_header = function () {\n var titlebar = document.createElement('div');\n titlebar.classList =\n 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n var titletext = document.createElement('div');\n titletext.classList = 'ui-dialog-title';\n titletext.setAttribute(\n 'style',\n 'width: 100%; text-align: center; padding: 3px;'\n );\n titlebar.appendChild(titletext);\n this.root.appendChild(titlebar);\n this.header = titletext;\n};\n\nmpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n\nmpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n\nmpl.figure.prototype._init_canvas = function () {\n var fig = this;\n\n var canvas_div = (this.canvas_div = document.createElement('div'));\n canvas_div.setAttribute(\n 'style',\n 'border: 1px solid #ddd;' +\n 'box-sizing: content-box;' +\n 'clear: both;' +\n 'min-height: 1px;' +\n 'min-width: 1px;' +\n 'outline: 0;' +\n 'overflow: hidden;' +\n 'position: relative;' +\n 'resize: both;'\n );\n\n function on_keyboard_event_closure(name) {\n return function (event) {\n return fig.key
  1692. "text/plain": [
  1693. "<IPython.core.display.Javascript object>"
  1694. ]
  1695. },
  1696. "metadata": {},
  1697. "output_type": "display_data"
  1698. },
  1699. {
  1700. "data": {
  1701. "text/html": [
  1702. "<img src=\"data:image/png;base64,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
  1703. ],
  1704. "text/plain": [
  1705. "<IPython.core.display.HTML object>"
  1706. ]
  1707. },
  1708. "metadata": {},
  1709. "output_type": "display_data"
  1710. }
  1711. ],
  1712. "source": [
  1713. "%matplotlib notebook\n",
  1714. "shotNum = \"0008\"\n",
  1715. "filePath = folderPath + \"/\" + shotNum + \"/*.h5\"\n",
  1716. "\n",
  1717. "dataSetDict = {\n",
  1718. " dskey[groupList[i]]: read_hdf5_file(filePath, groupList[i], excludeAxis = ['sweep_start_freq', 'sweep_stop_freq'])\n",
  1719. " for i in [0]\n",
  1720. "}\n",
  1721. "\n",
  1722. "dataSet = dataSetDict[\"camera_0\"]\n",
  1723. "\n",
  1724. "print_scanAxis(dataSet)\n",
  1725. "\n",
  1726. "scanAxis = get_scanAxis(dataSet)\n",
  1727. "\n",
  1728. "dataSet = auto_rechunk(dataSet)\n",
  1729. "\n",
  1730. "dataSet = imageAnalyser.get_absorption_images(dataSet)\n",
  1731. "\n",
  1732. "imageAnalyser.center = (135, 990)\n",
  1733. "imageAnalyser.span = (250, 250)\n",
  1734. "imageAnalyser.fraction = (0.1, 0.1)\n",
  1735. "\n",
  1736. "dataSet_cropOD = imageAnalyser.crop_image(dataSet.OD)\n",
  1737. "dataSet_cropOD = imageAnalyser.substract_offset(dataSet_cropOD).load()\n",
  1738. "\n",
  1739. "Ncount = imageAnalyser.get_Ncount(dataSet_cropOD)\n",
  1740. "Ncount_mean = calculate_mean(Ncount)\n",
  1741. "Ncount_std = calculate_std(Ncount)\n",
  1742. "\n",
  1743. "fig = plt.figure()\n",
  1744. "ax = fig.gca()\n",
  1745. "Ncount_mean.plot.errorbar(ax=ax, yerr = Ncount_std, fmt='ob')\n",
  1746. "\n",
  1747. "plt.ylabel('NCount')\n",
  1748. "plt.tight_layout()\n",
  1749. "#plt.ylim([0, 3500])\n",
  1750. "plt.grid(visible=1)\n",
  1751. "plt.show()"
  1752. ]
  1753. },
  1754. {
  1755. "cell_type": "code",
  1756. "execution_count": null,
  1757. "metadata": {},
  1758. "outputs": [],
  1759. "source": [
  1760. "Ncount_mean_1 = Ncount_mean\n",
  1761. "Ncount_std_1 = Ncount_std\n",
  1762. "\n",
  1763. "fitAnalyser_1 = FitAnalyser(\"Gaussian With Offset\", fitDim=1)\n",
  1764. "# params = fitAnalyser.guess(Ncount_mean_1, x=scanAxis[0], guess_kwargs=dict(negative=True), dask=\"parallelized\")\n",
  1765. "params = fitAnalyser_1.fitModel.make_params()\n",
  1766. "params.add(name=\"amplitude\", value= -3000, max=np.inf, min=-np.inf, vary=True)\n",
  1767. "params.add(name=\"center\", value= 2.785, max=np.inf, min=-np.inf, vary=True)\n",
  1768. "params.add(name=\"sigma\", value= 0.1, max=np.inf, min= 0, vary=True)\n",
  1769. "params.add(name=\"offset\", value= 3000, max=np.inf, min=-np.inf, vary=True)\n",
  1770. "\n",
  1771. "fitResult_1 = fitAnalyser_1.fit(Ncount_mean_1, params, x=scanAxis[0]).load()\n",
  1772. "freqdata = np.linspace(2.76, 2.81, 500)\n",
  1773. "fitCurve_1 = fitAnalyser_1.eval(fitResult_1, x=freqdata, dask=\"parallelized\").load()\n",
  1774. "fitCurve_1 = fitCurve_1.assign_coords({'x':np.array(freqdata)})\n",
  1775. "\n",
  1776. "fig = plt.figure()\n",
  1777. "ax = fig.gca()\n",
  1778. "\n",
  1779. "Ncount_mean.plot.errorbar(ax=ax, yerr = Ncount_std, fmt='ob')\n",
  1780. "fitCurve_1.plot.errorbar(ax=ax, fmt='--g')\n",
  1781. "plt.xlabel('Center Frequency (MHz)')\n",
  1782. "plt.ylabel('NCount')\n",
  1783. "#plt.ylim([0, 3500])\n",
  1784. "plt.tight_layout()\n",
  1785. "plt.grid(visible=1)\n",
  1786. "plt.show()"
  1787. ]
  1788. },
  1789. {
  1790. "cell_type": "code",
  1791. "execution_count": null,
  1792. "metadata": {},
  1793. "outputs": [],
  1794. "source": [
  1795. "f_1 = fitAnalyser_1.get_fit_value(fitResult_1).center\n",
  1796. "df_1 = fitAnalyser_1.get_fit_std(fitResult_1).center\n",
  1797. "\n",
  1798. "print('f = %.5f \\u00B1 %.5f kHz'% tuple([np.abs(f_1)* 1e3,df_1* 1e3]))\n",
  1799. "\n",
  1800. "s_1 = fitAnalyser_1.get_fit_value(fitResult_1).sigma\n",
  1801. "ds_1 = fitAnalyser_1.get_fit_std(fitResult_1).sigma\n",
  1802. "\n",
  1803. "fwhm_1 = 2.3548200*s_1 * 1e3\n",
  1804. "dfwhm_1 = 2.3548200*ds_1 * 1e3\n",
  1805. "\n",
  1806. "print('fwhm = %.5f \\u00B1 %.5f kHz'% tuple([np.abs(fwhm_1),dfwhm_1]))"
  1807. ]
  1808. },
  1809. {
  1810. "cell_type": "code",
  1811. "execution_count": null,
  1812. "metadata": {},
  1813. "outputs": [],
  1814. "source": []
  1815. },
  1816. {
  1817. "cell_type": "code",
  1818. "execution_count": null,
  1819. "metadata": {},
  1820. "outputs": [],
  1821. "source": []
  1822. },
  1823. {
  1824. "cell_type": "code",
  1825. "execution_count": null,
  1826. "metadata": {},
  1827. "outputs": [],
  1828. "source": []
  1829. },
  1830. {
  1831. "cell_type": "code",
  1832. "execution_count": null,
  1833. "metadata": {},
  1834. "outputs": [],
  1835. "source": []
  1836. },
  1837. {
  1838. "cell_type": "code",
  1839. "execution_count": null,
  1840. "metadata": {},
  1841. "outputs": [],
  1842. "source": []
  1843. },
  1844. {
  1845. "cell_type": "code",
  1846. "execution_count": null,
  1847. "metadata": {},
  1848. "outputs": [],
  1849. "source": []
  1850. },
  1851. {
  1852. "cell_type": "code",
  1853. "execution_count": null,
  1854. "metadata": {},
  1855. "outputs": [],
  1856. "source": []
  1857. },
  1858. {
  1859. "cell_type": "code",
  1860. "execution_count": null,
  1861. "metadata": {},
  1862. "outputs": [],
  1863. "source": []
  1864. },
  1865. {
  1866. "cell_type": "code",
  1867. "execution_count": null,
  1868. "metadata": {},
  1869. "outputs": [],
  1870. "source": []
  1871. },
  1872. {
  1873. "cell_type": "code",
  1874. "execution_count": null,
  1875. "metadata": {},
  1876. "outputs": [],
  1877. "source": []
  1878. },
  1879. {
  1880. "cell_type": "code",
  1881. "execution_count": null,
  1882. "metadata": {},
  1883. "outputs": [],
  1884. "source": []
  1885. },
  1886. {
  1887. "cell_type": "code",
  1888. "execution_count": null,
  1889. "metadata": {},
  1890. "outputs": [],
  1891. "source": []
  1892. },
  1893. {
  1894. "cell_type": "code",
  1895. "execution_count": null,
  1896. "metadata": {},
  1897. "outputs": [],
  1898. "source": []
  1899. },
  1900. {
  1901. "cell_type": "code",
  1902. "execution_count": null,
  1903. "metadata": {},
  1904. "outputs": [],
  1905. "source": []
  1906. },
  1907. {
  1908. "cell_type": "code",
  1909. "execution_count": null,
  1910. "metadata": {},
  1911. "outputs": [],
  1912. "source": []
  1913. },
  1914. {
  1915. "cell_type": "code",
  1916. "execution_count": null,
  1917. "metadata": {},
  1918. "outputs": [],
  1919. "source": []
  1920. },
  1921. {
  1922. "cell_type": "code",
  1923. "execution_count": null,
  1924. "metadata": {},
  1925. "outputs": [],
  1926. "source": []
  1927. },
  1928. {
  1929. "cell_type": "code",
  1930. "execution_count": null,
  1931. "metadata": {},
  1932. "outputs": [],
  1933. "source": []
  1934. },
  1935. {
  1936. "cell_type": "code",
  1937. "execution_count": null,
  1938. "metadata": {},
  1939. "outputs": [],
  1940. "source": []
  1941. },
  1942. {
  1943. "cell_type": "code",
  1944. "execution_count": null,
  1945. "metadata": {},
  1946. "outputs": [],
  1947. "source": []
  1948. },
  1949. {
  1950. "cell_type": "code",
  1951. "execution_count": null,
  1952. "metadata": {},
  1953. "outputs": [],
  1954. "source": []
  1955. },
  1956. {
  1957. "cell_type": "code",
  1958. "execution_count": null,
  1959. "metadata": {},
  1960. "outputs": [],
  1961. "source": []
  1962. },
  1963. {
  1964. "cell_type": "code",
  1965. "execution_count": null,
  1966. "metadata": {},
  1967. "outputs": [],
  1968. "source": []
  1969. },
  1970. {
  1971. "cell_type": "code",
  1972. "execution_count": null,
  1973. "metadata": {},
  1974. "outputs": [],
  1975. "source": []
  1976. },
  1977. {
  1978. "cell_type": "code",
  1979. "execution_count": null,
  1980. "metadata": {},
  1981. "outputs": [],
  1982. "source": []
  1983. },
  1984. {
  1985. "cell_type": "code",
  1986. "execution_count": null,
  1987. "metadata": {},
  1988. "outputs": [],
  1989. "source": []
  1990. },
  1991. {
  1992. "cell_type": "code",
  1993. "execution_count": null,
  1994. "metadata": {},
  1995. "outputs": [],
  1996. "source": []
  1997. },
  1998. {
  1999. "cell_type": "code",
  2000. "execution_count": null,
  2001. "metadata": {},
  2002. "outputs": [],
  2003. "source": []
  2004. },
  2005. {
  2006. "cell_type": "code",
  2007. "execution_count": null,
  2008. "metadata": {},
  2009. "outputs": [],
  2010. "source": []
  2011. },
  2012. {
  2013. "cell_type": "code",
  2014. "execution_count": null,
  2015. "metadata": {},
  2016. "outputs": [],
  2017. "source": []
  2018. },
  2019. {
  2020. "cell_type": "code",
  2021. "execution_count": null,
  2022. "metadata": {},
  2023. "outputs": [],
  2024. "source": [
  2025. "%matplotlib notebook\n",
  2026. "shotNum = \"0016\"\n",
  2027. "filePath = folderPath + \"/\" + shotNum + \"/*.h5\"\n",
  2028. "\n",
  2029. "dataSetDict = {\n",
  2030. " dskey[groupList[i]]: read_hdf5_file(filePath, groupList[i], excludeAxis = ['sweep_start_freq', 'sweep_stop_freq'])\n",
  2031. " for i in [0]\n",
  2032. "}\n",
  2033. "\n",
  2034. "dataSet = dataSetDict[\"camera_0\"]\n",
  2035. "\n",
  2036. "print_scanAxis(dataSet)\n",
  2037. "\n",
  2038. "scanAxis = get_scanAxis(dataSet)\n",
  2039. "\n",
  2040. "dataSet = auto_rechunk(dataSet)\n",
  2041. "\n",
  2042. "dataSet = imageAnalyser.get_absorption_images(dataSet)\n",
  2043. "\n",
  2044. "imageAnalyser.center = (135, 990)\n",
  2045. "imageAnalyser.span = (250, 250)\n",
  2046. "imageAnalyser.fraction = (0.1, 0.1)\n",
  2047. "\n",
  2048. "dataSet_cropOD = imageAnalyser.crop_image(dataSet.OD)\n",
  2049. "dataSet_cropOD = imageAnalyser.substract_offset(dataSet_cropOD).load()\n",
  2050. "\n",
  2051. "Ncount = imageAnalyser.get_Ncount(dataSet_cropOD)\n",
  2052. "Ncount_mean = calculate_mean(Ncount)\n",
  2053. "Ncount_std = calculate_std(Ncount)\n",
  2054. "\n",
  2055. "fig = plt.figure()\n",
  2056. "ax = fig.gca()\n",
  2057. "Ncount_mean.plot.errorbar(ax=ax, yerr = Ncount_std, fmt='ob')\n",
  2058. "\n",
  2059. "plt.ylabel('NCount')\n",
  2060. "plt.tight_layout()\n",
  2061. "#plt.ylim([0, 3500])\n",
  2062. "plt.grid(visible=1)\n",
  2063. "plt.show()"
  2064. ]
  2065. },
  2066. {
  2067. "cell_type": "code",
  2068. "execution_count": 29,
  2069. "metadata": {
  2070. "scrolled": false
  2071. },
  2072. "outputs": [
  2073. {
  2074. "name": "stdout",
  2075. "output_type": "stream",
  2076. "text": [
  2077. "[9.525, 9.527, 9.529, 9.531, 9.533, 9.535, 9.537, 9.539, 9.541, 9.543, 9.545, 9.547, 9.549, 9.551, 9.553, 9.555, 9.557, 9.559]\n",
  2078. "18\n"
  2079. ]
  2080. },
  2081. {
  2082. "data": {
  2083. "text/plain": [
  2084. "9.542"
  2085. ]
  2086. },
  2087. "execution_count": 29,
  2088. "metadata": {},
  2089. "output_type": "execute_result"
  2090. }
  2091. ],
  2092. "source": [
  2093. "l = list(np.arange(9.525, 9.56, 0.002))\n",
  2094. "# l = np.logspace(np.log10(250e-6), np.log10(500e-3), num=15)\n",
  2095. "\n",
  2096. "l = [round(item, 7) for item in l]\n",
  2097. "#random.shuffle(l)\n",
  2098. "\n",
  2099. "print(l)\n",
  2100. "print(len(l))\n",
  2101. "np.mean(l)"
  2102. ]
  2103. },
  2104. {
  2105. "cell_type": "code",
  2106. "execution_count": null,
  2107. "metadata": {},
  2108. "outputs": [],
  2109. "source": [
  2110. "[10.25, 10.255, 10.26, 10.265, 10.27, 10.275, 10.28, 10.285, 10.29, 10.295, 10.3, 10.305, 10.31, 10.315, 10.32, 10.325, 10.33, 10.335, 10.34, 10.345, 10.35, 10.355]"
  2111. ]
  2112. },
  2113. {
  2114. "cell_type": "code",
  2115. "execution_count": null,
  2116. "metadata": {},
  2117. "outputs": [],
  2118. "source": [
  2119. "pixel = 5.86e-6\n",
  2120. "M = 0.6827\n",
  2121. "F = (1/(0.3725*8.4743e-14)) * (pixel / M)**2\n",
  2122. "NCount = 85000\n",
  2123. "AtomNumber = NCount * F / 1e8\n",
  2124. "print(AtomNumber)\n"
  2125. ]
  2126. },
  2127. {
  2128. "cell_type": "code",
  2129. "execution_count": null,
  2130. "metadata": {},
  2131. "outputs": [],
  2132. "source": [
  2133. "muB = 9.274e-24\n",
  2134. "hbar = 6.626e-34 / (2 * np.pi)\n",
  2135. "gJ = 1.24\n",
  2136. "Delta = 2 * np.pi * 100 * 1e3\n",
  2137. "\n",
  2138. "Bz = (Delta*hbar) / (muB*gJ)\n",
  2139. "print(Bz * 1e4)"
  2140. ]
  2141. },
  2142. {
  2143. "attachments": {},
  2144. "cell_type": "markdown",
  2145. "metadata": {},
  2146. "source": [
  2147. "## ODT 1 Calibration"
  2148. ]
  2149. },
  2150. {
  2151. "cell_type": "code",
  2152. "execution_count": null,
  2153. "metadata": {},
  2154. "outputs": [],
  2155. "source": [
  2156. "v_high = 2.7\n",
  2157. "\"\"\"High Power\"\"\"\n",
  2158. "P_arm1_high = 5.776 * v_high - 0.683\n",
  2159. "\n",
  2160. "v_mid = 0.2076\n",
  2161. "\"\"\"Intermediate Power\"\"\"\n",
  2162. "P_arm1_mid = 5.815 * v_mid - 0.03651\n",
  2163. "\n",
  2164. "v_low = 0.0587\n",
  2165. "\"\"\"Low Power\"\"\"\n",
  2166. "P_arm1_low = 5271 * v_low - 27.5\n",
  2167. "\n",
  2168. "print(round(P_arm1_high, 3))\n",
  2169. "print(round(P_arm1_mid, 3))\n",
  2170. "print(round(P_arm1_low, 3))"
  2171. ]
  2172. },
  2173. {
  2174. "attachments": {},
  2175. "cell_type": "markdown",
  2176. "metadata": {},
  2177. "source": [
  2178. "## ODT 2 Power Calibration"
  2179. ]
  2180. },
  2181. {
  2182. "cell_type": "code",
  2183. "execution_count": null,
  2184. "metadata": {},
  2185. "outputs": [],
  2186. "source": [
  2187. "v = 0.7607\n",
  2188. "P_arm2 = 2.302 * v - 0.06452\n",
  2189. "print(round(P_arm2, 3))"
  2190. ]
  2191. }
  2192. ],
  2193. "metadata": {
  2194. "kernelspec": {
  2195. "display_name": "Python 3 (ipykernel)",
  2196. "language": "python",
  2197. "name": "python3"
  2198. },
  2199. "language_info": {
  2200. "codemirror_mode": {
  2201. "name": "ipython",
  2202. "version": 3
  2203. },
  2204. "file_extension": ".py",
  2205. "mimetype": "text/x-python",
  2206. "name": "python",
  2207. "nbconvert_exporter": "python",
  2208. "pygments_lexer": "ipython3",
  2209. "version": "3.9.12"
  2210. },
  2211. "vscode": {
  2212. "interpreter": {
  2213. "hash": "c05913ad4f24fdc6b2418069394dc5835b1981849b107c9ba6df693aafd66650"
  2214. }
  2215. }
  2216. },
  2217. "nbformat": 4,
  2218. "nbformat_minor": 2
  2219. }