mirror of
https://github.com/c-sooyoung/lemon-sandbox.git
synced 2026-11-16 04:07:59 +09:00
260721
This commit is contained in:
1 parent
0716fe4b6a
commit
fce4c0d22e
1 file changed
+446
@@ -0,0 +1,446 @@
|
|||||||
|
{
|
||||||
|
"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\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"plt.rcParams['font.family'] = 'monospace'"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": 87,
|
||||||
|
"id": "89b917f7",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"Si2V1_full = loadmat('./Si2V1-Niter1000.mat')\n",
|
||||||
|
"Si5V2_full = loadmat('./Si5V2-Niter1000.mat')"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "8a9f200f",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"target = Si2V1_full\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"roi = target['p']['object_ROI'][0][0][0]\n",
|
||||||
|
"roix = roi[0].T\n",
|
||||||
|
"roiy = roi[1]\n",
|
||||||
|
"\n",
|
||||||
|
"dz = target['p']['d']\n",
|
||||||
|
"\n",
|
||||||
|
"recon_object = target['object'][roix, roiy]"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 5,
|
||||||
|
"id": "477adbcb",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": [
|
||||||
|
"(np.float64(-0.5), np.float64(572.5), np.float64(572.5), np.float64(-0.5))"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"execution_count": 5,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGFCAYAAAASI+9IAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs/ddzXGeW7gk/ibRIn/CGIAiSoDciRS9HUqYkddXpPjETE3N/rs5/dqanu0x3qeQNSUmUSIregIT33iS8SWR+F5jfwkpUTRcVUV983wV3BEMiiMy99/su86xnmTdQKpVKenW9ul5dr65X16tLUsX/rx/g1fXqenW9ul5d//9zvXIKr65X16vr1fXqsuuVU3h1vbpeXa+uV5ddr5zCq+vV9ep6db267HrlFF5dr65X16vr1WXXK6fw6np1vbpeXa8uu145hVfXq+vV9ep6ddn1yim8ul5dr65X16vLrtDL/uLp06eVTqcViURUW1ureDyuoaEh9ff3a3V1VZFIREtLS1pZWVFFRYXW1tZUUVGhRCKhUqmk6upq1dfXK5FIKJfLaXV1VVNTU5qamtLc3Jw2Nze1ubmptbU1FYtFhUIhhcNhVVRUqKKiQlVVVaqtrVU6nVY0GtXi4qIWFhY0Pj6u+fl5BQIBVVRUKBgMqlQq2f0DgYCy2axqamqUyWQUi8W0uLio1dVVzczMaHJy0j6ztLSkSCSiWCymjY0NFQoFe95kMqlEIqFIJKK1tTVNT09rdHRU6+vr2tzcVKlUUiwWkyTRD1gsFhWPx1VTU6N4PG7vtLa2Zs9dKpW0vr6ulZUVe4eKigrFYjFFo1FVVFSotrZWVVVVCgQCWltb08bGhj17oVBQMBhUMBjU6uqqKioqFIlEtLm5qVgsprq6OqVSKcViMW1ubmp+fl7z8/NaWFjQ6uqqVlZWVCwWlUwmVSqVVFGxhRNCoZAqKytVXV2tZDKpeDyutbU15fN5jY+Pa21tTYFAQMViUaVSSaurq1pfX1c6nVZFRYVCoZBaW1uVTqftd2ZmZjQ3N6d8Pi9Jikaj9j6S7N6RSETZbFbpdFrJZFLRaFRLS0tl655MJu2dS6WSSqWSAoGAQqGQIpGIksmkmpqaFAwGbY+WlpY0ODio9fV1JZNJra6uKhAIKBwO2++k02klEglVVlYqm80qGAxqfn5em5ubmpqa0srKigqFgslosVjU+vq6YrGYrX0ul1NdXZ3t1/r6utbW1jQxMaH5+Xlb6+XlZVureDyujY0NRaNRtbS0KBKJSJIKhYJKpZJmZ2c1MzOjzc1NFQoFSVIwGLR9CAaDCoVCqqqqUjabNdmXZOu2tLSkcDisjY0Nra+vm5wit6FQSIlEQtXV1YpGo9rY2FCxWNTS0pImJye1sLBQZhMCgYAikYjpTzQaVXV1tdLptNLptNbX17W0tKSxsTHNz88rGo2qVCqpUChodXVVy8vLto+hUEg1NTVKJBK2jmtra1paWtL8/LyWl5cVjUa1vr5usltZWalUKmVyW1dXZ3tWKBS0ubmpubk5zczMqFgsqqKiQqurq1pcXFQymbT3lqTq6mplMhlFIhHF43GtrKxobm5Os7OzWlhYUCgU0vr6upaXl8vsUjQaNfsQiUSUSqVUWVmp1dVVTUxMaHR0VIVCwWSd9y8UCgqFQorFYqqqqlI6nbb7LywsaGVlRfPz85qdnVWhUFAgEDCZkWQ2dHNzU62trWptbVUul9Pg4KAmJiZULBY1Pz+vubk5sw+SNDEx8Y9zCktLS2aAJKmystIEEsFFYFFSSWYsWDB+Z2NjQ/l8XouLi9rY2LBFRpj5vmKxqEAgYJu0urpqm8biLS8vKxQK2ec2Nja0ublpyr22tqaZmRl7j42NDUUikTKjViwWtbGxYc9eLBa1urqqcDhsz8wf3glDFAgEtLGxoaWlJVPWcDhc9vNIJKJQKGSCEQqFzLgEg0FTmPX1dft5oVBQKpVSMBhURUWFOc719XUtLi5qfX3dNryiosI+HwwG7b0wDEtLS1pfX7e1wVihkJLs3yoqKlRZWalAIFD2nhsbG/b8GAX2jvtsbGwoFAopFAppZWVFoVBImUxG4XBYS0tLqqys1NLSkhYXF8uUpKKiwhR8dXVVq6urSiQSJm84DH5Xkq0F94xEIvb/vFdlZaUikYgWFxfNaayurpphDIfDZQYuEomYUYrH4/adc3NzZlBZJ9YFOWXfo9GoKW5FRYU5Ub4TJ4SMIxfBYFCxWExLS0vm0JeWlpTP5815sBbIIfuFfJRKJUUiEdXX1yubzWp6elrDw8MmG8gJ6wjw4N4Yy927d6uiosKAT2VlpSSZvlVUVJhBBxCFw2GFw2HV1NSooaFB+XzejJ8ke9/V1VVJUiqVUjwet32pqKhQPB7Xnj17lE6nNTw8rJ6eHnPcGH/kC11jr5G1vXv3anV1Vd3d3VpcXFQkEil7d/67sbGheDxuexKJRNTW1qaamhqNjIyoWCxqeXnZQKd3lMFg0J6rsrJS0WhUmUxGx48fV7FY1MOHD7W5uWlgir1hDcLhsDkSQGB7e7saGho0MDCgzs5OLS8vq1QqmQ7geLkAYJWVlUqn0zpy5Ih27dqlX375RePj40qn0ybnhUJBa2trL2XrX9opzM/Pq76+Xm1tbdq9e7ckaXh4WPPz86aYGxsbZhy8sQEhB4NBNTU1qaGhQRMTE4be5ufnzfjz8nxXNBpVIpFQLBZTNpvVoUOHVFlZqadPn2pubs4ECgMG8q2srDQBZNObm5tVVVWlsbExjY+Pa3V1VaFQyIw+m+fRW2VlpYrFojKZjA4dOqRSqaSOjg7Nzc1ZRFEsFg2FV1RUKBwOG+qKRqOKx+M6fPiwWlpaNDg4qJ6eHm1ubppDxahjYNn4YrGocDisVCqlgwcPKplMqrOzU52dnZKkeDxua4WhQ1h550KhoKamJu3bt09LS0vq6urS4OCgrRPPsLS0ZIYxGo0qFoupsrJSdXV1On36tHbt2qXHjx/rwYMHhlZwDjgXjHgwGDRj3NjYqFOnTqlYLOqXX37R2tpameFcX19XIBAwo4K8hEIhpdNpnTlzRm1tberr69PPP/+ssbExiz5YL/YfhBgOhxWLxbRnzx6dPn1am5ub+uWXX/T8+XPlcjkzZCBuDKlf82Qyqddee02vv/66+vr69N1332loaKgMBOB4KysrLaJB5qurq/Wb3/xGDQ0Nun79um7cuGFRsCRzPNxPkslyMBjUvn37dPXqVS0tLenbb7/V3NycySr35V2RN56joaFBV65c0aFDh3T79m19/fXXFmlhYHhf9t9/vq2tTb/97W+VTqf1ySefaGFhwUALQAl9LhaLWltbUygUUjKZVG1trc6fP69z587pxYsX+uyzzzQ7O2uAgjVGv3Cs4XBY8XhcBw4c0O9+9zulUil99913Fl0BlLAJgCyAXTweV21trc6ePav3339f4+Pj+rd/+zdNTU3Zs2Ngs9msIpGIOcZQKKRSqaSqqiq99957am1t1Y0bNzQ5OWn7E4vFDADgTNiD5eVlZTIZHT16VP/yL/9igHd6etoiHxyptAWo0RP0rbq6WufOndOJEyf0yy+/aGRkRFNTU3af5eVlFYtFi8wAQYDP2tpaXb582fZjZmZGi4uLFtUQVb7M9dJOIRwOmyc8d+6cisWivvrqK/X395uAgD7ZZJB7LBZTIpFQIpHQyZMndfr0aT18+FALCwsaGRkxJeH3eWn+v7KyUolEQi0tLfrNb36jVCqljY0NEzYQo7QVCgeDQQvH19bWlMlkVFNTozNnzujcuXN69uyZPvvsM6ORPMKqrKxULBYzRIGRbW1t1W9+8xtJWwg1n89rbW3NUASREN/Du4RCIaVSKZ08eVIXLlzQo0ePND09rbGxMUWj0bIoq1gsmhMB8SaTSTU2NurSpUtqampSZWWlObS1tTWj6zAy0WjUnpl7Hzt2TG+//bYmJia0srKioaEhWyNotlQqZcrD95VKJdXV1enMmTM6cOCANjc31dnZae+GcUHYE4lEWTQUi8V0+PBhXb58WQsLCxoeHtbQ0JBCoZCi0ai9MyjRO8VIJKJ0Oq2DBw/qzJkzikQievjwoTkMQmoUA8oSFBYOh1VVVaXjx4+rUCiov79fPT095vA2NjYMOLCnGAnkr7q6WgcOHFCxWCwDAMi2N/CStLi4aMgT6q2+vl5VVVX2zKw3sso7gOg2Nzdtz/fu3at8Pm9oGgeGU0NW+TwGF6CB8eG7ASweMfPu0DKJRMKcNhHJwsKCRVrJZLIskseJIW84xVgsZu/M8xLR89zBYNB+xnfg7Hlm7EllZaUZYOxLLBZToVAw3QcULC8va2VlxfYWZ+wdA86RqJto1oPD5eVlk0kcIM8ZiURUKpW0uLio5eVlYz8WFhaMugKs4XQBQvwuERN2AGp2YWHB5BEZYw39qLpCoWDOEVtaUVFhIA3bguPju/7e9dJOoaKiwni5ZDJpL+4fGEFEePmv53zD4bAhaEJoj4xB6tyLsBhlxOiRN1heXjajjsIXi0X7g+BLMsUBmSFQ/B5hIAaKSMZvJs/JAnvHB/Lj2VZXVxWLxbS+vq7p6WnNzMyYYcEAwUWzgazL/Py8qqurFQgEtLS0pKmpKQUCAeMYEV6Pfng23pV3mZqaUl9fn2ZmZjQzM2OOkN8nGvGUCsK/uLio58+fa3l5WSMjIxZh8LtQJuyZ/w549I6ODq2srGh8fFxLS0smD+vr6xYRQNeheJWVlVpZWdHz589VKBTU1dVle42BQ1lRZuQHo93d3a0bN24oGAxqaGhICwsLlr8isuA5kSHeIZ/P6969eyoUCpqYmLAckJdPHBoGj5xOqVTS4OCgPv/8c+VyOXV2dmpxcdFAAgaJCJF92NjY0MrKir336uqq8vm8nj9/bvuEDIIUMfp8NhwOa2JiQtevX9eTJ080ODiofD5vFEI4HDYZ9eCLP9Aun37Line truncated
|
||||||
|
"text/plain": [
|
||||||
|
"<Figure size 640x480 with 1 Axes>"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "display_data"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"plt.imshow(np.angle(recon_object[:, :, 9]), cmap='gray')\n",
|
||||||
|
"plt.axis('off')"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 6,
|
||||||
|
"id": "9db949e0",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGFCAYAAAASI+9IAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs/WeUXNd1Jgw/lXPu6pwb3WjknEkQYI6iJFIkRZFUtOQ09ozt8Yxfjyf4G8uyrECJOSLnQDCCAAMIggmBJEDk0I1Gp6rqqurK1ZW66vtR9zl9qu1lQWtprff9gbsWFsFGV917z9nh2Xs/ex9VqVQq4dp17bp2XbuuXdcuAOr/tx/g2nXtunZdu65d/9+5rjmFa9e169p17bp2ieuaU7h2XbuuXdeua5e4rjmFa9e169p17bp2ieuaU7h2XbuuXdeua5e4rjmFa9e169p17bp2ieuaU7h2XbuuXdeua5e4rjmFa9e169p17bp2iUt7tb84f/582O126PV6eL1emM1mDA4O4sqVK8hkMtDr9UilUhgbG4NarUY2m4VarYbFYkGpVILH40FNTQ0sFgtcLhcymQxCoRBCoRCi0SjGx8cxPj6ObDaLYrEIrVYLnU4HtVoNtVoNt9sNr9cLu90Og8GAZDKJRCKBQCCAeDwOlUoFtVoNjUaDUqkk7q9SqeB0OlFVVQWHwwGj0YhkMolMJoPR0VEEg0HxmVQqBb1eD6PRiHw+j0KhIJ7XarXCYrFAr9cjm80iHA7D5/Mhl8thfHwcpVIJRqMRAMB+wGKxCLPZjKqqKpjNZvFO2WxWPHepVEIul8PY2Jh4B7VaDaPRCIPBALVaDa/XC7fbDZVKhWw2i3w+L569UChAo9FAo9Egk8lArVZDr9djfHwcRqMR1dXVsNlsMBqNGB8fRzweRzweRyKRQCaTwdjYGIrFIqxWK0qlEtTqMk7QarUwmUzweDywWq0wm83IZrOIxWIIBALIZrNQqVQoFosolUrIZDLI5XKw2+1Qq9XQarVoaWmB3W4XvzM6OopoNIpYLAYAMBgM4n0AiHvr9Xo4nU7Y7XZYrVYYDAakUqmKdbdareKdS6USSqUSVCoVtFot9Ho9rFYr6uvrodFoxB6lUikMDAwgl8vBarUik8lApVJBp9OJ37Hb7bBYLDCZTHA6ndBoNIjH4xgfH0coFMLY2BgKhYKQ0WKxiFwuB6PRKNbe5XKhurpa7Fcul0M2m8XIyAji8bhY63Q6LdbKbDYjn8/DYDCgqakJer0eAFAoFFAqlRCJRDA6Oorx8XEUCgUAgEajEfug0Wig1WrhdrvhdDqF7AMQ65ZKpaDT6ZDP55HL5YScUm61Wi0sFgs8Hg8MBgPy+TyKxSJSqRSCwSASiUSFTVCpVNDr9UJ/DAYDPB4P7HY77HY7crkcUqkU/H4/4vE4DAYDSqUSCoUCMpkM0um02EetVouqqipYLBaxjtlsFqlUCvF4HOl0GgaDAblcTsiuyWSCzWYTcltdXS32rFAoYHx8HNFoFKOjoygWi1Cr1chkMkgmk7BareK9AcDj8cDhcECv18NsNmNsbAzRaBSRSASJRAJarRa5XA7pdLrCLhkMBmEf9Ho9bDYbTCYTMpkMRkZG4PP5UCgUhKzz/QuFArRaLYxGI9xuN+x2u7h/IpHA2NgY4vE4IpEICoUCVCqVkBkAwoaOj4+jpaUFLS0tcLlcGBgYwMjICIrFIuLxOKLRqLAPADAyMvKHcwqpVEoYIAAwmUxCICm4FFgqKQBhLLhg/J18Po9YLIZkMol8Pi8WmcLM7ysWi1CpVGKTMpmM2DQuXjqdhlarFZ/L5/MYHx8Xyp3NZjE6OireI5/PQ6/XVxi1YrGIfD4vnr1YLCKTyUCn04ln5h++Ew2RSqVCPp9HKpUSyqrT6Sp+rtfrodVqhWBotVphXDQajVCYXC4nfl4oFGCz2aDRaKBWq4XjzOVySCaTyOVyYsPVarX4vEajEe9Fw5BKpZDL5cTa0FhRIQGIf1Or1TCZTFCpVBXvmc/nxfPTKHDveJ98Pg+tVgutVouxsTFotVo4HA7odDqkUimYTCakUikkk8kKJVGr1ULBM5kMMpkMLBaLkDc6DP4uALEWvKderxd/53uZTCbo9Xokk0nhNDKZjDCMOp2uwsDp9XphlMxms/jOaDQqDCrXietCOeW+GwwGobhqtVo4UX4nnRBlnHKh0WhgNBqRSqWEQ0+lUojFYsJ5cC0oh9wvykepVIJer0dNTQ2cTifC4TCGhoaEbFBOuI4EHrw3jWVzczPUarUAPiaTCQCEvqnVamHQCYh0Oh10Oh2qqqpQW1uLWCwmjB8A8b6ZTAYAYLPZYDabxb6o1WqYzWa0trbCbrdjaGgIvb29wnHT+FO+qGvca8pae3s7MpkMenp6kEwmodfrK96d/83n8zCbzWJP9Ho92traUFVVheHhYRSLRaTTaQE6ZUep0WjEc5lMJhgMBjgcDsyaNQvFYhFfffUVxsfHBZji3nANdDqdcCQEgZ2dnaitrUV/fz8uXryIdDqNUqkkdICOlxcBmMlkgt1ux/Tp09HY2IjPP/8cgUAAdrtdyHmhUEA2m70qW3/VTiEej6OmpgZtbW1obm4GAAwNDSEejwvFzOfzwjjIxoYIWaPRoL6+HrW1tRgZGRHoLR6PC+PPl+d3GQwGWCwWGI1GOJ1OdHd3w2Qy4cyZM4hGo0KgaMCIfE0mkxBAbnpDQwPcbjf8fj8CgQAymQy0Wq0w+tw8Gb2ZTCYUi0U4HA50d3ejVCrh3LlziEajIqIoFosChavVauh0OoG6DAYDzGYzpk2bhqamJgwMDKC3txfj4+PCodKo08By44vFInQ6HWw2G6ZOnQqr1YqLFy/i4sWLAACz2SzWioaOwsp3LhQKqK+vR0dHB1KpFC5duoSBgQGxTnyGVColDKPBYIDRaITJZEJ1dTXmz5+PxsZGnDp1CidOnBBohc6BzoVGXKPRCGNcV1eHefPmoVgs4vPPP0c2m60wnLlcDiqVShgVyotWq4XdbsfChQvR1taGvr4+HD58GH6/X0QfXC/uPxGiTqeD0WhEa2sr5s+fj/HxcXz++ec4f/48XC6XMGRE3DSk8ppbrVbMnTsXCxYsQF9fHz744AMMDg5WgAA6XpPJJCIayrzH48F/0ukw9+23sX/+fPxSMQ7FYhEAhOPh/QAIWdZoNOjo6MCNN96IVCqFAwcOIBqNClnlffmulDc+R21tLf5EpcLC3bvx8fXX49dOp4i0aGD4vtx/+fNtbW34M40GXbt3463Zs/FbJWqlw+Y9CT6y2Sy0Wi2sViu8Xi/+aHwc12/fjs9vuQWPOxyIRCICUHCNqV90rDqdDmazGV1dXfhTtRodmzbhwJIl+FerFfF4XAAl2gSCLAI7s9kMr9eLRYsW4eF4HNUbNmBHRweeUPSJBlmj0cDpdEKv1wvHqNVqUSqV4Ha78ZNSCbPWrsXBZcvwuMEg9sdoNAoAQGfCPUin03A4HJgxYwb+aHwctevW4ZWuLvxGpxORDx0pUAbU1BPqm8fjwcPxOOYq6/YvFgtCoZC4TzqdRrFYFJEZQRDBp9frxf2hEGrXrsVbs2fjX3U6JJNJEdUwqrya66qdgk6nE55w8eLFKBaLePfdd3HlyhUhIESf3GQid6PRCIvFAovFgjlz5mD+/Pn46quvkEgkMDw8LJSEv8+X5t9NJhMsFguamppw2223wWazIZ/PC2EjYgTKobBGoxHheDabhcPhQFVVFRYuXIjFixfj7NmzePvtt0UaSUZYJpMJRqNRIAoa2ZaWFtx2220Aygg1Foshm80KFMFIiN/Dd9FqtbDZbJgzZw7uGhyEe+dObG5uxpOK15ejrGKxKJwIEa/VakVdXR0ejscxbcMGHFy2DL+w25HJZJDNZkW6jkbGYDCIZ+a9Z86ciftDIdSsWYPXZ8zArxQDShRDlE7l4feVSiVUV1fj/lAI015+GZ+uXImLCrKjQyDSAQCLxVIRDRmNRkybNg33h0KofvllvD5jBn6rGHyDwSDemShRdop6vR52ux1Tp07FTZcuwfr009jY0IDHlc8zpKZiMGVJFKbT6XDb5cu4/ZVXMPjII7hSVYXe3l7h8PL5vAAO3FMaCcqfx+PB4i++wM1PPw1LSwueVAwTZVs28ACQTCYF8jSZTJjz+uswBYNYdfgwfjN3rgAe/H0aGkYjTGFxzxd98QWqX3oJuqlTcUoCTHRqlFV+nga3UChg7nvvwRgOY9F77yG/aJFAylwrOVVI/UkkErBYLNDpdOjcsQPGkRGs+uwz/FNnp4i0rFZrRSRPJ0Z502q1WHzgAIyRCObs3YvC9deL52VEz+fWaDTiZ/yOYrGIth07YAwGsezgQeRmzoRKpYLJZBIGmPbFaDSiUCgI3ScoqF27FsZgEHem03iiu1s4Y9kx0Dky6mY02/3qqzCEQlhy4ADSc+YImaQD5HPq9XqUSiUkk0mk02mR/ajZuBHGQAC3JpP4RVcXMpmMcLoEQvxdRky0A9NefRX60VHMeP11jK9YIRwh303OwPB76BwTiQS8u3fDEAzihlQKv5ozR9gWOj5+1++6rrrQrFarRV6u8733cPOPfoRlJ06IByZS44bz4ovIiKBt3z788P/+X9x08aIIiYiyJiM/hsVUxvb9+7H4gQew7MQJZLNZpNNpYdQNBgOcTqeoY/B5eeXzedS88goe+Nu/xS09PUKg+HsMA/muckoIAOpefRUrvvMdLDtxQiwwFcRgMMBms8FqtQqEToHI5XIIh8PwvvgirOEwvn7unDBAdJhmsxlWqxVWqxWFQkE4G5VKhVQqhY4dO2Dw+7HovfdEGovGl+jH5XIJZWMqTK1WI6QYZXMwiBuPHhWOkEaE0YiMgPluyWQSrVu3Qj88jNlvvSUiDK4NjbBBQVWycWMe3f3CCzAGAlj12WdIpVJCHnK5nMiD22w2se6Uo7GxMZwLine truncated
|
||||||
|
"text/plain": [
|
||||||
|
"<Figure size 640x480 with 1 Axes>"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "display_data"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"1459 columns found\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"LAYER = 9\n",
|
||||||
|
"\n",
|
||||||
|
"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": 7,
|
||||||
|
"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": 8,
|
||||||
|
"id": "6a4aca67",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"# cf, errs, opts, data_fits = kemstem.refine_columns(image, c0, window_dim)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 9,
|
||||||
|
"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": 24,
|
||||||
|
"id": "1cd87af9",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": [
|
||||||
|
"(np.float64(-0.5), np.float64(4.5), np.float64(4.5), np.float64(-0.5))"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"execution_count": 24,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"image/png": "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",
|
||||||
|
"text/plain": [
|
||||||
|
"<Figure size 640x480 with 1 Axes>"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "display_data"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"WINDOW = 2\n",
|
||||||
|
"cx, cy = c0[100]\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')"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 26,
|
||||||
|
"id": "93d22d50",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"application/vnd.jupyter.widget-view+json": {
|
||||||
|
"model_id": "38d7fdb0a2df41df9b0f05c3a78d4544",
|
||||||
|
"version_major": 2,
|
||||||
|
"version_minor": 0
|
||||||
|
},
|
||||||
|
"text/plain": [
|
||||||
|
" 0%| | 0/1459 [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": null,
|
||||||
|
"id": "418dd881",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"def double_erf(x, p0, p1, p2, x0, h):\n",
|
||||||
|
" return p0 * (erf(p2*(x - x0)) - erf(p2*(x - x0 - h))) + p1"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 72,
|
||||||
|
"id": "959edba9",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": [
|
||||||
|
"array([ 0.10500259, 0.06539792, 0.36327553, 1.0370373 , 13.67133075])"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"execution_count": 72,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"popt"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 74,
|
||||||
|
"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.10500329 0.06539737 0.3632672 1.03706733 13.67130114]\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"popt, _, _ = fit(\n",
|
||||||
|
" double_erf, np.arange(len(columns[100])), columns[100], plot=True,\n",
|
||||||
|
" p0=[-0.05, 0.05, 1, 1, 15],\n",
|
||||||
|
" bounds=[[-1, -1, -10, -5, 0], [1, 1, 10, 5, 20]])\n",
|
||||||
|
"print(popt)\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 78,
|
||||||
|
"id": "62a285a5",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"heights = []\n",
|
||||||
|
"heights_error = []\n",
|
||||||
|
"\n",
|
||||||
|
"for column in columns:\n",
|
||||||
|
" (_, _, _, x0, h), (_, _, _, dx0, dh), _ = fit(double_erf, np.arange(len(column)), column, plot=False,\n",
|
||||||
|
" p0=popt,\n",
|
||||||
|
" bounds=[[-1, -1, -10, -5, 0], [1, 1, 10, 5, 20]], maxfev=10000)\n",
|
||||||
|
" heights.append(h)\n",
|
||||||
|
" heights_error.append(dh)\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 80,
|
||||||
|
"id": "fe4d89ed",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": [
|
||||||
|
"(0.0, 20.0)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"execution_count": 80,
|
||||||
|
"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": [
|
||||||
|
"plt.plot(np.sort(heights), 'k')\n",
|
||||||
|
"plt.ylim(0, 20)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 81,
|
||||||
|
"id": "a1e518a5",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"image/png": "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 truncated
|
||||||
|
"text/plain": [
|
||||||
|
"<Figure size 640x480 with 1 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(c0[:, 1], c0[:, 0], c=heights, s=3, cmap='plasma_r', vmin=7, vmax=17)\n",
|
||||||
|
"plt.show()"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "1b6823e4",
|
||||||
|
"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