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.

852 lines
1019 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
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. "import Analyser.FitAnalyser as fa\n",
  43. "# %matplotlib notebook"
  44. ]
  45. },
  46. {
  47. "attachments": {},
  48. "cell_type": "markdown",
  49. "metadata": {},
  50. "source": [
  51. "## Start a client for parallel computing"
  52. ]
  53. },
  54. {
  55. "cell_type": "code",
  56. "execution_count": 2,
  57. "metadata": {},
  58. "outputs": [
  59. {
  60. "name": "stdout",
  61. "output_type": "stream",
  62. "text": [
  63. "dict_keys(['camera_3'])\n",
  64. "The detected scaning axes and values are: \n",
  65. "\n",
  66. "{}\n"
  67. ]
  68. },
  69. {
  70. "data": {
  71. "text/plain": [
  72. "<matplotlib.collections.QuadMesh at 0x2097c9a8c10>"
  73. ]
  74. },
  75. "execution_count": 2,
  76. "metadata": {},
  77. "output_type": "execute_result"
  78. },
  79. {
  80. "data": {
  81. "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAG/CAYAAACjYSiTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9f5RdV3nmiX9sydhXuKyosIvYBkv0WEYCq9opGASIcZmODKKJnQljrE5C3EoAJ/kO5QESYJzJLEJ60SSkQxYoDcFJdwQGOgIn3WAmOLEysTrIYELK7lKSqractgQ2xoVTsl2Oykay/f1jn6f2c967z723SlWyzNxnrbvuvefnPvvss/ez3/d533PK008//TR99NFHH3300Ucffczj1Ge6AH300UcfffTRRx8nG/oEqY8++uijjz766COgT5D66KOPPvroo48+AvoEqY8++uijjz766COgT5D66KOPPvroo48+AvoEqY8++uijjz766COgT5D66KOPPvroo48+AvoEqY8++uijjz766COgT5D66KOPPvroo48+AvoEqY8++uijjz766COgT5D66KOPPvroo4+e8Xd/93e8+c1v5p/9s3/GqlWrOPvss7n00ku5+eabe9r/4Ycf5tprr+Wcc87huc99Lq997WsZHx9f5lIvHCuf6QL00UcfffTRRx/PHhw6dIjZ2Vn+9b/+15x33nkcOXKEP/7jP+bKK6/kk5/8JNdee23jvk899RRvfOMb+W//7b/xnve8h7PPPpuPf/zjXHbZZfzN3/wN69evP4FX0hmn9F9W20cfffTRRx99HA+efPJJXvayl/H4448zNTXVuN3nP/95tm/fzhe+8AWuuuoqAL73ve9x0UUX8YY3vIHPfe5zJ6rIXdF3sfXRRx999NFHH8eFFStW8MIXvpCHH36443Y33XQTz3/+83nTm940v+ycc87h6quv5otf/CJPPPHEMpe0d/RdbD3iqaee4jvf+Q4DAwOccsopz3Rx+uijjz76OInx9NNPMzs7y3nnnceppy6PLeK//Jf/wqFDh5bkWD/xEz/BD/3QD9WWnX766Zx++umN+/zTP/0Tc3NzPPLII3zpS1/iK1/5Ctu3b+94njvvvJORkZG2OnnFK17BDTfcwN13382mTZsWfR1LiT5B6hHf+c53eOELX/hMF6OPPvroo49nEb797W/z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
  82. "text/plain": [
  83. "<Figure size 640x480 with 2 Axes>"
  84. ]
  85. },
  86. "metadata": {},
  87. "output_type": "display_data"
  88. }
  89. ],
  90. "source": [
  91. "groupList = [\n",
  92. " \"images/MOT_3D_Camera/in_situ_absorption\",\n",
  93. " \"images/ODT_1_Axis_Camera/in_situ_absorption\",\n",
  94. " \"images/ODT_2_Axis_Camera/in_situ_absorption\",\n",
  95. " \"images/Vertical_Axis_Camera/in_situ_absorption\",\n",
  96. "]\n",
  97. "\n",
  98. "dskey = {\n",
  99. " \"images/MOT_3D_Camera/in_situ_absorption\": \"camera_0\",\n",
  100. " \"images/ODT_1_Axis_Camera/in_situ_absorption\": \"camera_1\",\n",
  101. " \"images/ODT_2_Axis_Camera/in_situ_absorption\": \"camera_2\",\n",
  102. " \"images/Vertical_Axis_Camera/in_situ_absorption\": \"camera_3\"\n",
  103. "}\n",
  104. "\n",
  105. "img_dir = '//DyLabNAS/Data/'\n",
  106. "SequenceName = \"Evaporative_Cooling\" + \"/\"\n",
  107. "folderPath = img_dir + SequenceName + '2023/08/30'# get_date()\n",
  108. "\n",
  109. "shotNum = f\"0077\"\n",
  110. "filePath = folderPath + \"/\" + shotNum + \"/*.h5\"\n",
  111. "\n",
  112. "dataSetDict = {\n",
  113. " dskey[groupList[i]]: read_hdf5_file(filePath, groupList[i])\n",
  114. " for i in [3]\n",
  115. "}\n",
  116. "print(dataSetDict.keys())\n",
  117. "\n",
  118. "dataSet = dataSetDict[\"camera_3\"]\n",
  119. "\n",
  120. "\n",
  121. "print_scanAxis(dataSet)\n",
  122. "\n",
  123. "scanAxis = get_scanAxis(dataSet)\n",
  124. "\n",
  125. "dataSet = auto_rechunk(dataSet)\n",
  126. "\n",
  127. "dataSet = imageAnalyser.get_absorption_images(dataSet)\n",
  128. "\n",
  129. "imageAnalyser.center = (550, 750)\n",
  130. "imageAnalyser.span = (900, 900)\n",
  131. "imageAnalyser.fraction = (0.1, 0.1)\n",
  132. "\n",
  133. "dataSet_cropOD = imageAnalyser.crop_image(dataSet.OD)\n",
  134. "dataSet_cropOD = imageAnalyser.substract_offset(dataSet_cropOD).load()\n",
  135. "\n",
  136. "dataSet_cropOD.plot.pcolormesh(cmap='jet', col=scanAxis[0], row=scanAxis[1], vmin=0, vmax=3)\n"
  137. ]
  138. },
  139. {
  140. "cell_type": "code",
  141. "execution_count": 3,
  142. "metadata": {},
  143. "outputs": [
  144. {
  145. "data": {
  146. "text/plain": [
  147. "<matplotlib.collections.QuadMesh at 0x20902035310>"
  148. ]
  149. },
  150. "execution_count": 3,
  151. "metadata": {},
  152. "output_type": "execute_result"
  153. },
  154. {
  155. "data": {
  156. "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAG4CAYAAAC+ZBgrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9fZSlVX0mDF8NtFBI6FY7IFSXnpmF5ITlSRC1y9IOMU6hRzPtPGOAMl0+oKmW0Vdk4F2JFj3xOTlGi1rBxHyQmBe7oi1WhxKMSdqJR7tMnAlQVItAUo/mRE1yYlXRA9Nq0bZdYIP9/rF/v72v/bv3fT7qo2ky51rrrHPO/bn3vve997V/nxtOnDhxAl100UUXXXTRRRddeJz2TBegiy666KKLLrro4lRDlyB10UUXXXTRRRddGHQJUhdddNFFF1100YVBlyB10UUXXXTRRRddGHQJUhdddNFFF1100YVBlyB10UUXXXTRRRddGHQJUhdddNFFF1100YXBGc90AZ4t+PGPf4xHHnkEP/ETP4ENGzY808XpoosuuujiFMaJEyfwgx/8ABdeeCFOO+2Zk0XMz8/jBS94Ac4+++xnrAzPVnQJUpt45JFH0NfX90wXo4suuuiii2cR5ufnsXXr1mfk3v/yL/+Cl/z7f4+XAfhqNyZ0x9jQjaTdHh5//HFs3rwZ+Kl54B+/CeAAgCsAXADgU3TkFbKPcY0ck9oHABcD+GbOf/ndezOweEviWL3nv8r2K2Tbv2avER0H4JKbgZsAvPOzctyLQ/n8/fLqxNv09zW0v1e2PQDgQgA7AXwkcQ0tK6RcvwqctdH9feI4nSPbn7iFfh93u3g7PgKcdbOcf4v7/YTUQ3+fdbO5NuLjcDGVJ4VrAEwDeET+59XvVxPb6PlF9+RzGHL+x28G3nkc+PhG4J1yTvSMCPa6yftwWS4Gen/J9C/uZ3n9thlSdUd+ufPqYpFbF3O/1HG90i98PQFc8kvu+xu0rfeX8Kpv/DXuP/917v8TnwXwYqD3FcAmAI8DWPws8MpfAq6DeX8ukN+HAPyru/4/y6Y/APBeuHJ9XMryTunD+AjCs/+I2/9euH76cXkffgOh/La9Pn6z27/4WYTnx6B3+5KbXX1feTPw1VsQnm/qObd6F5qhnX6jY+NaQseVA3Bt+ncAfhahjWlMadVHfZ/5rHtHfgPh/fPX+Dvg469wf9/5gLvXxzcC7/wfAN6MpaUlbNq0aY3q1hlKGzbgGIDvAPh/63X81E/91DNSjmcrugSpTRw5ckQ6+ZcB/G8AdQBlOCIwIUeN0G/BYAV4FMBcVTYU5Vz9TsHsK1WAuVkADQAFADXZUZbf9F3qTxxbluPzzuN7jgBYlOtomRll+l2Ldw1WgOkqgN2yYSxx/giAe6Vs2nZcX3su/Z+sAMPHgcmN7luP6akAy1X3vQfAcKrcBD3eXz9VziLQMyTHcfm0zXYD2Atgkeo1kbmKO+5BZNpK76HX7akAyzpZjrnzejZ2Vh+uV1RHQV8FmG+y39evgbhvpvpL6jzel9eueUi8Dz0VYHkqu33VKMp3AUBN3q8p2VaXdpoC+obcpq0AjtLpowCGZ93vUj+wBGAz3DVKQ+G9KVXcsbvg2lr7b8/G8Ky1L/s+Dfjnr+gRguSfMZVVoWWeHALGAZwDYEbKGD1Pfk76e0T+p/qvtledftO9o36UN6ZpX+i0T6wGOk5dFm/WtlRom+pvrUNfJRxzOOcWyzoGld19JjcCw7O45cSduHnDW4GP/zTwzk14/PHHce65566yPp3jq1/9Kl6zbRveC+B/wnXhf+hO9x2ha6S9IijBAdwEWQYGKnADTBnh5RwBphdk8OXt+q3XEPRVkByM5qpwA1kd2cENcERjxH3PzZpjR5Cd1Gr0XTTlmHDbl+AGeK6LP6eRuCaEHAFu0OCBUM4taRvpde6V39KePRU6dzfCgCrX0slFv4EwuPWZCV8HuMlK+M2Dnv9P5ezh/XV3vegcbvNHEcgRAJyPLIpAaSNCOxN6KmECBmSg3ujK01MJ9RuVYycrcV25DlrvZSKnmbIjkCN/LJXTf7TvMLTOjUQd7TGKHNJp28Gjnt2/XE2URbE75zfMc8y7l7wfTI76hgKJ7BtyhGMzHNGYo89tAAb73flzC6Fd+4aw/e8PhPd4bsqRW52ElQDtgZmox4jwS7tNbnQfjLnjt8D1gS1cD2mrvoorJwAMS11mplz5UAMGhuD6Lo8FMl4AyBKjMuLxip9BHZln4vtZAWlwX+il+7ZCqq/k9Z8UanRvadtleR57EN6R5anwPmgfOIzwAeJzlo+73wD8mCDkCJP9uHnfR4HJ/g7KufY4ceIErtq2Da8CcC6A18IJMv/2b//2GS3Xsw1dgrRi1N3qUQnDzCzCy9sIhKm0FYGsEDEpDSG7AuSVGGQCLSMGExXFBH3yVvi8UrRETVEM2+dlMvBgMlCgaxUT11HodhmAeZWeWanV40mbyUJEluAGIx3ctsD9npfV3yjdvq/iVtPz1bh9dcKyK8OURMU+Ew87qaQIQZ2kcIYAbEkcruXaAhm0ZYJeroaJNipTClQOrXfbhMGSEapzTyWxv1Ok7sEodHCtJpIIJorN0KfkSMo1P+WkRVpvlQbxZDfZD8ws0EXkvTjHfd2z4XtBkoO6IzW23MOzbpKdVJK0O/09rMRKnvco3LVLQ0Sui+45z8k9S0NUJ+6zNQATMi4Bcf9V6acu9GSsKvUjJkoJqDSrVEEg0Hz8CP0eg2svHkvyYN83S66LiW15IEmzQseJeUPC52UsWa5mx4Ph4/I8x4xUtywSxZr7Hp4Fho+jcvUonil8/vOfx/8G8Br5f478/uXLL0dXadQ+ugSpY6hOveykLP4F1ZV3w/09Kvs8KdBj5WX0q1ZZbdpJr1RxJCWSEu1GPLClVmIqTdqNoMLiQUqlIGXZz5NjQY5phHpE0ibQbx3ktM5lRATLSyNoECuRxKRvKFvvkrSFqsoAIRJjQN9Gt295ypEeQAYzbl+9diUcoyRvfiorUYnUbIQeJhXyzEpDpg3ySKbCkgsgIgjzU1J2aR/tB8tTpN4phGvx4B6VTepr66aYNwN96jq5BKoTQtQGIWkJfYcUeZOfvVceWWpRJjs5ogDMVN33/KyQ2xGZDOnZD24laWkvgLJ731Xy1DPk1GpAIDkZPGh+jznCpNJDnYC3wG0bh/SXAo0phfidUunRpLxbagYwI/XAbvnNKMNLwVGThZ706TmSQgFIEpK+IddW5wChLXlcmkAYi5rBvkeWTFsSn0fqFVpm6gP8HuiCCsh/d1R9uHwct5xYCoRWSe/kRgCX4ZYTd1Id9L5jqH5mHM8EnnrqKfzKm9+M1wI4i7YPwJnP3XXXXc9IuZ6N6NogtYnYBknElJOVeCXh9fE6iMjL66UXMmjZ87yYX1Z9bMcAIIjGeeW1DcBBuIFnkb6Rs41tZMqI1SU6yBCBy9gqNBCv8JksWNAgqqqKyO7KtA9Lk+aNLU20mmcbj6KbCHRVnbqe2mv0DcVELNf+ZreIyu0+mmya1p+PayAavCMJIdUrao8C4smoAP+cbB2S4Oe3jshrv6j/r1c5VmjHkrLT4v44OSQEo4C03R69P9H7OwIMbBWVVj0mQ16SxTZFQowm+3HLzpucrcpkPzB8HCMnbsfE2e8JbRg9c3qnlBR5dXo52AyqLVL0vpURFkv0Xg9UhBDxe8792jzHzPtp3wsed3i84nForZAaJ5Hum8n+asegFKz9I7U3kFWjeRsywceXnxEbpB0bNmAGwP8HwOlm34Nws9f/evJJPOc5zzlpZXq2oitB6hSXiLcCim5A9auPojHyGwr7/CAng9Y44lXLkuwrVQAUvLg+YAJh4OlFIEdAGHh4/yKACuJBSQZ3Lwqvu3tZwqKSjFK/HAtE0jGvVtRziua31lO+o1W63KtnyJxbj0nk8qy7d4naKCJHI+6cYVFBaXvz/XWVlyIWVgXjJ7WxsOLPs1vKrKgZ9XAM2xcBQd2lg+sAqVhLKi3qRUzCGkGdkpKA5d6/A7RUvyWO75gclRFLMUewcrSSFsl
  157. "text/plain": [
  158. "<Figure size 640x480 with 2 Axes>"
  159. ]
  160. },
  161. "metadata": {},
  162. "output_type": "display_data"
  163. }
  164. ],
  165. "source": [
  166. "dataSet_cropOD.plot.pcolormesh(cmap='jet', col=scanAxis[0], row=scanAxis[1], vmin=0, vmax=1)"
  167. ]
  168. },
  169. {
  170. "cell_type": "code",
  171. "execution_count": 4,
  172. "metadata": {},
  173. "outputs": [],
  174. "source": [
  175. "from scipy.ndimage import rotate"
  176. ]
  177. },
  178. {
  179. "cell_type": "code",
  180. "execution_count": 5,
  181. "metadata": {},
  182. "outputs": [],
  183. "source": [
  184. "data_rot = copy.deepcopy(dataSet_cropOD)\n",
  185. "data_rot.data = rotate(data_rot.data, 36, reshape=False)"
  186. ]
  187. },
  188. {
  189. "cell_type": "code",
  190. "execution_count": 6,
  191. "metadata": {},
  192. "outputs": [],
  193. "source": [
  194. "x = dataSet_cropOD.x.data\n",
  195. "y = dataSet_cropOD.y.data\n",
  196. "\n",
  197. "X,Y = np.meshgrid(x,y)\n",
  198. "X_ = X.flatten()\n",
  199. "Y_ = Y.flatten()\n",
  200. "# print(y)"
  201. ]
  202. },
  203. {
  204. "cell_type": "code",
  205. "execution_count": 25,
  206. "metadata": {},
  207. "outputs": [
  208. {
  209. "ename": "type",
  210. "evalue": "only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices",
  211. "output_type": "error",
  212. "traceback": [
  213. "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
  214. "\u001b[1;31mIndexError\u001b[0m Traceback (most recent call last)",
  215. "Cell \u001b[1;32mIn[25], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m params\u001b[39m.\u001b[39;49mdata[\u001b[39m'\u001b[39;49m\u001b[39mx0_bec\u001b[39;49m\u001b[39m'\u001b[39;49m]\n",
  216. "\u001b[1;31mIndexError\u001b[0m: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices"
  217. ]
  218. }
  219. ],
  220. "source": [
  221. "params.data['x0_bec']"
  222. ]
  223. },
  224. {
  225. "cell_type": "code",
  226. "execution_count": 13,
  227. "metadata": {},
  228. "outputs": [
  229. {
  230. "name": "stdout",
  231. "output_type": "stream",
  232. "text": [
  233. "shape: (900, 900)\n"
  234. ]
  235. },
  236. {
  237. "data": {
  238. "image/png": "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
  239. "text/plain": [
  240. "<Figure size 640x480 with 1 Axes>"
  241. ]
  242. },
  243. "metadata": {},
  244. "output_type": "display_data"
  245. },
  246. {
  247. "name": "stdout",
  248. "output_type": "stream",
  249. "text": [
  250. "x smaller y, 1d fit along x\n",
  251. "\n",
  252. "1d fit initialization\n",
  253. "center = [419. 428.]\n",
  254. "BEC widths: [ 80 339]\n",
  255. "\n",
  256. "1d init fit values\n",
  257. "Name Value Min Max Stderr Vary Expr Brute_Step\n",
  258. "amp_bec 1.145 0 2.977 None True None None\n",
  259. "amp_th 1.145 0 2.977 None True None None\n",
  260. "deltax 240 0 900 None True None None\n",
  261. "sigma_bec 65.57 0 160 None True None None\n",
  262. "sigma_th 165.8 0 inf None False 0.632*sigma_bec + 0.518*deltax None\n",
  263. "x0_bec 419 409 429 None True None None\n",
  264. "x0_th 419 409 429 None True None None\n",
  265. "1d fitted values\n",
  266. "x0_bec: 421.007, (init = 419.000), bounds = [409.00 : 429.00] \n",
  267. "x0_th: 409.000, (init = 419.000), bounds = [409.00 : 429.00] \n",
  268. "amp_bec: 1.923, (init = 1.145), bounds = [0.00 : 2.98] \n",
  269. "amp_th: 0.351, (init = 1.145), bounds = [0.00 : 2.98] \n",
  270. "sigma_bec: 63.902, (init = 65.574), bounds = [0.00 : 160.00] \n",
  271. "sigma_th: 40.386, (init = 165.763), bounds = [0.00 : inf] \n",
  272. "\n"
  273. ]
  274. },
  275. {
  276. "data": {
  277. "image/png": "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
  278. "text/plain": [
  279. "<Figure size 640x480 with 1 Axes>"
  280. ]
  281. },
  282. "metadata": {},
  283. "output_type": "display_data"
  284. },
  285. {
  286. "name": "stdout",
  287. "output_type": "stream",
  288. "text": [
  289. "\n",
  290. "Init Params\n",
  291. "Name Value Min Max Stderr Vary Expr Brute_Step\n",
  292. "amp_bec 2.348 0 3.812 None True None None\n",
  293. "amp_th 0.4282 0 3.812 None True None None\n",
  294. "atom_number_bec 5.239e+04 -inf inf None False amp_bec / 5 * 2 * 3.14159265359 * sigmax_bec * sigmay_bec None\n",
  295. "atom_number_th 3211 -inf inf None False amp_th * 2 * 3.14159265359 * 1.20206 / 1.643 * sigma_th * sigma_th None\n",
  296. "condensate_fraction 0.9423 -inf inf None False atom_number_bec / (atom_number_bec + atom_number_th) None\n",
  297. "rot_angle -36 -66 -6 None False None None\n",
  298. "sigma_th 40.39 0 900 None True None None\n",
  299. "sigmax_bec 63.9 0 160 None True None None\n",
  300. "sigmay_bec 277.9 0 678 None True None None\n",
  301. "x0_bec 419 409 429 None True None None\n",
  302. "x0_th 419 409 429 None True None None\n",
  303. "y0_bec 428 418 438 None True None None\n",
  304. "y0_th 428 418 438 None True None None\n",
  305. "\n",
  306. "bval first fit\n",
  307. "amp_bec: 2.632, (init = 2.348), bounds = [0.00 : 3.81] \n",
  308. "amp_th: 0.000, (init = 0.428), bounds = [0.00 : 3.81] \n",
  309. "x0_bec: 409.000, (init = 419.000), bounds = [409.00 : 429.00] \n",
  310. "y0_bec: 438.000, (init = 428.000), bounds = [418.00 : 438.00] \n",
  311. "x0_th: 409.002, (init = 419.000), bounds = [409.00 : 429.00] \n",
  312. "y0_th: 438.000, (init = 428.000), bounds = [418.00 : 438.00] \n",
  313. "sigmax_bec: 69.914, (init = 63.902), bounds = [0.00 : 160.00] \n",
  314. "sigmay_bec: 283.514, (init = 277.869), bounds = [0.00 : 678.00] \n",
  315. "sigma_th: 65.907, (init = 40.386), bounds = [0.00 : 900.00] \n",
  316. "rot_angle: -36.000, (init = -36.000), bounds = [-66.00 : -6.00] \n",
  317. "\n"
  318. ]
  319. }
  320. ],
  321. "source": [
  322. "data = dataSet_cropOD\n",
  323. "fitModel = DensityProfileBEC2dModel(is_debug=True)\n",
  324. "fitAnalyser_1 = FitAnalyser(fitModel, fitDim=2)\n",
  325. "params = fitAnalyser_1.guess(data, guess_kwargs=dict(rot_angle=36, vary_rot=False, pre_check=False, post_check=False))\n",
  326. "result = fitAnalyser_1.fit(data, paramsArray=params)\n",
  327. "# result = fitModel.fit(data.data.flatten('F'), x= X_, y=Y_)\n"
  328. ]
  329. },
  330. {
  331. "cell_type": "code",
  332. "execution_count": 12,
  333. "metadata": {},
  334. "outputs": [
  335. {
  336. "data": {
  337. "text/plain": [
  338. "<matplotlib.collections.QuadMesh at 0x2090a299610>"
  339. ]
  340. },
  341. "execution_count": 12,
  342. "metadata": {},
  343. "output_type": "execute_result"
  344. },
  345. {
  346. "data": {
  347. "image/png": "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
  348. "text/plain": [
  349. "<Figure size 1300x400 with 3 Axes>"
  350. ]
  351. },
  352. "metadata": {},
  353. "output_type": "display_data"
  354. }
  355. ],
  356. "source": [
  357. "# fig, axs = plt.subplots(shape[0] , 5, figsize=(14, 4 * shape[0] ),dpi = 100)\n",
  358. "fig, axs = plt.subplots(1 , 3, figsize=(13,4 ),dpi = 100)\n",
  359. "\n",
  360. "vmax=2\n",
  361. "cropOD = data.to_numpy()\n",
  362. "\n",
  363. "\n",
  364. "# axs[i,0].set_title(f'image {i}, cond. frac = {Fitmodel.cond_frac(result[i], X, Y) *1e2:.2f} %', loc='left', fontsize=18)\n",
  365. "man_fit = fa.density_profile_BEC_2d(X,Y, amp_bec=2.348, amp_th=0.4282, sigma_th=40.39, sigmax_bec=64, sigmay_bec=278, \n",
  366. " x0_bec=419,x0_th=419,y0_bec=428, y0_th=428, rot_angle=-36)\n",
  367. "\n",
  368. "\n",
  369. "ax = axs[0]\n",
  370. "ax.pcolormesh(X, Y, cropOD.T, vmin=0, vmax=vmax, cmap='jet', shading='auto')\n",
  371. "#plt.colorbar(art, ax=ax, label='z')\n",
  372. "\n",
  373. "\n",
  374. "# Plot gaussian 2d Fit + legend including Width parameters\n",
  375. "ax = axs[1]\n",
  376. "\n",
  377. "ax.pcolormesh(X, Y, man_fit, cmap='jet', shading='auto')\n",
  378. "#plt.colorbar(art, ax=ax, label='z')\n",
  379. "\n",
  380. "ax = axs[2]\n",
  381. "\n",
  382. "ax.pcolormesh(X, Y, man_fit-cropOD.T, vmin=0, vmax=0.2, cmap='jet', shading='auto')\n"
  383. ]
  384. },
  385. {
  386. "cell_type": "code",
  387. "execution_count": null,
  388. "metadata": {},
  389. "outputs": [
  390. {
  391. "name": "stdout",
  392. "output_type": "stream",
  393. "text": [
  394. "\n",
  395. "0\n",
  396. "0.5\n",
  397. "0.2\n",
  398. "0.5\n",
  399. "0.2\n",
  400. "1.3375883632180532\n",
  401. "\n",
  402. "30\n",
  403. "0.5\n",
  404. "0.2\n",
  405. "0.5330127018922194\n",
  406. "-0.07679491924311221\n",
  407. "1.3375883632180532\n",
  408. "\n",
  409. "60\n",
  410. "0.5\n",
  411. "0.2\n",
  412. "0.4232050807568878\n",
  413. "-0.33301270189221926\n",
  414. "1.3375883632180534\n",
  415. "\n",
  416. "90\n",
  417. "0.5\n",
  418. "0.2\n",
  419. "0.20000000000000004\n",
  420. "-0.5\n",
  421. "1.3375883632180532\n",
  422. "\n",
  423. "120\n",
  424. "0.5\n",
  425. "0.2\n",
  426. "-0.07679491924311213\n",
  427. "-0.5330127018922193\n",
  428. "1.3375883632180536\n",
  429. "\n",
  430. "150\n",
  431. "0.5\n",
  432. "0.2\n",
  433. "-0.3330127018922194\n",
  434. "-0.42320508075688773\n",
  435. "1.3375883632180532\n"
  436. ]
  437. }
  438. ],
  439. "source": [
  440. "import Analyser.FitAnalyser as fa\n",
  441. "import numpy as np\n",
  442. "for angle in np.arange(0,180,30):\n",
  443. " print()\n",
  444. " print(angle)\n",
  445. " print(fa.density_profile_BEC_2d(0.5,0.2, rot_angle=angle))"
  446. ]
  447. },
  448. {
  449. "cell_type": "code",
  450. "execution_count": null,
  451. "metadata": {},
  452. "outputs": [],
  453. "source": [
  454. "x = dataSet_cropOD.x.data\n",
  455. "y = dataSet_cropOD.y.data\n",
  456. "\n",
  457. "X,Y = np.meshgrid(x,y)\n",
  458. "X_ = X.flatten()\n",
  459. "Y_ = Y.flatten()"
  460. ]
  461. },
  462. {
  463. "cell_type": "code",
  464. "execution_count": 15,
  465. "metadata": {},
  466. "outputs": [],
  467. "source": [
  468. "keys = ['amp_bec', 'amp_th','x0_bec','y0_bec','x0_th','y0_th','sigmax_bec','sigmay_bec','sigma_th','rot_angle']"
  469. ]
  470. },
  471. {
  472. "cell_type": "code",
  473. "execution_count": 16,
  474. "metadata": {},
  475. "outputs": [
  476. {
  477. "name": "stdout",
  478. "output_type": "stream",
  479. "text": [
  480. "{'amp_bec': 2.63233857911176, 'amp_th': 2.2068623923891248e-06, 'x0_bec': 409.00000000030843, 'y0_bec': 437.9999999999945, 'x0_th': 409.00151243134604, 'y0_th': 437.99999780448076, 'sigmax_bec': 69.91365732143392, 'sigmay_bec': 283.51382854536473, 'sigma_th': 65.90653264163306, 'rot_angle': -36.0}\n"
  481. ]
  482. }
  483. ],
  484. "source": [
  485. "res = fitAnalyser_1.get_fit_value(result)\n",
  486. "bval = {}\n",
  487. "for key in keys:\n",
  488. " bval[key] = float(res[key].data)\n",
  489. "print(bval)"
  490. ]
  491. },
  492. {
  493. "cell_type": "code",
  494. "execution_count": 29,
  495. "metadata": {},
  496. "outputs": [
  497. {
  498. "data": {
  499. "image/png": "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
  500. "text/plain": [
  501. "<Figure size 2000x400 with 5 Axes>"
  502. ]
  503. },
  504. "metadata": {},
  505. "output_type": "display_data"
  506. }
  507. ],
  508. "source": [
  509. "# fig, axs = plt.subplots(shape[0] , 5, figsize=(14, 4 * shape[0] ),dpi = 100)\n",
  510. "shape = [1]\n",
  511. "fig, axs = plt.subplots(shape[0] , 5, figsize=(20,4 * shape[0] ),dpi = 100)\n",
  512. "# fig.suptitle(f'{file}_{saveprefix}: ν = ({data_x.trap_f[0]}, {data_x.trap_f[1]}, {data_x.trap_f[2]}) Hz, T = {data_x.temp[0]*1e9:.0f}nK, tof = {data_x.tof * 1e3:.0f}ms, a = {data_x.a_fac :.0f}a$_0$, N = {data_x.N:.0e} ', y=-0.005*shape[0]+0.965, fontsize=24)\n",
  513. "# fig.suptitle('test', va='bottom')\n",
  514. "cropOD = data.to_numpy()\n",
  515. "for i in range(0,shape[0]):\n",
  516. "\n",
  517. " # axs[i,0].set_title(f'image {i}, cond. frac = {Fitmodel.cond_frac(result[i], X, Y) *1e2:.2f} %', loc='left', fontsize=18)\n",
  518. " man_fit = fa.density_profile_BEC_2d(X,Y, amp_bec=2.348, amp_th=0.4282, sigma_th=40.39, sigmax_bec=64, sigmay_bec=278, \n",
  519. " x0_bec=419,x0_th=419,y0_bec=428, y0_th=428, rot_angle=-36)\n",
  520. " \n",
  521. " # bval = result.best_values\n",
  522. " fit = fa.density_profile_BEC_2d(X,Y, **bval)\n",
  523. " vmax = np.max(cropOD)\n",
  524. " # vmax = 1\n",
  525. "\n",
  526. " if bval['amp_bec'] > bval['amp_th']:\n",
  527. " cen_str = 'bec'\n",
  528. " else:\n",
  529. " cen_str = 'th'\n",
  530. " cen_x = round(bval[f'x0_{cen_str}'])\n",
  531. " cen_y = round(bval[f'y0_{cen_str}'])\n",
  532. "\n",
  533. " ax = axs[0]\n",
  534. " ax.pcolormesh(X, Y, cropOD.T, vmin=0, vmax=vmax, cmap='jet', shading='auto')\n",
  535. " #plt.colorbar(art, ax=ax, label='z')\n",
  536. "\n",
  537. "\n",
  538. " # Plot gaussian 2d Fit + legend including Width parameters\n",
  539. " ax = axs[1]\n",
  540. "\n",
  541. " ax.pcolormesh(X, Y, fit, cmap='jet', shading='auto')\n",
  542. " #plt.colorbar(art, ax=ax, label='z')\n",
  543. "\n",
  544. " ax = axs[2]\n",
  545. "\n",
  546. " ax.pcolormesh(X, Y, fit-cropOD.T, vmin=0, vmax=0.2, cmap='jet', shading='auto')\n",
  547. "\n",
  548. " for i in range(0,2):\n",
  549. " axs[i].hlines(bval['y0_bec'], 0,900)\n",
  550. " axs[i].hlines(bval['y0_th'], 0,900)\n",
  551. "\n",
  552. " axs[i].vlines(bval['x0_bec'], 0,900)\n",
  553. " axs[i].vlines(bval['x0_th'], 0,900)\n",
  554. "\n",
  555. " axs[i].vlines(419, 0,900, color='red')\n",
  556. " axs[i].hlines(428, 0,900, color='red')\n",
  557. "\n",
  558. " ax = axs[3]\n",
  559. "\n",
  560. " ax.plot(x, cropOD.T[cen_y, :])\n",
  561. " ax.plot(x, fit[cen_y, :], label='bimodal')\n",
  562. " ax.plot(x, fa.thermal(x, bval['x0_th'], bval['amp_th'], bval['sigma_th']), label='thermal')\n",
  563. " ax.legend(fontsize=8)\n",
  564. "\n",
  565. " ax = axs[4]\n",
  566. "\n",
  567. " ax.plot(y, cropOD.T[:, cen_x])\n",
  568. " ax.plot(y, fit[:, cen_x], label='bimodal')\n",
  569. " ax.plot(y, fa.thermal(y, bval['y0_th'], bval['amp_th'], bval['sigma_th']), label='thermal')\n",
  570. " ax.legend(fontsize=8)\n",
  571. "\n",
  572. "\n",
  573. "t_fonts=20\n"
  574. ]
  575. },
  576. {
  577. "cell_type": "code",
  578. "execution_count": 28,
  579. "metadata": {},
  580. "outputs": [
  581. {
  582. "data": {
  583. "text/plain": [
  584. "2.527851655733842e-109"
  585. ]
  586. },
  587. "execution_count": 28,
  588. "metadata": {},
  589. "output_type": "execute_result"
  590. }
  591. ],
  592. "source": [
  593. "fit[300, 400]"
  594. ]
  595. },
  596. {
  597. "cell_type": "code",
  598. "execution_count": 27,
  599. "metadata": {},
  600. "outputs": [
  601. {
  602. "data": {
  603. "text/plain": [
  604. "array([[ 0, 1, 2, ..., 897, 898, 899],\n",
  605. " [ 0, 1, 2, ..., 897, 898, 899],\n",
  606. " [ 0, 1, 2, ..., 897, 898, 899],\n",
  607. " ...,\n",
  608. " [ 0, 1, 2, ..., 897, 898, 899],\n",
  609. " [ 0, 1, 2, ..., 897, 898, 899],\n",
  610. " [ 0, 1, 2, ..., 897, 898, 899]], dtype=int64)"
  611. ]
  612. },
  613. "execution_count": 27,
  614. "metadata": {},
  615. "output_type": "execute_result"
  616. }
  617. ],
  618. "source": [
  619. "X"
  620. ]
  621. },
  622. {
  623. "cell_type": "code",
  624. "execution_count": null,
  625. "metadata": {},
  626. "outputs": [],
  627. "source": []
  628. },
  629. {
  630. "cell_type": "code",
  631. "execution_count": null,
  632. "metadata": {},
  633. "outputs": [],
  634. "source": []
  635. },
  636. {
  637. "cell_type": "code",
  638. "execution_count": null,
  639. "metadata": {},
  640. "outputs": [],
  641. "source": []
  642. },
  643. {
  644. "cell_type": "code",
  645. "execution_count": null,
  646. "metadata": {},
  647. "outputs": [],
  648. "source": []
  649. },
  650. {
  651. "cell_type": "code",
  652. "execution_count": null,
  653. "metadata": {},
  654. "outputs": [],
  655. "source": []
  656. },
  657. {
  658. "cell_type": "code",
  659. "execution_count": null,
  660. "metadata": {},
  661. "outputs": [],
  662. "source": []
  663. },
  664. {
  665. "cell_type": "code",
  666. "execution_count": null,
  667. "metadata": {},
  668. "outputs": [],
  669. "source": []
  670. },
  671. {
  672. "cell_type": "code",
  673. "execution_count": null,
  674. "metadata": {},
  675. "outputs": [],
  676. "source": [
  677. "%matplotlib notebook\n",
  678. "shotNum = \"0024\"\n",
  679. "filePath = folderPath + \"/\" + shotNum + \"/*.h5\"\n",
  680. "\n",
  681. "dataSetDict = {\n",
  682. " dskey[groupList[i]]: read_hdf5_file(filePath, groupList[i], excludeAxis = ['sweep_start_freq', 'sweep_stop_freq'])\n",
  683. " for i in [0]\n",
  684. "}\n",
  685. "\n",
  686. "dataSet = dataSetDict[\"camera_0\"]\n",
  687. "\n",
  688. "print_scanAxis(dataSet)\n",
  689. "\n",
  690. "scanAxis = get_scanAxis(dataSet)\n",
  691. "\n",
  692. "dataSet = auto_rechunk(dataSet)\n",
  693. "\n",
  694. "dataSet = imageAnalyser.get_absorption_images(dataSet)\n",
  695. "\n",
  696. "imageAnalyser.center = (135, 990)\n",
  697. "imageAnalyser.span = (250, 250)\n",
  698. "imageAnalyser.fraction = (0.1, 0.1)\n",
  699. "\n",
  700. "dataSet_cropOD = imageAnalyser.crop_image(dataSet.OD)\n",
  701. "dataSet_cropOD = imageAnalyser.substract_offset(dataSet_cropOD).load()\n",
  702. "\n",
  703. "Ncount = imageAnalyser.get_Ncount(dataSet_cropOD)\n",
  704. "Ncount_mean = calculate_mean(Ncount)\n",
  705. "Ncount_std = calculate_std(Ncount)\n",
  706. "\n",
  707. "fig = plt.figure()\n",
  708. "ax = fig.gca()\n",
  709. "Ncount_mean.plot.errorbar(ax=ax, yerr = Ncount_std, fmt='ob')\n",
  710. "\n",
  711. "plt.ylabel('NCount')\n",
  712. "plt.tight_layout()\n",
  713. "#plt.ylim([0, 3500])\n",
  714. "plt.grid(visible=1)\n",
  715. "plt.show()"
  716. ]
  717. },
  718. {
  719. "cell_type": "code",
  720. "execution_count": null,
  721. "metadata": {
  722. "scrolled": false
  723. },
  724. "outputs": [],
  725. "source": [
  726. "l = list(np.arange(0.15, 0.25, 0.005))\n",
  727. "# l = np.logspace(np.log10(250e-6), np.log10(500e-3), num=15)\n",
  728. "\n",
  729. "l = [round(item, 7) for item in l]\n",
  730. "random.shuffle(l)\n",
  731. "\n",
  732. "print(l)\n",
  733. "print(len(l))\n",
  734. "np.mean(l)"
  735. ]
  736. },
  737. {
  738. "cell_type": "code",
  739. "execution_count": null,
  740. "metadata": {},
  741. "outputs": [],
  742. "source": [
  743. "[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]"
  744. ]
  745. },
  746. {
  747. "cell_type": "code",
  748. "execution_count": null,
  749. "metadata": {},
  750. "outputs": [],
  751. "source": [
  752. "pixel = 5.86e-6\n",
  753. "M = 0.6827\n",
  754. "F = (1/(0.3725*8.4743e-14)) * (pixel / M)**2\n",
  755. "NCount = 85000\n",
  756. "AtomNumber = NCount * F / 1e8\n",
  757. "print(AtomNumber)\n"
  758. ]
  759. },
  760. {
  761. "cell_type": "code",
  762. "execution_count": null,
  763. "metadata": {},
  764. "outputs": [],
  765. "source": [
  766. "muB = 9.274e-24\n",
  767. "hbar = 6.626e-34 / (2 * np.pi)\n",
  768. "gJ = 1.24\n",
  769. "Delta = 2 * np.pi * 100 * 1e3\n",
  770. "\n",
  771. "Bz = (Delta*hbar) / (muB*gJ)\n",
  772. "print(Bz * 1e4)"
  773. ]
  774. },
  775. {
  776. "attachments": {},
  777. "cell_type": "markdown",
  778. "metadata": {},
  779. "source": [
  780. "## ODT 1 Calibration"
  781. ]
  782. },
  783. {
  784. "cell_type": "code",
  785. "execution_count": null,
  786. "metadata": {},
  787. "outputs": [],
  788. "source": [
  789. "v_high = 2.7\n",
  790. "\"\"\"High Power\"\"\"\n",
  791. "P_arm1_high = 5.776 * v_high - 0.683\n",
  792. "\n",
  793. "v_mid = 0.2076\n",
  794. "\"\"\"Intermediate Power\"\"\"\n",
  795. "P_arm1_mid = 5.815 * v_mid - 0.03651\n",
  796. "\n",
  797. "v_low = 0.0587\n",
  798. "\"\"\"Low Power\"\"\"\n",
  799. "P_arm1_low = 5271 * v_low - 27.5\n",
  800. "\n",
  801. "print(round(P_arm1_high, 3))\n",
  802. "print(round(P_arm1_mid, 3))\n",
  803. "print(round(P_arm1_low, 3))"
  804. ]
  805. },
  806. {
  807. "attachments": {},
  808. "cell_type": "markdown",
  809. "metadata": {},
  810. "source": [
  811. "## ODT 2 Power Calibration"
  812. ]
  813. },
  814. {
  815. "cell_type": "code",
  816. "execution_count": null,
  817. "metadata": {},
  818. "outputs": [],
  819. "source": [
  820. "v = 0.7607\n",
  821. "P_arm2 = 2.302 * v - 0.06452\n",
  822. "print(round(P_arm2, 3))"
  823. ]
  824. }
  825. ],
  826. "metadata": {
  827. "kernelspec": {
  828. "display_name": "Python 3 (ipykernel)",
  829. "language": "python",
  830. "name": "python3"
  831. },
  832. "language_info": {
  833. "codemirror_mode": {
  834. "name": "ipython",
  835. "version": 3
  836. },
  837. "file_extension": ".py",
  838. "mimetype": "text/x-python",
  839. "name": "python",
  840. "nbconvert_exporter": "python",
  841. "pygments_lexer": "ipython3",
  842. "version": "3.9.13"
  843. },
  844. "vscode": {
  845. "interpreter": {
  846. "hash": "c05913ad4f24fdc6b2418069394dc5835b1981849b107c9ba6df693aafd66650"
  847. }
  848. }
  849. },
  850. "nbformat": 4,
  851. "nbformat_minor": 2
  852. }