mirror of
https://github.com/c-sooyoung/lemon-sandbox.git
synced 2026-11-16 04:07:59 +09:00
260723 code for treating all samples, also with roi cropping
This commit is contained in:
1 parent
dcfc9d8a8f
commit
5550bb0064
1 file changed
+747
@@ -0,0 +1,747 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "11108e19",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import os\n",
|
||||
"\n",
|
||||
"from tqdm.notebook import tqdm\n",
|
||||
"\n",
|
||||
"import numpy as np\n",
|
||||
"from matplotlib import pyplot as plt\n",
|
||||
"from scipy.io import loadmat\n",
|
||||
"from scipy.ndimage import gaussian_filter\n",
|
||||
"from scipy.optimize import curve_fit\n",
|
||||
"from scipy.special import erf\n",
|
||||
"# from scipy.stats import norm\n",
|
||||
"\n",
|
||||
"import kemstem"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "e3adee3c",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def calculate_R(raw_data, regressed):\n",
|
||||
" sse = np.sum(np.square(raw_data - regressed))\n",
|
||||
" sst = np.sum(np.square(raw_data - raw_data.mean()))\n",
|
||||
" return 1 - sse/sst\n",
|
||||
"\n",
|
||||
"def fit(f, xdata, ydata, plot=False, **kwargs):\n",
|
||||
" xdata = np.array(xdata).flatten()\n",
|
||||
" ydata = np.array(ydata).flatten()\n",
|
||||
" if plot:\n",
|
||||
" plt.plot(xdata, ydata, 'k.')\n",
|
||||
" if 'sigma' in kwargs:\n",
|
||||
" plt.errorbar(xdata, ydata, kwargs['sigma'], fmt='none', c='k')\n",
|
||||
" popt, pcov = curve_fit(f, xdata, ydata, **kwargs)\n",
|
||||
" perr = np.sqrt(np.diag(pcov))\n",
|
||||
" R = calculate_R(ydata, f(xdata, *popt))\n",
|
||||
" if plot:\n",
|
||||
" xlim, ylim = plt.xlim(), plt.ylim()\n",
|
||||
" plt.xlim(*xlim)\n",
|
||||
" plt.ylim(*ylim)\n",
|
||||
" x = np.linspace(*xlim, 100)\n",
|
||||
" plt.plot(x, f(x, *popt), 'r--')\n",
|
||||
" plt.show()\n",
|
||||
" return popt, perr, R"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"id": "89b917f7",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"results = {\n",
|
||||
" '2V': loadmat('./Si2V1-Niter1000.mat'),\n",
|
||||
" '5V': loadmat('./Si5V2-Niter1000.mat'),\n",
|
||||
" '8V': loadmat('./Si8V2-Niter1000.mat'),\n",
|
||||
"}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "8a9f200f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"DZ = {}\n",
|
||||
"recons = {}\n",
|
||||
"\n",
|
||||
"for key in results.keys():\n",
|
||||
" result = results[key]\n",
|
||||
" roi = result['p']['object_ROI'][0][0][0]\n",
|
||||
" roix = roi[0].T\n",
|
||||
" roiy = roi[1]\n",
|
||||
"\n",
|
||||
" DZ.update({key: result['outputs']['z_distance'].item().item()})\n",
|
||||
" recons.update({key: result['object'][roix, roiy]})"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "9db949e0",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"column_positions = {}\n",
|
||||
"\n",
|
||||
"for key in results.keys():\n",
|
||||
" recon = recons[key]\n",
|
||||
" image = np.angle(recon[:,:,recon.shape[-1] // 2])\n",
|
||||
" blurred_image = gaussian_filter(image, 1)\n",
|
||||
" distance = 2\n",
|
||||
" threshold = 0.5\n",
|
||||
" c0 = kemstem.find_columns(blurred_image, distance=distance, threshold=threshold)\n",
|
||||
"\n",
|
||||
" column_positions.update({key: c0})"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 15,
|
||||
"id": "93d22d50",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "1b9feef9fb2b408881559cd3f4430bb9",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
" 0%| | 0/1464 [00:00<?, ?it/s]"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "2eb5e771356d488891678143ebe69915",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
" 0%| | 0/1004 [00:00<?, ?it/s]"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "6e57669164d44636ac7b8cedfc5dff35",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
" 0%| | 0/937 [00:00<?, ?it/s]"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"WINDOW = 1\n",
|
||||
"\n",
|
||||
"column_lists = {}\n",
|
||||
"\n",
|
||||
"for key in results.keys():\n",
|
||||
"\n",
|
||||
" c0 = column_positions[key]\n",
|
||||
" recon = recons[key]\n",
|
||||
"\n",
|
||||
" column_list = []\n",
|
||||
" for i, (cx, cy) in enumerate(tqdm(c0)):\n",
|
||||
" wx_start, wx_end = cx-WINDOW, cx+WINDOW+1\n",
|
||||
" wy_start, wy_end = cy-WINDOW, cy+WINDOW+1\n",
|
||||
" column = np.angle(recon)[wx_start:wx_end, wy_start:wy_end, 1:].mean(axis=(0, 1))\n",
|
||||
" column_list.append(column)\n",
|
||||
"\n",
|
||||
" column_lists.update({key: column_list})"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "4925866a",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def double_erf(x, p0, p1, q, x0, x1):\n",
|
||||
" return p0 + p1 * (erf(q*(x - x0)) - erf(q*(x - x1)))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "35484b47",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "62a285a5",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "58f7012f541d4c95a157b0e3baadb1dd",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
" 0%| | 0/1464 [00:00<?, ?it/s]"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "513a59d835fb42c5b28d29b9d518a7ae",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
" 0%| | 0/1004 [00:00<?, ?it/s]"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "5a1030bbee5d4f4b84b65de67d110699",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
" 0%| | 0/937 [00:00<?, ?it/s]"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"crystalline_heights = {}\n",
|
||||
"safe_height_indices = {}\n",
|
||||
"\n",
|
||||
"for key in results.keys():\n",
|
||||
"\n",
|
||||
" columns = column_lists[key]\n",
|
||||
" dz = DZ[key]\n",
|
||||
"\n",
|
||||
" crystalline = []\n",
|
||||
"\n",
|
||||
" for column in tqdm(columns):\n",
|
||||
" popt, _, _ = fit(\n",
|
||||
" double_erf, np.arange(len(column)), column, plot=False,\n",
|
||||
" p0=[-0.03846732, 0.28181914, 0.30406586, 3.74047066, 12.6762897 ],\n",
|
||||
" # bounds=bounds,\n",
|
||||
" maxfev=10000\n",
|
||||
" )\n",
|
||||
" p0, p1, q, x0, x1 = popt\n",
|
||||
"\n",
|
||||
" crystalline.append((x1 - x0) * dz)\n",
|
||||
"\n",
|
||||
" crystalline_heights.update({key: np.array(crystalline)})"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 144,
|
||||
"id": "6af86cf4",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGdCAYAAAA44ojeAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAQDFJREFUeJzt3Xl8VNX9//H3ECCGGKYsmhhIEDAllLBoAC3QsgoKgfK1gopgtGCplk0hYAh+XSqJAqVWqBtgUSlFbY0lg1VQFqWxzRhAZVFAEXLFmK+KiUEMlNzfH/4yOmSbSW5mfT0fj/yRe8+9+cx5UOfdc88512aapikAAIAA0szfBQAAAJyLgAIAAAIOAQUAAAQcAgoAAAg4BBQAABBwCCgAACDgEFAAAEDAIaAAAICA09zfBTREZWWljh8/rpiYGNlsNn+XAwAAPGCapr7++mvFx8erWbO6x0iCMqAcP35cCQkJ/i4DAAA0QFFRkTp27Fhnm6AMKDExMZK++4CtW7f2czUAAASv1atXa+7cudWO22w27du3Tx06dLDsb5WVlSkhIcH1PV6XoAwoVY91WrduTUABAKARDh48WOPx6dOnq3v37k3yNz2ZnmELxpcFlpWVyW63q7S0lIACAEADGYahxMRE1RQFPHkM4y1vvr9ZxQMAQJg6dOhQjeFk3rx5locTbxFQAAAIU0lJSdUet9hsNs2ePdtPFX2PgAIAAAIOAQUAgDBV0yMe0zR1+PBhP1X0PQIKAABhKikpqdqGaREREbrkkkv8VNH3CCgAAISpjh076qGHHnKFlIiICD3xxBN+nyArNSCgvPHGGxo7dqzi4+Nls9n00ksvuZ0vLy/XjBkz1LFjR0VFRal79+567LHH3NpUVFRo5syZat++vaKjozVu3DgZhtGoDwIAALyzbNkyZWRkqLKyUpJ09uxZP1f0Pa8DysmTJ9W7d2+tXLmyxvN33HGHXnnlFa1bt04HDhzQHXfcoZkzZ+of//iHq82cOXOUm5urDRs2aOfOnSovL1daWlpAdQwAAKFs6dKlysjIqHZ8+vTpATFo0KiN2mw2m3JzczV+/HjXsZSUFF133XW6++67XcdSU1M1evRo/e53v1NpaakuuOACPfvss7ruuuskff9unZdfflmjRo2q9++yURsAAA1nGEad77Tbtm2bhgwZYvnf9etGbYMGDdLGjRv1ySefyDRNbdu2TQcPHnQFj8LCQp05c0YjR450XRMfH6+UlBTl5+dbXQ4AADhHXd+3NpstICbJWv4unkceeUS33nqrOnbsqObNm6tZs2ZavXq1Bg0aJEkqLi5Wy5Yt1aZNG7frYmNjVVxcXOM9KyoqVFFR4fq9rKzM6rIBAAgbX3zxRa3nFi5cGJyTZOvzyCOP6N///rc2btyowsJC/f73v9ftt9+u1157rc7rTNOs9eVBOTk5stvtrp+6hqUAAEDdfve739V4/IorrtADDzzg42pqZmlAOXXqlBYuXKjly5dr7Nix6tWrl2bMmKHrrrtOy5YtkyTFxcXp9OnTOnHihNu1JSUlio2NrfG+mZmZKi0tdf0UFRVZWTYAAGHB6XTKbrfr008/rfH8Cy+84OOKamdpQDlz5ozOnDlT46YvVUuYUlNT1aJFC23ZssV1/tNPP9XevXs1YMCAGu8bGRmp1q1bu/0AAADP3Xzzzerfv3+t0ySGDh0aEI92qng9B6W8vNxtC9wjR45oz549atu2rRITEzV48GBlZGQoKipKnTp10o4dO/TMM89o+fLlkiS73a6pU6dq7ty5ateundq2bat58+apZ8+eGjFihHWfDAAASPpu5OTpp5+us82dd97po2o84/Uy4+3bt2vo0KHVjqenp2vt2rUqLi5WZmamNm/erC+//FKdOnXSr3/9a91xxx2uOSbffvutMjIytH79ep06dUrDhw/Xo48+6vHcEpYZAwDguc6dO+vjjz+u9XxycrIOHDjQ5HV48/3dqH1Q/IWAAgCAZxwOh8aOHVvr+Q4dOvhsYza/7oMCAAACx+9///tazyUnJwfErrE1IaAAABCiDMPQ9u3bazx39913++SxTkMRUAAACFFXXXVVjce7dOmi+++/38fVeIeAAgBACBozZoz27dtX47kpU6b4uBrvEVAAAAgxTqdTL7/8cq3nx4wZ48NqGoaAAgBAiKnr8c0VV1yhfv36+bCahiGgAAAQQpYuXSqHw1Hr+UDazr4uBBQAAEKE0+nU/Pnzaz0/b968gNrOvi4EFAAAQsCaNWvUv3//OtvMnj3bR9U0HgEFAIAgZxiGpk2bVmebrKysoBk9kQgoAAAEvdr2O6kybNgwPfDAAz6qxhoEFAAAgljfvn1r3e9EklJTU/X666/7sCJrEFAAAAhChmEoLi5OhYWFtbbp2rWr3n77bR9WZR0CCgAAQWbZsmVKSEjQZ599VmubH//4xzp8+LAPq7IWAQUAgCCydOlSZWRk1NsuGB/r/FBzfxcAAADqZxiGVqxYoSVLltTbdunSpUG1YqcmBBQAAALcsmXLPBo1kaQlS5Zo3rx5TVxR0yOgAAAQwGbNmqUVK1bU2y42NlZvv/120I+cVCGgAAAQgAzD0NixY7Vnz55626ampgbtap3aMEkWAIAAYhiGrrnmGiUkJIRtOJEIKAAABIyq5cO5ubkete/Zs2dIhhOJgAIAgN85HA4lJyd7PBG2ffv2ysvL07vvvtvElfkPc1AAAPCj7t276/333/e4/bBhw4J+jxNPMIICAIAfGIahCy64wKtwsnDhwrAIJxIBBQAAn1u0aJESEhL0+eefe9T+8ssvV1FRkRYvXtzElQUOHvEAAOADTqdTjz/+uHJzc3XixAmPrunYsaNefPFF9evXr4mrCzwEFAAAmtjw4cO1detWr64ZPXq0Nm3a1EQVBT4e8QAA0EQcDofOP/98j8NJZGSkpk2bpoKCgrAOJxIjKAAAWM7pdCotLU0lJSUeX9OpUyd9/PHHTVdUkGEEBQAAC6Wlpal///5ehZMBAwYQTs5BQAEAwAKGYahbt25eP5pZuHCh/vWvfzVRVcGLRzwAADTSokWLvFoC3K1bN6Wnp2vKlCkh8/ZhqxFQAABoIKfTqYkTJ3r8eCYhIUH5+fmEEg/wiAcAAC85HA516NBB/fv39yictG7dWnl5eTp27BjhxEOMoAAA4CGHw6HJkyertLTU42tuueUWPfXUU01YVWgioAAAUIuq3V/379+v9957TydPnvTq+iVLlnj8hmK4I6AAAHAOp9OpSZMm6fDhww26/qqrrtKqVat4nNMIXs9BeeONNzR27FjFx8fLZrPppZdeqtbmwIEDGjdunOx2u2JiYnTFFVfo2LFjrvMVFRWaOXOm2rdvr+joaI0bN06GYTTqgwAA0FAOh0NXX321LrvsMrVr1079+/dvcDhZsmSJ/vnPfxJOGsnrEZSTJ0+qd+/euuWWW/TLX/6y2vkPP/xQgwYN0tSpU3XffffJbrfrwIEDOu+881xt5syZo7y8PG3YsEHt2rXT3LlzlZaWpsLCQkVERDTuEwEAUA/DMPTMM89oy5YtcjqdXj+6qcn48eO1YsUKgolFbKZpmg2+2GZTbm6uxo8f7zp2/fXXq0WLFnr22WdrvKa0tFQXXHCBnn32WV133XWSpOPHjyshIUEvv/yyRo0aVe/fLSsrk91uV2lpqVq3bt3Q8gEAYaQqlDzzzDP64IMPLLlnTEyMMjMz2c/EQ958f1s6B6WyslKbNm3S/PnzNWrUKO3evVudO3dWZmamK8QUFhbqzJkzGjlypOu6+Ph4paSkKD8/v8aAUlFRoYqKCtfvZWVlVpYNAAhBPxwl+eijj9ymGjSW3W7XunXrlJaWZtk94c7SfVBKSkpUXl6uBx98UFdddZU2b96s//mf/9E111yjHTt2SJKKi4vVsmVLtWnTxu3a2NhYFRcX13jfnJwc2e12109CQoKVZQMAQohhGLrmmmuUkJCgrKwsbd++3ZJwkpiYqNGjRysvL09fffUV4aSJWT6CIkm/+MUvdMcdd0iS+vTpo/z8fD3++OMaPHhwrdeapimbzVbjuczMTN15552u38vKyggpAAA3TqdTd955p3bu3GnpfZlb4h+WBpT27durefPm+slPfuJ2vHv37q5/MHFxcTp9+rROnDjhNopSUlKiAQMG1HjfyMhIRUZGWlkqACAEVD3GeeSRR/TZZ581+n5RUVHq3r277Ha7rrzySuaW+JGlAaVly5bq169ftclHBw8eVKdOnSRJqampatGihbZs2aKJEydKkj799FPt3btXS5YssbIcAEAIsnqya2JiolJSUnTbbbfx2CaAeB1QysvL3daGHzlyRHv27FHbtm2VmJiojIwMXXfddfr5z3+uoUOH6pVXXlFeXp62b98u6buJRVOnTtXcuXPVrl07tW3bVvPmzVPPnj01YsQIyz4YACC0OBwOZWZmau/evY2+V2xsrGbPns0ISQDzepnx9u3bNXTo0GrH09PTtXbtWknSU089pZycHBmGoW7duum+++7TL37xC1fbb7/9VhkZGVq/fr1OnTql4cOH69FHH/V4XgnLjAEg9P1wm/m9e/eqvLy8wfdq06aNkpOT1aNHD/36179Wv379LKwUnvLm+7tR+6D4CwEFAELb8OHDtXXr1kbfp2vXrvrrX/9KIAkQ3nx/W7rMGACAhjIMQ9nZ2YqOjm50OBk4cKAKCgp0+PBhwkmQ4mWBAAC/MgxDs2bNUm5ubqPuw7yS0EJAAQD4zaJFi7R48eIGX9++fXuNHz+eeSUhiIACAPCpqsmvubm5OnHihNfXE0rCAwEFAOATDodD06dP1/Hjx72+tkuXLho2bBihJIwQUAAATcrhcGjy5MkqLS31+tqEhATl5+czpyQMEVAAAJb64VuEnU6nTp486fU94uPj9cQTT7CzaxgjoAAAGuyHYaS0tFRffPFFo94cfPHFF+v555/nMQ4Line truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"245.0 55.8145049307754\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"281.0 89.54863642387284\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGeCAYAAAC+dvpwAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOFRJREFUeJzt3X10VNW9//HP8BSRQi4BmxgZBG+wUkDKpYEKWVUhBUsmiJYHadToBYRrTUAhEDKxtQgBk9TWQH2CWBDDRaHES8BLDaAg5EoGuFh5uBUsYI6Sxfqt0gQQA4Xz+8Myy8jMZCaZmczD+7XW+SNn7zP5xiNrPmufvfexmKZpCgAAIIS0ae0CAAAAvo2AAgAAQg4BBQAAhBwCCgAACDkEFAAAEHIIKAAAIOQQUAAAQMghoAAAgJBDQAEAACGnXWsX0BxXrlzRF198oc6dO8tisbR2OQAAwAumaers2bNKTExUmzZNjJGYPtqxY4dps9nMG2+80ZRklpeXN2o/e/as+Ytf/MK86aabzOuuu8687bbbzBdffLFRn6+++sp84oknzG7dupnXX3+9mZ6ebtbU1HhdQ01NjSmJg4ODg4ODIwwPb77zfR5BOX/+vAYOHKhHH31UP/vZz65pf/LJJ/Xee+/pjTfeUK9evfTuu+/q8ccfV2Jiou69915J0qxZs1RRUaG1a9eqW7dumj17tmw2m/bt26e2bds2WUPnzp0lSTU1NerSpYuvfwIAAPinBQsW6De/+Y3LtmeffVbZ2dl++1319fWyWq3O73FPLKbZ/JcFWiwWlZeXa9y4cc5z/fv316RJk/T00087zw0ePFhjxozRs88+q7q6Ot1www1avXq1Jk2aJEn64osvZLVa9c4772j06NFN/t76+nrFxsaqrq6OgAIAQDMZhiGr1eqybfr06Xr55Zf9+vt8+f72+yTZlJQUbdy4UZ9//rlM09R7772nTz75xBk89u3bp0uXLmnUqFHOaxITE9W/f39VVVW5/MyGhgbV19c3OgAAQMtkZGS4PG+xWJSfnx/kahrze0ApKSnR97//ffXo0UMdOnTQPffcoxdffFEpKSmSpNraWnXo0EFdu3ZtdF18fLxqa2tdfubixYsVGxvrPNylPQAA4B2Hw6GdO3e6bJs+fbp69OgR5IoaC0hA+fDDD7Vx40bt27dPv/nNb/T4449r69atHq8zTdPtipz58+errq7OedTU1Pi7bAAAosrDDz/sts1utwexEtf8usz4woULysvLU3l5udLS0iRJt99+uw4cOKDi4mKlpqYqISFBFy9e1JkzZxqNopw+fVrDhg1z+bkxMTGKiYnxZ6kAAESt4cOH6//+7/9cttnt9lYfPZH8PIJy6dIlXbp06Zq1zW3bttWVK1ckfT1htn379qqsrHS2nzp1SgcPHnQbUAAAgH+MHDnS7ZzPgQMHauHChUGuyDWfR1DOnTunY8eOOX8+fvy4Dhw4oLi4OPXs2VN33nmncnJy1LFjR918883asWOHXn/9dT3//POSpNjYWE2ZMkWzZ89Wt27dFBcXpzlz5mjAgAFKTU31318GAAAasdvt2r59u9v25cuXB7Eaz3xeZvz+++/r7rvvvuZ8ZmamVq5cqdraWs2fP1/vvvuu/va3v+nmm2/WY489pieffNI5x+Srr75STk6O1qxZowsXLmjkyJF68cUXvZ78yjJjAAB842lJsSSlpaVp06ZNAa3Bl+/vFu2D0loIKAAAeM8wDI0aNUpHjhxx2T5s2DDt3r074HW06j4oAAAgdBQXF8tqtboNJ4MGDQpKOPFVWL4sEAAANC07O1tLly712Gfjxo1BqsY3BBQAACKQzWbT5s2bPfYJlSXFrvCIBwCACGO325sMJ2lpaSGzpNgVAgoAABHEMAwVFBR47JOVlRXwFTstRUABACCC5Obmemy32+0qKSkJUjXNxxwUAAAiRH5+vsrKyty2FxYWKicnJ4gVNR8BBQCACFBUVKRFixa5ba+urlZycnIQK2oZHvEAABDmDMPQ3Llz3bbPmDEjrMKJREABACCsORyOJl+2a7fbg1SN//CIBwCAMOXNXidFRUUhu9eJJwQUAADC0MiRIz2+mVj6euRkzpw5QarIv3jEAwBAmLHb7U2Gk6ysrJDeiK0pBBQAAMKIw+FociO2tLS0sNjrxBMCCgAAYaK0tFRDhgzx2CcvLy/kd4n1BnNQAAAIAw6HQ1OnTnXbnpSUpPfeey8sJ8S6QkABACBEORwOVVRUyOFwaMuWLR77RlI4kQgoAACEJG+WEF9lt9sjKpxIBBQAAELO8OHDVVVV5VXftLS0sF6t4w6TZAEACAEOh0OzZs3SjTfe6HU4efTRRyNiQqwrjKAAANCKDMPQ+PHjtWfPHp+uS0tL02uvvRagqlofIygAALQCwzA0Y8YMWa1Wn8NJpCwl9oQRFAAAgsgwDOXm5qqsrMzra3r37q1x48bp1ltvlc1mi7gJsa4QUAAACJLS0lKPe5m4MmzYMO3evTtAFYUuHvEAABAEhmH4HE7GjBkTleFEYgQFAICgyM3N9apfjx49NGHCBE2ePFnJyckBrip0EVAAAAiwoqIir+ac5OXladGiRUGoKPTxiAcAgAAyDENz58712Gf69OmqqakhnHwDIygAAATQ0aNH3balpKToP//zP6NiVY6vGEEBACCAiouL3bYRTtwjoAAAECArV67UO++847Jtzpw5hBMPeMQDAICfGYahBx98UDt27HDbZ+bMmUGsKPwwggIAgB+VlpbKarV6DCd2u53RkyYwggIAgB8YhqHXX39ddrvdY7+BAwdq4cKFQaoqfBFQAABoIV+2sF++fHmAq4kMPOIBAKAFfNnCPjMzM6p3h/UFAQUAgGYyDEN33XVXk/1SUlJUXV2tlStXBrymSEFAAQCgGYqLi2W1WvXpp5967JeVlaUPPviAkRMfEVAAAPBRUVGRcnJymuw3fvx4lZSUBKGiyENAAQDABw6Ho8l36yQnJ6u6ulrr1q0LUlWRh4ACAICXSktLNWTIEI99RowYoerqah7ptBABBQAALxiGoWnTpnnsM2LECG3bti1IFUU2AgoAAF44evSoTNN0256VlUU48SMCCgAAXti6davbNrvdzmRYPyOgAADQBMMwtHjxYpdt06dPZ+v6ACCgAADQhBdeeMHl4x2LxaL8/PxWqCjyEVAAAPDAMAwVFxe7bMvLy+OtxAFCQAEAwANPj29SU1ODWEl0IaAAAOBGdna2XnnlFZdtbdq0UVJSUpArih7tWrsAAABC0ciRI7V9+3a37U899RSPdwKIgAIAwD85HA5VVFSorKxMf/3rX932s1gsmjlzZhAriz4EFAAAJE2cONHrd+cUFhYyehJgzEEBAEQ9u93udTix2+2aM2dOgCsCIygAgKhmGIYKCgq86ltYWKicnJwAVwSJgAIAiHJHjx5tsk+/fv20ZcsWHusEEY94AABR7eTJkx7bx4wZo4MHDxJOgoyAAgCIWjabTY8++qjLtszMTFVXV2vz5s1BrgoSj3gAAFFq+PDhqqqqctnWpk0bLVy4kFGTVsQICgAgqjgcDvXu3dttOJGkCRMmEE5aGQEFABA1HnnkEQ0ZMkQnTpzw2G/27NnBKQhuEVAAAFFh06ZNWrVqVZP9MjMzlZycHISK4InPAWXnzp1KT09XYmKiLBaL3n777Wv6HDlyRGPHjlVsbKw6d+6sH/3oR/rss8+c7Q0NDcrKylL37t3VqVMnjR07VoZhtOgPAQDAndLSUqWnp3vs06tXL1VXV2vlypXBKQoe+RxQzp8/r4EDB2rZsmUu2z/99FOlpKTotttu0/vvv6+PPvpITz/9tK677jpnn1mzZqm8vFxr167Vrl27dO7cOdlsNl2+fLn5fwkAAC44HA5NnTrVY59hw4bp+PHjjJyEEItpmmazL7ZYVF5ernHjxjnPPfDAA2rfvr1Wr17t8pq6ujrdcMMNWr16tSZNmiRJ+uKLL2S1WvXOO+9o9OjRTf7e+vp6xcbGqq6uTl26dGlu+QCACFdcXNzkzq9jxoxhKXGQ+PL97dc5KFeuXNHmzZt16623avTo0frud7+roUOHNnoMtG/fPl26dEmjRo1ynktMTFT//v09zqgGAMBbhmHo/vvvbzKcVFRUEE5ClF8DyunTp3Xu3DktWbJE99xzj959913dd999uv/++7Vjxw5JUm1trTp06KCuXbs2ujY+Pl61tbUuP7ehoUH19fWNDgAAXMnPz5fValV5ebnHfkVFRbLZbEGqCr7y60ZtV65ckSTde++9evLJJyVJP/jBD1RVVaWXX35Zd955p9trTdOUxWJx2bZ48WL9+te/9mepAIAIYhiGqqqqtGDBAh06dKjJ/llZWbyROMT5dQSle/fuateunb7//e83Ot+3b1/nKp6EhARdvHhRZ86cadTn9OnTio+Pd/m58+fPV11dnfOoqanxZ9kAgDBWWlqqnj17atKkSV6Fk7S0NJWUlAShMrSEXwNKhw4dlJycrL/85S+Nzn/yySe6+eabJUmDBw9W+/btVVlZ6Ww/deqUDh48qGHDhrn83JiYGHXp0qXRAQDA1RU63q73yMrK0qZNmwJcFfzB50c8586d07Fjx5w/Hz9+XAcOHFBcXJx69uypnJwcTZo0ST/+8Y919913a8uWLaqoqND7778vSYqNjdWUKVM0e/ZsdevWTXFxcZozZ44GDBig1NRUv/1hAIDIlp+fr0WLFnndv7CwsMlJswghpo/ee+89U9I1R2ZmprNPaWmpmZSUZF533XXmwIEDzbfffrvRZ1y4cMF84oknzLi4OLNjx46mzWYzP/vsM69rqKurMyWZdXV1vpYPAAhT1dXV5syZM81JkyaZPXr0cPld5OrIyMgwa2pqWrt8mL59f7doH5TWwj4oABBdHnnkEa+2qf+moUOHav369bz0L4S02j4oAAD4k2EYmjdvnk/hJCUlRdXLine truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"336.0 99.64506469888937\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"for key in results.keys():\n",
|
||||
" crystalline = crystalline_heights[key]\n",
|
||||
" sorted_heights = np.sort(crystalline)\n",
|
||||
"\n",
|
||||
" ymin = sorted_heights[1 * len(sorted_heights) // 20]\n",
|
||||
" ymax = sorted_heights[19 * len(sorted_heights) // 20]\n",
|
||||
"\n",
|
||||
" plt.plot(sorted_heights, 'k.')\n",
|
||||
" xlim = plt.xlim(0, len(crystalline))\n",
|
||||
" ylim = plt.ylim(ymin, ymax)\n",
|
||||
" plt.show()\n",
|
||||
" safe_height_index = np.where(\n",
|
||||
" (crystalline > ymin) & (crystalline < ymax)\n",
|
||||
" )\n",
|
||||
" safe_height_indices.update({key: safe_height_index})\n",
|
||||
"\n",
|
||||
" total_thickness = recons[key].shape[-1] * DZ[key]\n",
|
||||
"\n",
|
||||
" print(total_thickness, (total_thickness - np.median(crystalline)) / 2)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 145,
|
||||
"id": "8cfc6801",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"2V\n",
|
||||
"(573, 573)\n",
|
||||
"[71, 214, 358, 501]\n",
|
||||
"5V\n",
|
||||
"(580, 580)\n",
|
||||
"[72, 217, 362, 507]\n",
|
||||
"8V\n",
|
||||
"(581, 581)\n",
|
||||
"[72, 217, 363, 508]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"for key, recon in recons.items():\n",
|
||||
" print(key)\n",
|
||||
" print(recon.shape[:-1])\n",
|
||||
" print([(recon.shape[0] * i) // 8 for i in [1, 3, 5, 7]])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 146,
|
||||
"id": "9f30bf4b",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 2 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 2 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 2 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"thickness_rois = {\n",
|
||||
" '2V': [[214, 358], [214, 358]],\n",
|
||||
" '5V': [[217, 362], [ 72, 217]],\n",
|
||||
" '8V': [[217, 363], [ 72, 217]]\n",
|
||||
"}\n",
|
||||
"for key in results.keys():\n",
|
||||
"\n",
|
||||
" recon = recons[key]\n",
|
||||
" heights = crystalline_heights[key]\n",
|
||||
" c0 = column_positions[key]\n",
|
||||
" idx = safe_height_indices[key]\n",
|
||||
" dz = DZ[key]\n",
|
||||
"\n",
|
||||
" plt.imshow(np.angle(recon).sum(axis=-1), cmap='gray')\n",
|
||||
" # plt.axis('off')\n",
|
||||
" plt.scatter(\n",
|
||||
" c0[:, 1][idx], c0[:, 0][idx], c=np.array(heights[idx]), s=8, cmap='magma_r',\n",
|
||||
" )\n",
|
||||
" cbar = plt.colorbar()\n",
|
||||
"\n",
|
||||
" (x0, x1), (y0, y1) = thickness_rois[key]\n",
|
||||
" plt.plot([x0, x0, x1, x1, x0], [y0, y1, y1, y0, y0], lw=3)\n",
|
||||
"\n",
|
||||
" plt.show()\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 147,
|
||||
"id": "8f03ee83",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"roi_indices = {}\n",
|
||||
"\n",
|
||||
"for key in results.keys():\n",
|
||||
" c0 = column_positions[key]\n",
|
||||
" indices = []\n",
|
||||
" (x0, x1), (y0, y1) = thickness_rois[key]\n",
|
||||
" idx = np.where(\n",
|
||||
" (c0[:,0] >= y0) & (c0[:,0] <= y1) & (c0[:,1] >= x0) & (c0[:,1] <= x1) \n",
|
||||
" )\n",
|
||||
" indices.append(idx)\n",
|
||||
" roi_indices.update({key: indices})"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 148,
|
||||
"id": "45bba998",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"roi_crystalline_height_means = {}\n",
|
||||
"roi_crystalline_height_stds = {}\n",
|
||||
"roi_amorphous_height_means = {}\n",
|
||||
"roi_amorphous_height_stds = {}\n",
|
||||
"\n",
|
||||
"for key in results.keys():\n",
|
||||
"\n",
|
||||
" safe_idx = safe_height_indices[key]\n",
|
||||
" roi_idx = roi_indices[key]\n",
|
||||
" total_thickness = recons[key].shape[-1] * DZ[key]\n",
|
||||
"\n",
|
||||
" idx = np.intersect1d(safe_idx, roi_idx)\n",
|
||||
"\n",
|
||||
" height = crystalline_heights[key]\n",
|
||||
"\n",
|
||||
" crystalline_mean = height[idx].mean()\n",
|
||||
" crystalline_std = height[idx].std()\n",
|
||||
" amorphous_mean = (total_thickness - crystalline_mean) / 2\n",
|
||||
" amorphous_std = crystalline_std / 2\n",
|
||||
"\n",
|
||||
" roi_crystalline_height_means.update({key: crystalline_mean})\n",
|
||||
" roi_crystalline_height_stds.update({key: crystalline_std})\n",
|
||||
" roi_amorphous_height_means.update({key: amorphous_mean})\n",
|
||||
" roi_amorphous_height_stds.update({key: amorphous_std})"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 158,
|
||||
"id": "ddbd2457",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"array([ 4, 16, 61, 72, 75, 77, 84, 92, 103, 119, 123,\n",
|
||||
" 142, 157, 173, 174, 185, 202, 209, 240, 245, 253, 259,\n",
|
||||
" 273, 302, 314, 323, 325, 328, 330, 333, 359, 369, 385,\n",
|
||||
" 391, 396, 418, 448, 487, 494, 515, 518, 528, 539, 554,\n",
|
||||
" 556, 560, 594, 601, 602, 607, 616, 631, 657, 668, 693,\n",
|
||||
" 706, 722, 741, 747, 782, 787, 793, 801, 814, 831, 841,\n",
|
||||
" 854, 861, 865, 873, 877, 896, 910, 921, 926, 929, 942,\n",
|
||||
" 945, 952, 977, 981, 990, 1006, 1010, 1011, 1013, 1019, 1060,\n",
|
||||
" 1076, 1081, 1096, 1102, 1121, 1135, 1177, 1185, 1212, 1224, 1235,\n",
|
||||
" 1244, 1275, 1291])"
|
||||
]
|
||||
},
|
||||
"execution_count": 158,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"roi_indices['2V'][0][0]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 161,
|
||||
"id": "d0926668",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"2V\n",
|
||||
"Crystalline thickness: 136.780 ± 21.382\n",
|
||||
"Amorphous thickness: 54.110 ± 10.691\n",
|
||||
"(# of counted columns = 85/102)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"5V\n",
|
||||
"Crystalline thickness: 103.381 ± 18.827\n",
|
||||
"Amorphous thickness: 88.810 ± 9.414\n",
|
||||
"(# of counted columns = 105/106)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"8V\n",
|
||||
"Crystalline thickness: 141.043 ± 19.590\n",
|
||||
"Amorphous thickness: 97.479 ± 9.795\n",
|
||||
"(# of counted columns = 110/118)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"for key in results.keys():\n",
|
||||
"\n",
|
||||
" recon = recons[key]\n",
|
||||
" heights = crystalline_heights[key]\n",
|
||||
" c0 = column_positions[key]\n",
|
||||
"\n",
|
||||
" crystalline_mean = roi_crystalline_height_means[key]\n",
|
||||
" crystalline_std = roi_crystalline_height_stds[key]\n",
|
||||
" amorphous_mean = roi_amorphous_height_means[key]\n",
|
||||
" amorphous_std = roi_amorphous_height_stds[key]\n",
|
||||
"\n",
|
||||
"\n",
|
||||
" safe_idx = safe_height_indices[key]\n",
|
||||
" roi_idx = roi_indices[key]\n",
|
||||
" idx = np.intersect1d(safe_idx, roi_idx)\n",
|
||||
"\n",
|
||||
" print(key)\n",
|
||||
" print(f\"Crystalline thickness: {crystalline_mean:.3f} ± {crystalline_std:.3f}\")\n",
|
||||
" print(f\"Amorphous thickness: {amorphous_mean:.3f} ± {amorphous_std:.3f}\")\n",
|
||||
" print(f\"(# of counted columns = {len(idx)}/{len(roi_idx[0][0])})\")\n",
|
||||
"\n",
|
||||
" (x0, x1), (y0, y1) = thickness_rois[key]\n",
|
||||
" plt.imshow(np.angle(recon).sum(axis=-1), cmap='gray')\n",
|
||||
" plt.plot([x0, x0, x1, x1, x0], [y0, y1, y1, y0, y0], lw=3)\n",
|
||||
"\n",
|
||||
" # plt.axis('off')\n",
|
||||
" plt.scatter(\n",
|
||||
" c0[:, 1][idx], c0[:, 0][idx], c=np.array(heights)[idx], s=8, cmap='magma_r',\n",
|
||||
" vmin=heights[safe_idx].min(),\n",
|
||||
" vmax=heights[safe_idx].max()\n",
|
||||
" )\n",
|
||||
" # cbar = plt.colorbar()\n",
|
||||
" plt.show()\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "0d23f0b2",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "d59fd141",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAakAAAGiCAYAAABd6zmYAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs/WmMXFl6Hgw+se9L7iuZC5nckzuLRRZZLJK1d/Wm/mADNvTphwHLEOCBIHs81icMRjIGats/LGMk2BgPPJAhwWPJkFVSV1dV18KlWMUii0yuycwkc98zIpfI2Pe48yP4vPHeILu7NJ8+d5cmD5DILe69557zrs+7HIthGAa2xtbYGltja2yNX8Jh/UVPYGtsja2xNbbG1vhpY0tJbY2tsTW2xtb4pR1bSmprbI2tsTW2xi/t2FJSW2NrbI2tsTV+aceWktoaW2NrbI2t8Us7tpTU1tgaW2NrbI1f2rGlpLbG1tgaW2Nr/NKOLSW1NbbG1tgaW+OXdmwpqa2xNbbG1tgav7RjS0ltja2xNbbG1vilHb9QJfUf/sN/QF9fH9xuN44dO4Zr1679IqezNbbG1tgaW+OXbPzClNSf/dmf4Td/8zfxO7/zO7h79y7Onj2Lt956C3Nzc7+oKW2NrbE1tsbW+CUbll9Ug9mTJ0/i6NGj+I//8T/K3/bu3Yvvfe97+OEPf/iLmNLW2BpbY2tsjV+yYf9FPLRQKGBoaAj/8l/+S9PfX3/9dVy/fv2Zz+fzeeTzefm9UqlgY2MDTU1NsFgs/4fPd2tsja2xNbbG3+4wDAPJZBKdnZ2wWn86qPcLUVJra2sol8toa2sz/b2trQ0rKyvPfP6HP/whfu/3fu9/1vS2xtbYGltja/xPGvPz8+ju7v6p//+FKCmOei/IMIzneka//du/jd/6rd+S3+PxOLZv344/+IM/wCuvvIIbN27gL/7iLzAzM4NsNot0Og2HwwGHw4FisYhSqST3drlc6OrqwltvvYVf+ZVfQSaTwZ/8yZ/g2rVrSKVSSKfTKJVKsFqtKBaLKJfLsNvtsNvtcDqdCIVCOHfuHH7t134NLpcL//2//3d8/PHH2NjYQCKRAABYrVZUKhV5p0qlAo/HA5/Ph507d+JXf/VXcejQIVy+fBk/+tGPsLCwgFwuh1QqJZ/P5XIAAJfLBY/HA7/fj+3bt+Ptt9/G+fPnMTIygj/90z/FxMQEMpkMMpmMrF2pVJKfnU4nAoEAwuEwLly4gO985ztIpVL48z//c3z55ZeIx+NyrdPplHUyDAOGYcDj8SAQCODAgQP4h//wH6KzsxM//vGP8cEHH2B1dRXxeBz5fB5utxs2mw2lUgnlclme7ff7sXv3bnz/+9/HCy+8gNu3b+Mv//IvMTU1hUwmg1QqhUqlApvNBqvVilKphFKpBJ/Ph1AohLa2Nrz55pu4cOEC5ufn8Wd/9md49OgR0uk0stksrFYrrFYrCoUCyuUyDMOAy+WC3+9HMBjECy+8gO985zuw2+34q7/6K1y7dk2urVQqsNvtsta05oLBIFwuF7q7u/GDH/wA+/btw2effYb3338fS0tLyGazMAwDDodDnsk5OJ1OeDwetLa24uLFi7hw4QKmpqbw7rvvYm5uDoVCAblcTva5WCwKnVmtVpn3qVOn8N3vfhd2ux1//dd/jdu3byOVSiEej6NSqcBisaBUKsl+F4tFuXb79u34/ve/j7179+LWrVt47733sLi4KLRtsVjkmdxrrndjYyNeeuklnDt3DouLi/jwww8xOjqKbDYr1xqGgXK5jEqlInPxer1wu90YHBzEO++8g1AohI8++gi3bt0SGimVSnA4HMIXNpsNdrsdDocDFosF7e3teOWVV7Bnzx6Mjo7i0qVLiEajyOfzwhu8nu/u8/ngcrkQCARw5swZvPDCC1haWsKVK1cwPz+PTCaDRCIhc61UKjAMA6VSCW63G4FAAG63G3v37sVbb70Ft9uNS5cuYWhoCIlEAplMBpVKRebIfdPXb9++HefOncOePXtw9+5dfPzxx4hEIiiXy/LOVqtV1psyhdcfOXIEL7zwAjY3N/Hpp59ifHxc1pt8QdrkOzidTjgcDvT19eGVV16B1+vFl19+iQcPHqBQKKBYLAKA0LdhGLDb7XK9y+VCS0sLTp48if7+foyPj2NoaAixWAzZbBbZbFbkHvea++V2uxEKhbB//34cPnwYiUQC169fF/ouFAoyd75voVCAw+FAIBBAMBhEX18fdu7ciX/zb/4NAoHAz9QTvxAl1dzcDJvN9ozXFI1Gn/GugKqgdrlcz/w9mUxicXER0WhUNq5cLsui5vN5VCoVIQ673Q6PxwO3241yuWxiHhIfhTsJkdeRmVwuFyqVCpLJpGyIxWKB1WqF0+lEsViUazm4WVarFXa7HaVSCdlsFrlcToQcn83na+IkcZAwKRSdTifsdrvcm/MmQfE6Xut0OmGz2QBA3stms8mzea1mCpvNJs/ll9vthtPphNVqFaFhs9lEePF3Pt/n88Hr9cLlcsHhcMBms8kecc4Wi0Wu4fsBgMPhgM/nQzAYRCAQgNPpNF1TKpVkj7kWWkF7vV74fD5RwtxHGi+cA/fGZrPB4XDItX6/H16vFw6Hw/R/rhPvwfXUzwgGg2hsbEQ0GjWtOwBRxvXCnnMJBALo6OiAzWZDMBgUZtf7zHXiO5NW/H4/urq6sG3bNoyNjcmzaTwZhoFCoQDDMEzztdvtCAQC6Orqwo4dOwAAXq9XngHANF+gpmysVis8Hg/a29vR398vApj3zefzYvhwkO6BqjBtaGjA9u3bsW3bNqyursLn88HhcIjRSEOE8+F3Cs7W1lb09vbCarXKmnHN9dpyDfl3u92OxsZG7N69G263Gw8fPoTH4xHjjfMmr+p9ttvtCIfD6Onpwe7du7G+vg6/3y9okZYjfE/Sl9vtRjgcxp49e3Ds2DEsLi7i/v37WFhYkH3iKBaLMg/SYDAYRE9PD1588UX4fD4sLy9jampKDL98Pi/ykPRjsViEh9vb23Hs2DEcOnQIHo8HCwsLzxgipFMqW8qRYDCIPXv24Pz581hdXcXU1BQikYjQFuUgFSNlBY3u7u5unDx50sQTP238QpSU0+nEsWPH8PHHH+P73/++/P3jjz/Gd7/73a99n6GhIczOzmJ1dRXJZFIsSsMwUCwWkc1mZVM0E5dKJYyPjwsRLS0toVwuP1dwkcE10SwtLeGDDz6AYRgYHx8XZcPPcHMpREhctGpu3ryJ0dFRzMzMIJPJyMaSAflZAKb/5XI5PHz4EOvr6+LFkNHJsPwsBTbnZBgGZmdn8dFHHyGTyYiBoJUVP8/Be1YqFUSjUVy+fBmNjY2YmpoCAJN1yfcvl8sitCgE4vE4bt++jeXlZSwtLSGdTqNSqYigBCCCiNfSAMhmsxgdHUWhUMD6+jrW19fFEqbQ4N4BEMuPyjIajeKLL76AYRhYWlqSvdTrwnXQQs1msyGfz+POnTuYnJzEyMgIksmkPJtGSLFYFOWq169cLmNychKXL19GJBJBKpWS9yQDc3/5PBoDpLEvvvgCVqtV6JNffOd8Pv+MYrbZbCgUChgeHsbq6ipGRkbkcxwasaDQ5u/FYhFzc3O4efMmVlZWkEwmRbnpd62/D2k9kUjg4cOHsFqtWF1dNcUauEbkUe4Vr83lcoIMEBXRyph0QQONfF4qlZDP5zE9PQ2Px4O1tTVsbGzIWpMWNMKh9xoAYrEYHjx4ALvdjpWVFbmO15LPSDPasMzlcpienkapVMLk5CQKhYJpjfiOHNxv/n9tbQ2PHz9GNBpFOp2WvaIMoaDXPMlrM5kM5ubm4HK5kEwm4XK5kM/nkUwmxeO32WxwuVyw2+2m/S6VStjY2MDi4iLi8bgoPxqSXFs9NK1ns1msr69jc3MThULBNEdNM9pA1LS7ubmJrzN+YXDfb/3Wb+FXf/VXcfz4cZw6dQr/6T/9J8zNzeGf/JN/8rXvEYvFUKlUkMlkRFCl02kAECKgBUBhWiwWkclksLa2JouaTqdNAl3/TCLVMEUymcTk5CTK5bIwQ6FQkOQOTcja8gWqSSNMs4/H4yJcSQz1AURtaZZKJSwtLWF9fR3pdBr5fF7mqgUV318Tc6FQwPLyMtLpNIrFIhKJhBATiVcLwHoBlEgk8OjRI/h8PqTTaVkXbRjo9dPWZywWw+joKJaWlkSg8L6cK3+mxcU5FAoFTE5OYnl5GcViEclk0nR/API7FbTb7ZZ32tzcxPDwMEqlEtbX12VNtRejvQNa7uVyGYlEAmNjY7BYLFhfXxcrk/sNQNaBVqr28KamphCNRsVzLpVKyGQyImj1O9R7SJFIBF9++SWAqqLl/Tk0bTqdTtOzc7kcHj16hCdPnohFT9rT9+H+a+u3UChgZmYGm5ubSCaToqRoMHBdSZOkM/49Eongxo0bcDqdWF1dNcG/FL4a7dA0lkwmMTo6ivn5eaExbbTptaYA1yjF/Pw8EomE8Djvq2E6vddaAW5sbIhREIlETPShkQqNnlDGpNNpjI6OYnZ2Fuvr67K/pE291/W0ls1mMT4+jrW1NWSzWcTjcaEDzo+QsN1uF0SJe7WysoLPP/8cVqsVKysrJiWglSohR63kkskkHjx4gMXFRWxsbCCVSpmMBj1nTfvkn5mZGaHtWCwm3hppjHKBqIums5WVFdy8eRNfZ/zClNTf//t/H+vr6/hX/+pfYXl5GQcOHMD777+Pnp6er32Pbdu2YceOHVhaWhLcmgKOg8RCC5jWe3NzMwYGBpDP55FOp8WK11AUYTMSJO/l8XjQ09MjG5hKpUybD9SsJcJTAESwNTc3w+PxwGq1iktOZqIFoj0aWsuGYSAYDKK1tRWxWEy8MM5DW4d0tWnBEA5tbm6WdwZggq8AmBQe34lxnubmZni9XhF29QyvITPthRqGAa/Xi6amJonb2Ww2eDwe2Q9t4WqvlwwWDodLine truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"for key in results.keys():\n",
|
||||
"\n",
|
||||
" recon = recons[key]\n",
|
||||
" heights = crystalline_heights[key]\n",
|
||||
" c0 = column_positions[key]\n",
|
||||
"\n",
|
||||
" top = tops[key]\n",
|
||||
" middle = middles[key]\n",
|
||||
" bottom = bottoms[key]\n",
|
||||
" top_std = top_stds[key]\n",
|
||||
" middle_std = middle_stds[key]\n",
|
||||
" bottom_std = bottom_stds[key]\n",
|
||||
"\n",
|
||||
" plt.imshow(np.angle(recon).sum(axis=-1), cmap='gray')\n",
|
||||
"\n",
|
||||
" for i, roi in enumerate(thickness_rois[key]):\n",
|
||||
"\n",
|
||||
" idx = roi_indices[key][i]\n",
|
||||
"\n",
|
||||
" (x0, x1), (y0, y1) = roi\n",
|
||||
" plt.plot([x0, x0, x1, x1, x0], [y0, y1, y1, y0, y0], lw=3)\n",
|
||||
" plt.text(x1+5, y1-10, f\"{middle[i]:.2f} ± {middle_std[i]:.2f}\", color='white')\n",
|
||||
"\n",
|
||||
" sorted_heights = np.sort(heights)\n",
|
||||
"\n",
|
||||
" # plt.axis('off')\n",
|
||||
" plt.scatter(\n",
|
||||
" c0[:, 1][idx], c0[:, 0][idx], c=np.array(heights)[idx], s=8, cmap='magma_r',\n",
|
||||
" vmax=sorted_heights[-30], \n",
|
||||
" vmin=sorted_heights[30]\n",
|
||||
" )\n",
|
||||
" # cbar = plt.colorbar()\n",
|
||||
"\n",
|
||||
"\n",
|
||||
" plt.show()\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "0726cc98",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "lemon",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.12.12"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
Reference in new issue
Block a user