mirror of
https://github.com/c-sooyoung/lemon-sandbox.git
synced 2026-11-16 04:07:59 +09:00
removed dates from directory names
This commit is contained in:
1 parent
464e5a4dd2
commit
b19ce33092
6 files changed
+38
-328
No files matched your search
@@ -0,0 +1,470 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"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": 2,
|
||||
"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": 4,
|
||||
"id": "89b917f7",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"results = loadmat('./Si2V1-Niter1000.mat')\n",
|
||||
"# results = loadmat('./Si5V2-Niter1000.mat')\n",
|
||||
"# results = loadmat('./Si8V2-Niter1000.mat')"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"id": "8a9f200f",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"(573, 573, 20)\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"roi = results['p']['object_ROI'][0][0][0]\n",
|
||||
"roix = roi[0].T\n",
|
||||
"roiy = roi[1]\n",
|
||||
"\n",
|
||||
"DZ = results['outputs']['z_distance'].item().item()\n",
|
||||
"\n",
|
||||
"recon_object = results['object'][roix, roiy]\n",
|
||||
"print(recon_object.shape)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"id": "477adbcb",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"LAYER = 11\n",
|
||||
"\n",
|
||||
"plt.imshow(np.angle(recon_object[:, :, LAYER]), cmap='gray')\n",
|
||||
"plt.axis('off')\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"id": "9db949e0",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"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": [
|
||||
"1465 columns found\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"image = np.angle(recon_object[:,:,LAYER])\n",
|
||||
"\n",
|
||||
"blurred_image = gaussian_filter(image, 1)\n",
|
||||
"distance = 2\n",
|
||||
"threshold = 0.5\n",
|
||||
"\n",
|
||||
"c0 = kemstem.find_columns(blurred_image, distance=distance, threshold=threshold)\n",
|
||||
"\n",
|
||||
"plt.imshow(image, cmap='gray')\n",
|
||||
"plt.axis('off')\n",
|
||||
"plt.plot(c0[:, 1], c0[:, 0], 'r.', markersize=2)\n",
|
||||
"plt.show()\n",
|
||||
"print(f'{c0.shape[0]} columns found')"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"id": "96b15c03",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# test_it = 100\n",
|
||||
"# window_dim = 5\n",
|
||||
"# cf,errs,opts,data_fits = kemstem.refine_columns(blurred_image,c0[test_it,:],window_dim)\n",
|
||||
"\n",
|
||||
"# visualization_window = 5*window_dim\n",
|
||||
"# fig,ax = plt.subplots(2,2,constrained_layout=True)\n",
|
||||
"# ax[0,0].matshow(data_fits[:,:,0,0],cmap='gray')\n",
|
||||
"# ax[0,1].matshow(data_fits[:,:,0,1],cmap='gray')\n",
|
||||
"# ax[1,0].matshow(blurred_image,cmap='gray')\n",
|
||||
"# ax[1,0].plot(c0[test_it,1],c0[test_it,0],'b.') # original unfit position shown in blue\n",
|
||||
"# ax[1,0].plot(cf[0,1],cf[0,0],'r.') # fit position shown in red\n",
|
||||
"# ax[1,0].set_xlim([c0[test_it,1]-visualization_window,c0[test_it,1]+visualization_window])\n",
|
||||
"# ax[1,0].set_ylim([c0[test_it,0]+visualization_window,c0[test_it,0]-visualization_window])\n",
|
||||
"# ax[1,1].matshow(data_fits[:,:,0,0]-data_fits[:,:,0,1],cmap='gray',vmin=-.1,vmax=.1) # fit residual\n",
|
||||
"# _ = [tax.axis('off') for tax in ax.ravel()]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"id": "6a4aca67",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# cf, errs, opts, data_fits = kemstem.refine_columns(image, c0, window_dim)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"id": "70437a17",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# plt.imshow(image, cmap='gray')\n",
|
||||
"# plt.axis('off')\n",
|
||||
"# plt.plot(cf[:, 1], cf[:, 0], 'r.', markersize=2)\n",
|
||||
"# plt.show()\n",
|
||||
"# print(f'Refined columns')"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"id": "1cd87af9",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGFCAYAAAASI+9IAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAABTdJREFUeJzt26G1AjEURdHhLww9YulsDC3QA/2gyHdHj2ESsbeOuO6sJ3IZY4wNALZt+5s9AIB1iAIAEQUAIgoARBQAiCgAEFEAIKIAQK5HH+77/ssdLOTz+cyewIkej8fsCZzkyF9llwIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAcj368H6//3IHC/l+v7MncKLX6zV7AgtxKQAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAg16MPn8/nL3ewkNvtNnsCJ3q/37MnsBCXAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIAEQUAIgoARBQAiCgAEFEAIKIAQEQBgIgCABEFACIKAEQUAIgoABBRACCiAEBEAYCIAgARBQAiCgDkMsYYs0cAsAaXAgARBQAiCgBEFACIKAAQUQAgogBARAGAiAIA+QeIcR7A2bHfywAAAABJRU5ErkJggg==",
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"WINDOW = 1\n",
|
||||
"cx, cy = c0[len(c0) // 2]\n",
|
||||
"wx_start, wx_end = cx-WINDOW, cx+WINDOW+1\n",
|
||||
"wy_start, wy_end = cy-WINDOW, cy+WINDOW+1\n",
|
||||
"plt.imshow(np.angle(recon_object)[wx_start:wx_end, wy_start:wy_end, LAYER], cmap='gray')\n",
|
||||
"plt.axis('off')\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"id": "93d22d50",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "8b34ea56f6534b8da8dda5cd12e56252",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
" 0%| | 0/1465 [00:00<?, ?it/s]"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"columns = []\n",
|
||||
"\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_object)[wx_start:wx_end, wy_start:wy_end, 1:].mean(axis=(0, 1))\n",
|
||||
" columns.append(column)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 13,
|
||||
"id": "4925866a",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def double_erf(x, p0, p1, q, x0, h):\n",
|
||||
" return p0 + p1 * (erf(q*(x - x0)) - erf(q*(x - x0 - h)))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"id": "eb149eb1",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def gaussian_plus_linear(x, p0, p1, q, mu, s):\n",
|
||||
" linear = p0 + p1 * x\n",
|
||||
" gauss = q * norm.pdf(x, mu, s)\n",
|
||||
" return linear + gauss"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 15,
|
||||
"id": "df9db0e5",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"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": [
|
||||
"[-0.18965366 0.31451085 0.20175432 0.10413929 18.18937594]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# bounds = [[-0.2, 0, 0, -5, 0], [0.3, 1, 10, 15, 25]]\n",
|
||||
"\n",
|
||||
"for i in [800]:\n",
|
||||
" popt0, _, _ = fit(\n",
|
||||
" double_erf, np.arange(len(columns[0])), columns[i], plot=True,\n",
|
||||
" p0=[0.1, 0.05, 1, 1, 15],\n",
|
||||
" # bounds=bounds,\n",
|
||||
" )\n",
|
||||
" print(popt0)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 16,
|
||||
"id": "62a285a5",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "16a8597078294abe83dd87e9672e3ddf",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
" 0%| | 0/1465 [00:00<?, ?it/s]"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"(0.0, 300.0)"
|
||||
]
|
||||
},
|
||||
"execution_count": 16,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"heights = []\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"for column in tqdm(columns):\n",
|
||||
" popt, perr, _ = fit(\n",
|
||||
" double_erf, np.arange(len(column)), column, plot=False,\n",
|
||||
" p0=popt0,\n",
|
||||
" # bounds=bounds,\n",
|
||||
" maxfev=10000\n",
|
||||
" )\n",
|
||||
" h, dh = popt[-1], perr[-1]\n",
|
||||
" heights.append(h * DZ)\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"heights = np.array(heights)\n",
|
||||
"\n",
|
||||
"plt.plot(np.sort(heights), 'k')\n",
|
||||
"plt.ylim(0, 300)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 21,
|
||||
"id": "dd62602a",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"array([186.28758807, 159.46389009, 189.36394664, ..., 158.93214468,\n",
|
||||
" 148.67459386, 145.31492308], shape=(1115,))"
|
||||
]
|
||||
},
|
||||
"execution_count": 21,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"heights[(heights < 190) & (heights > 140)]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "a1e518a5",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 2 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"plt.imshow(np.angle(recon_object).sum(axis=-1), cmap='gray')\n",
|
||||
"plt.axis('off')\n",
|
||||
"plt.scatter(\n",
|
||||
" c0[:, 1][(heights < 190) & (heights > 140)], c0[:, 0][(heights < 190) & (heights > 140)], c=np.array(heights[(heights < 190) & (heights > 140)]), s=8, cmap='magma_r',\n",
|
||||
" vmax=190, \n",
|
||||
" vmin=140\n",
|
||||
" )\n",
|
||||
"\n",
|
||||
"cbar = plt.colorbar()\n",
|
||||
"\n",
|
||||
"plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "8cfc6801",
|
||||
"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
|
||||
}
|
||||
@@ -0,0 +1,658 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"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",
|
||||
"\n",
|
||||
"import kemstem"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"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": 3,
|
||||
"id": "89b917f7",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"results = {\n",
|
||||
" '2V': loadmat('./Si2V1-Niter1000.mat'),\n",
|
||||
" '5V': loadmat('./Si5V1-Niter1000.mat'),\n",
|
||||
" '8V': loadmat('./Si8V2-Niter1000.mat'),\n",
|
||||
" '30V': loadmat('./Si30V3-Niter1000.mat'),\n",
|
||||
"}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"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": 5,
|
||||
"id": "9db949e0",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"column_positions = {}\n",
|
||||
"\n",
|
||||
"for key in results.keys():\n",
|
||||
" recon = recons[key]\n",
|
||||
" image = np.unwrap(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": 18,
|
||||
"id": "93d22d50",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "71574260d3a2423992af4f220d1eaab5",
|
||||
"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": "ce5ecef4c2094f8ba910f408c0df451b",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
" 0%| | 0/968 [00:00<?, ?it/s]"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "77e9d752fafd4ed8ae1254a1d650de25",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
" 0%| | 0/937 [00:00<?, ?it/s]"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "8ad11bdab7924dd6ab9e25641b882081",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
" 0%| | 0/1014 [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 = np.unwrap(np.angle(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 = recon[wx_start:wx_end, wy_start:wy_end, :].mean(axis=(0, 1))\n",
|
||||
" column_list.append(column)\n",
|
||||
"\n",
|
||||
" column_lists.update({key: column_list})"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 19,
|
||||
"id": "4925866a",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def double_erf(x, p, q, x0, x1):\n",
|
||||
" return p * (erf(q*(x - x0)) - erf(q*(x - x1)))\n",
|
||||
"\n",
|
||||
"def double_erf_plus_const(x, p0, p1, q, x0, x1):\n",
|
||||
" return p0 + double_erf(x, p1, q, x0, x1)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 20,
|
||||
"id": "62a285a5",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "c0d84b75cd0e421f855b2e461de7cc46",
|
||||
"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": "684d882b7d994369b24c582d9607c7fa",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
" 0%| | 0/968 [00:00<?, ?it/s]"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "a86516b159e448079c0f4599f5b8ee9b",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
" 0%| | 0/937 [00:00<?, ?it/s]"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "b6459ae17e304805a0a36a937ff4715d",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
"text/plain": [
|
||||
" 0%| | 0/1014 [00:00<?, ?it/s]"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"crystalline_heights = {}\n",
|
||||
"crystalline_height_errs = {}\n",
|
||||
"\n",
|
||||
"for key in results.keys():\n",
|
||||
"\n",
|
||||
" columns = column_lists[key]\n",
|
||||
" dz = DZ[key]\n",
|
||||
"\n",
|
||||
" crystalline = []\n",
|
||||
" crystalline_err = []\n",
|
||||
"\n",
|
||||
" for column in tqdm(columns):\n",
|
||||
" popt, perr, _ = fit(\n",
|
||||
" double_erf, np.arange(len(column)), column, plot=False,\n",
|
||||
" p0=[0.1, 0.3, 3, 12],\n",
|
||||
" # bounds=bounds,\n",
|
||||
" maxfev=10000\n",
|
||||
" )\n",
|
||||
" p1, q, x0, x1 = popt\n",
|
||||
" dp1, dq, dx0, dx1 = perr\n",
|
||||
"\n",
|
||||
" crystalline.append((x1 - x0) * dz)\n",
|
||||
" crystalline_err.append(dz * (dx0 + dx1) / 2)\n",
|
||||
"\n",
|
||||
" crystalline_heights.update({key: np.array(crystalline)})\n",
|
||||
" crystalline_height_errs.update({key: np.array(crystalline_err)})"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 21,
|
||||
"id": "6af86cf4",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"safe_height_indices = {}\n",
|
||||
"\n",
|
||||
"for key in results.keys():\n",
|
||||
" crystalline = crystalline_heights[key]\n",
|
||||
" crystalline_err = crystalline_height_errs[key]\n",
|
||||
"\n",
|
||||
" # safe_height_index = np.where(crystalline_err < crystalline / 10)\n",
|
||||
" safe_height_index = np.where(crystalline)\n",
|
||||
" safe_height_indices.update({key: safe_height_index})"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 22,
|
||||
"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",
|
||||
"30V\n",
|
||||
"(541, 541)\n",
|
||||
"[67, 202, 338, 473]\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": 23,
|
||||
"id": "9f30bf4b",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"thickness_rois = {\n",
|
||||
" '2V' : [[214, 358], [214, 358]],\n",
|
||||
" '5V' : [[217, 362], [ 72, 217]],\n",
|
||||
" '8V' : [[217, 363], [ 72, 217]],\n",
|
||||
" '30V': [[338, 473], [ 202, 338]]\n",
|
||||
"}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 24,
|
||||
"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": 25,
|
||||
"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": 26,
|
||||
"id": "f61e53da",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# idx = np.where(crystalline_height_errs['2V'] > crystalline_heights['2V'] / 10)[0]\n",
|
||||
"\n",
|
||||
"# if input(len(idx)) == 'y': pass\n",
|
||||
"\n",
|
||||
"# for i in idx[::10]:\n",
|
||||
"# c = column_lists['2V'][i]\n",
|
||||
"# z = np.arange(len(c)) * DZ['2V']\n",
|
||||
"\n",
|
||||
"# popt, perr, _ = fit(\n",
|
||||
"# double_erf, np.arange(len(c)), c, plot=True,\n",
|
||||
"# p0=[0.28181914, 0.30406586, 3.74047066, 12.6762897],\n",
|
||||
"# # bounds=bounds,\n",
|
||||
"# maxfev=10000\n",
|
||||
"# )\n",
|
||||
" \n",
|
||||
"# p1, q, x0, x1 = popt\n",
|
||||
"# dp1, dq, dx0, dx1 = perr\n",
|
||||
"\n",
|
||||
"# print((x1 - x0) * dz, dz * (dx0 + dx1) / 2, (dz * (dx0 + dx1) / 2) / (x1 - x0) * dz)\n",
|
||||
"\n",
|
||||
"# plt.show()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 27,
|
||||
"id": "d0926668",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"2V\n",
|
||||
"Crystalline thickness: 151.257 ± 64.435\n",
|
||||
"Amorphous thickness: 46.872 ± 32.217\n",
|
||||
"(# of counted columns = 102/102)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 2 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"5V\n",
|
||||
"Crystalline thickness: 175.627 ± 8.677\n",
|
||||
"Amorphous thickness: 52.687 ± 4.339\n",
|
||||
"(# of counted columns = 102/102)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 2 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"8V\n",
|
||||
"Crystalline thickness: 183.862 ± 19.102\n",
|
||||
"Amorphous thickness: 76.069 ± 9.551\n",
|
||||
"(# of counted columns = 118/118)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 2 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"30V\n",
|
||||
"Crystalline thickness: 75.191 ± 77.787\n",
|
||||
"Amorphous thickness: 302.404 ± 38.894\n",
|
||||
"(# of counted columns = 101/101)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 2 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.unwrap(np.angle(recon)).sum(axis=-1), cmap='gray')\n",
|
||||
" plt.plot([x0, x0, x1, x1, x0], [y0, y1, y1, y0, y0], lw=1, color='white', linestyle='--')\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",
|
||||
" cbar.ax.set_ylabel('Atomic column thickness [A]')\n",
|
||||
" plt.show()\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 28,
|
||||
"id": "9701672b",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"<matplotlib.legend.Legend at 0x7fb817d810d0>"
|
||||
]
|
||||
},
|
||||
"execution_count": 28,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 900x900 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"voltages = []\n",
|
||||
"damage = []\n",
|
||||
"damage_err = []\n",
|
||||
"\n",
|
||||
"for key in results.keys():\n",
|
||||
" voltages.append(float(key[:-1]))\n",
|
||||
" damage.append(roi_amorphous_height_means[key])\n",
|
||||
" damage_err.append(roi_amorphous_height_stds[key])\n",
|
||||
"\n",
|
||||
"plt.figure(figsize=(3, 3), dpi=300)\n",
|
||||
"\n",
|
||||
"plt.errorbar(voltages, damage, damage_err,\n",
|
||||
" fmt=\"o\", capsize=3, capthick=1, label=\"Current study\",\n",
|
||||
" zorder=100, color='k'\n",
|
||||
" )\n",
|
||||
"plt.plot([30, 8, 5, 2], [220, 70, 40, 10], '*', label='Uzuhashi et al. (2024)\\n(Amorphous)')\n",
|
||||
"plt.plot([30, 8, 5, 2], [290, 100, 70, 70], 'p', label='Uzuhashi et al. (2024)\\n(Total damage)')\n",
|
||||
"plt.plot([30, 5, 2], [220, 66, 31], 's', label='Burnett et al. (2015)')\n",
|
||||
"plt.plot([30, 5, 2], [220, 25, 10], 'v', label='Mayer et al. (2007)')\n",
|
||||
"plt.plot([30, 5, 2], [210, 20, 10], '<', label='Giannuzzi et al. (2005)')\n",
|
||||
"plt.plot([30, 10], [200, 100], '>', label='Kato et al. (1999)')\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"plt.xlabel(\"FIB voltage [keV]\")\n",
|
||||
"plt.ylabel(\"Si damage [Å]\")\n",
|
||||
"plt.legend(fontsize=7)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "fca8df26",
|
||||
"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
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user