From eb0474d991b861265ae6629e2d9baaa20f100a5a Mon Sep 17 00:00:00 2001 From: Morgan Williams Date: Fri, 19 Jun 2020 22:43:53 +0800 Subject: [PATCH 1/5] Ensure objects are returned for callback functions --- 013_interferences.ipynb | 108 +++++++++++++++++++++++++++++++++++----- 1 file changed, 96 insertions(+), 12 deletions(-) diff --git a/013_interferences.ipynb b/013_interferences.ipynb index 72b6a38..ac40b2c 100644 --- a/013_interferences.ipynb +++ b/013_interferences.ipynb @@ -67,7 +67,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -80,9 +80,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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rFHVavmXQkQSgcSOHTtO+uabb4IdTrV18OBBli1bRtOmTenfvz+xsbHWwqhj8vPz+eijj8jKyuK+++6r0N4QpnLy8/NJSUlh48aNdO3aleuuu44bbriBkydP0rRp02CHZ2o4Edmqqr09HvOmW09Euqrqfp9HFgC9e/fWLVu2BDuMaq2wsJBdu3axbt06br75Znr16lWjpnSZqlNVPvvsMwoLC7nrrruCHU6tpaoUFBQwb9486tWrx8CBA4mKiuKpp57i3LlzPtuXw9RtVU76zovcBfQEGruXq+rvqxyhH1nS915hYSGqyty5c8nPz6d///506NDBkn8dUlhYyKxZs7j77rtp08ZfC27WTenp6Sxbtoy4uDgSEhKoV68eFy5coGXLlrRv354VK1bU2D0STPXii5b+G8BPgc8B9706VVWr5fZs1r1feUVbc65bt44GDRpw7733EhkZGeywTICkpqayZMkShg8fTpcuXYIdTo136dIlVq1axYEDBxg0aBA33HCDfZE2fuWLpP8d0FNVj5V7cjVjLf3KKyws5MCBA7Ro0YIPP/yQ7t2706tXLyIiIoIdmvGz9PR05s2bx+DBg7nhhhuCHU6NVFhYyKFDhwgJCeHQoUPccccdNGjQINhhmTrAF0n/AHCzqp73dXD+ZknfN9LT00lJSeHAgQN0796du+66y3bzquW+//57MjMzXdvF2ohy7x0/fpzly5dTr149HnzwQY/bWhvjL75I+g8D9wBTcYzad1HVw74I0l8s6ftWdnY2u3btIjY2lrVr19KzZ086d+7sWgPd1C6qyvz58zl37hw/+clPasRtnry8PLKzs7nqqqsCXreqsnz5cvbt22dd+SZofJH0S9v8WVW1Wn/9t6TvH6rqWkEsOzubvn370rdvX/sDVwupKl9++SVffPEFI0eO9HoHu2A4ffo0CxYsoGvXrgwYMCBg9RYWFrJt2zYaN25Mbm4unTt3tq58EzRlJX2v+pxUtcY149wG8gU7lFpJROjRowc9evQgPT2dPXv2cPz4cXbt2kXv3r1p0aJFsEM0PiIi3HrrrbRt25ZvvvmGqKgomjVrVq16d9S51e3q1asZNGgQPXv2DFjdx48fZ9myZYSFhTF8+HCioqICVrcxFeX1lL2aylr6gXP58mU2bdrEli1baN68Obfeemu1bhWaylm8eDGZmZnce++9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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "window = (\"Tm[169]\", 0.1)\n", "df = build_table(REE() + [\"O\", \"N\", \"H\"], window=window, max_atoms=2)\n", @@ -93,9 +106,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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KlH4qSfnnEu+rEoU3qJwzrnky6pE4S0K55xLvqxKFM4555LPE4VzzrmEsipReB+Fc84lX1YlCu+jcM655MuqROGccy75PFE455xLKKsShfdROOdc8mVVovA+CuecS76sShTOOeeSzxOFc865hDxROOecSyjjE4WkAZIekPSspNPTHY9zztU16Roz+yFJqyUtLFPeW9KHkpZIuhbAzCab2YXAecCQNITrnHN1WrpaFBOA3rEFknKAe4E+wCHAUEmHxCzy+3C+c865GpSWRGFms4GvyxT3BJaY2admtg14EjhTgduB6Wb2n5qO1Tnn6rpM6qPoAHweM10Ull0O/AgYLOnieCtLGi7pbUlvr1mzJrWROudcHVI/3QHEUDllZmZjgbEVrWxm90taCfTPy8s7JunROedcHZVJLYoioFPMdEdgRZpicc45F8qkRDEPOEjS/pLygLOAKZWpwB/h4ZxzyZeuy2MnAnOB7pKKJF1gZiXAZcAMYDEwyczer2S9/lBA55xLMplZumNIuvz8fHv77bfTHYZzztUqkuabWX7Z8kw69VRt3qJwzrnky6pE4X0UzjmXfFmVKLxF4ZxzyZdVicJbFM45l3xZlSi8ReGcc8mXVYnCWxTOOZd8FSaK8Kmuzjnn6qgoLYolku4s88hv55xzdUSURHE48BEwXtIb4VNam6U4rirxPgoXRXFxMT179qRp06YsXBiMnTV37lxOOOEETjnlFIYOHcr27durXFesiRMn0rp166TG71xNqzBRmNkGM3vAzL4P/A64CVgp6WFJ3VIeYSV4H4WLonHjxjz33HMMHjx4V1mXLl14+eWXmTVrFgcccADPPvtslesqtXPnTp566ik6depUzpoVKygoqNJ6ziVbpD4KSWdIega4B/gjcAAwFZiW4vicS7rc3Ny9vuW3b9+eRo0aAVC/fn3q1Yt2nUd5dZV64oknGDx4cOS6nMtUUf6CPwbOBO40s6PM7G4zW2VmTwHPpzY852rW0qVLmT59Ov369duj/IknniA/P5+mTZvSrl07+vTpw5w5c+LWs2PHDiZNmsSQIXsO8961a1fatm3Lpk2bdpWNHz/eWw8uo0VJFL80swvM7PXSAkknApjZFSmLzLkatn79es4991weffRR8vLydpXffffdXHXVVVx//fWsWrWK5cuXM2LEiISnpx577DF+/vOfl9ua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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "window = (\"B[10]O[16]\", 0.05)\n", "df = build_table([\"C\", \"B\", \"N\", \"O\"], window=window, max_atoms=2)\n", @@ -113,7 +139,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -123,9 +149,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "761710dd300b464399039b888eba4db0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(HTML(value='

Table Generator

'), HBox(children=(VBox(children=(Text(value='C,B,N,O', des…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6a11b47463ca4f60bd5ed92904007684", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output(layout=Layout(width='500px'))" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "def show_table(elements=[],\n", " window1=None,\n", @@ -133,7 +188,6 @@ " max_atoms=2,\n", " max_charge=2):\n", " try:\n", - "\n", " elements = [el.strip() for el in elements.strip(',').split(',')]\n", "\n", " if window1:\n", @@ -145,7 +199,7 @@ " max_atoms=max_atoms,\n", " charges=[i+1 for i in range(max_charge)])\n", " print(\"Table size: {}\".format(df.index.size))\n", - " display(df.style.background_gradient(cmap=\"Blues\",\n", + " return display(df.style.background_gradient(cmap=\"Blues\",\n", " axis=0,\n", " subset=pd.IndexSlice[:, ['iso_product']])\n", " )\n", @@ -192,9 +246,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "aba58b4cc0f84c468632003938842fed", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(HTML(value='

Spectra Generator

'), HBox(children=(VBox(children=(Text(value='C,B,N,O', d…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7a5e091f98d64c1e9d7ab590692b88e6", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output(layout=Layout(height='350px'))" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "def plot_function(elements=[],\n", " window1=None,\n", @@ -217,6 +300,7 @@ " max_labels=n_labels, \n", " figsize=(8, 4),\n", " iter_lim=10)\n", + " return ax.figure\n", " except:\n", " pass\n", "\n", From a7881f1547e115e91842c32de9216f20fc34fd12 Mon Sep 17 00:00:00 2001 From: Morgan Williams Date: Fri, 19 Jun 2020 23:11:30 +0800 Subject: [PATCH 2/5] Update interferences --- 013_interferences.ipynb | 135 +++++++--------------------------------- 1 file changed, 24 insertions(+), 111 deletions(-) diff --git a/013_interferences.ipynb b/013_interferences.ipynb index ac40b2c..e86dae4 100644 --- a/013_interferences.ipynb +++ b/013_interferences.ipynb @@ -67,7 +67,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -80,22 +80,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAf0AAAEmCAYAAABoNUlkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeXiU5bn48e+dkEBYowkgW0iQTRAFhVAXJLIIaMNmaUWxRCi4d7GHo/7qqfaoB3s42FOX0lJBjkqlgoCgLIIYNsWwyxoECoGERcQEAoFs9++PmYyTMEkmySxZ7s91zeXM877zPvckmHue530WUVWMMcYYU/uFBDsAY4wxxgSGJX1jjDGmjrCkb4wxxtQRlvSNMcaYOsKSvjHGGFNHWNI3xhhj6ghL+sZUMyKiItIx2HFUd+Lwtoh8LyIpwY7HmJrAkr4xJYjICyLyXrDjKI+IJInIhgqcv0dEsp2PAhG55Pb6//kgnmQR+YWX584RkZeqWOXtwGCgrarGV/FaxtQJ9YIdgDEmMFS1e9FzEUkG3lPVt4IXUeWJSD2gPXBEVS9U5v2qmu/7yIyp3qylb+osEXlaRNJF5LyIpIrIQBEZCvw/4GfOFvBO57nNRGSWiJxwvuclEQl1HksSkY0i8icRyRSRwyJyq7P8mIicFpHxbvXOEZG/isgqZ91rRaR9KTE2E5F3RORbETkqIs+JSIiIXAf8FbjFGWemD34eFfoc5VwrQUSOi8hvne87ISIPOY9NBh4A/t0Z+1JneWsR+dD5Wf8lIr90u94LIrJARN4TkXPAROAtt8//B+d5PxaRHc74vxCRG9yuccT5O/8auCAi9UTkR87zMkVkp4gkuJ2fLCIvOn8m50XkUxGJdjt+u9t7j4lIkrO8voj8j4ikicgp5+86wnksWkQ+dr7nrIisFxH7O2wCR1XtYY869wC6AMeA1s7XscC1zucv4GgFu5+/GPgb0AhoAaQADzuPJQH5wENAKPASkAa8CdQH7gLOA42d589xvr7DefzPwAa3uhTo6Hz+DvAR0MQZ4wFgolu9G0rEeT/wtRefPxn4RYmyCn2Osq4JJDiv9Z9AGHA3cBG4yu1n8JLbe0OArcDvgXCgA3AYGOL2O8kDRjrPjSj5+YGbgNNAX2f844EjQH3n8SPADqCd8/1tgO+csYXguFXwHdDc7fMcAjo7z08GXnEei3H+LMY6P18U0NN57H+BJcDVzt/bUmCq89hUHF/WwpyPfoAE+/8He9Sdh33DNHVVAY5E1k1EwlT1iKoe8nSiiLQEhgG/VtULqnoa+BNwn9tp/1LVt1W1APgnjsTyn6p6WVU/BXIB98F5n6jqOlW9DPwOR4u1XYl6Q4GfAc+q6nlVPQJMBx4s7UOp6j9U9YbSjnuhop+jLHnO9+ap6jIgG8eXLU/64Ei2/6mquap6GPg7xX/GX6rqYlUtVNUcD9eYBPxNVb9S1QJV/T/gMvAjt3NeU9VjzvePA5ap6jLnNVcBW3B8CSjytqoecJ7/AdDTWf4AsFpV33d+vu9UdYeIiDOO36jqWVU9D/yX2+fIA1oB7Z3vW6+qtgGKCRi7p2/qJFU9KCK/xtGC7C4iK4GnVDXDw+ntcbTKTjj+pgOOluExt3NOuT3PcdZRsqyx22vXe1U1W0TOAq1LXDMaR6v3qFvZURwtVH+p6Ocoy3da/L75xTLe2x5oXeI2RSiw3u31McrWHhgvIk+6lYXj+Ll6ukZ7YIyIJLqVhQGfu70+6fbcPf52OHoBSmoONAS2uv1bERyfBWAajn9znzqPz1TVV8r8VMb4kCV9U2ep6j+Af4hIUxxd93/E0You2fI6hqPFGK2+G/zlatWLSGMcXcElv3CcwdEybA/sdZbFAOlFH8FHsQSDp5/xv1S1UwXeU9Ix4GVVfdnLaxwD3lXVSeVct7S6PM0YOIPji1F3VU0vedDZ8v8t8FsR6Q58LiKbVfWzSsRgTIVZ976pk0Ski4gMEJH6wCUcf6gLnIdPAbFFA6xU9QTwKTBdRJo6B9JdKyL9qxDC3c6BYOHAi8BXqlqsJevsYv8AeFlEmjgH+z0FFE0nPAW0dV6jpjmF4759kRTgnHOgXYSIhIrI9SLSpwLX/DvwiIj0FYdGInKPiDQp5fz3gEQRGeKsr4FzAGJbL+qaCwwSkZ86BwRGiUhPVS10xvEnEWkBICJtRGSI8/mPRaSj8zbAORz/5gpKq8QYX7Okb+qq+sArOFpmJ3EMziuaqz7f+d/vRGSb8/nPcXQV7wW+BxbguDdbWf8AngfOAjfjuEfsyZPABRyD2jY43zfbeWwNsAc4KSJnAETkARHZU4W4AmUWjvEUmSKy2PkFJxHHPfN/4fi9vAU08/aCqroFx/30N3D8jg7iGOxX2vnHgBE4fu/f4mi9T8GLv4uqmobj3v9vcfwOdwA3Og8/7ax7k3OmwWp+GMvQyfk6G/gS+IuqJnv7GY2pKrExJMYElojMAY6r6nPBjsUYU7dYS98YY4ypIyzpG2OMMXWEde8bY4wxdYS19I0xxpg6wpK+McYYU0dY0jfGGGPqCEv6xhhjTB1hSd8YY4ypIyzpG2OMMXWEJX1jjDGmjrCkb4wxxtQRlvSNMcaYOsKSvjHGGFNHWNI3xhhj6ogalfRF5DoR+auILBCRR4MdjzHGGFOTBD3pi8hsETktIrtLlA8VkVQROSgizwCo6j5VfQT4KdA7GPEaY4wxNVXQkz4wBxjqXiAiocCbwDCgGzBWRLo5jw0HNgCfBTZMY4wxpmarF+wAVHWdiMSWKI4HDqrqYQARmQeMAPaq6hJgiYh8AvzD0zVFZDIwGaBRo0Y3d+3a1U/RG2OMMdXL1q1bz6hqc0/Hgp70S9EGOOb2+jjQV0QSgNFAfWBZaW9W1ZnATIDevXvrli1b/BepMcYYU42IyNHSjlXXpC8eylRVk4Fkry4gkggkduzY0YdhGWOMMTVXdbin78lxoJ3b67ZARpBiMcYYY2qF6pr0NwOdRCRORMKB+4AlFbmAqi5V1cnNmjXzS4DGGGNMTRP0pC8i7wNfAl1E5LiITFTVfOAJYCWwD/hAVfdU8LqJIjIzKyvL90EbY4wxNVDQ7+mr6thSypdRxmA9Y4wxxlRM0Fv6/mLd+8YYY0xxtTbpG2OMMaa4Wpv07Z6+McYYU1ytTfrWvW+MMcYUV2uTvrX0jTHGmOJqbdK3lr4xxhhTXK1N+sYYY4wpzpK+McYYU0fU2qRv9/SNMcaY4mpt0rd7+sYYY0xxtTbpG2OMMaY4S/rGGGNMHVFrk77d0zfGGGOKq7VJ3+7pG2OMMcXV2qRvjDHGmOIs6RtjjDF1hCV9Y4wxpo6oUUlfREaKyN9F5CMRuSvY8RhjjDE1SdCTvojMFpHTIrK7RPlQEUkVkYMi8gyAqi5W1UlAEvCzIIRrjDHG1FheJX0RGS4i9fwUwxxgaIn6QoE3gWFAN2CsiHRzO+U553FjjDHGeMnblv6LwAkReUNE+voyAFVdB5wtURwPHFTVw6qaC8wDRojDH4HlqrrNl3EYY4wxtZ1XSV9VbwQGATnAh85u9+dEJNZPcbUBjrm9Pu4se9IZx09E5JHS3iwik0Vki4hs+fbbb/0UojHGGG9kZWURHx9P48aN2b37hzu5ycnJDBw4kDvvvJNFixZRWFhIUlIS/fr14/bbb2ffvn0+r7Ou8/qevqruVNUpQDvgcWAMcEhE1onIAyLiy/EB4jkEfU1Vb1bVR1T1r2XEOhP4A7AtPDzch2EZY4ypqIYNG/LJJ5/wk5/8xFV26dIlpk+fzvLly/n8888ZNWoUO3bs4PLly6xfv56pU6fypz/9yad1VlRCQkKl31tdVeg+vYhcC4xzPgqB3wNpwBPAvcBoH8V1HMeXiyJtgQwfXdsYY0wAhYWF0bx582JlX3zxBRERESQmJtKwYUNmzJhB27ZtCQ0NRVX5/vvviY6O9mmdxvuBfI+LyCbgK6Al8KCqdlHVl1X1XWAg4MspdJuBTiISJyLhwH3AkopcwJbhNcaY6uvUqVMcPHiQpUuXMmnSJF544QWio6OpX78+Xbt25cknn+Sxxx5znR8bG0tERASNGzd2PZ544okK1xsbG8vq1auLlc2ZM4fbb7+9yp+pJvC2S34YMB1oraqPqeom94OqepFKtvJF5H3gS6CLiBwXkYmqmo+j92AlsA/4QFX3VPC6tuGOMcZUU5GRkdx2222Eh4czcOBA9u7dy6effkphYSGpqal8+OGH/Pa3vy32nqVLl5Kdne16vPHGGx6vnZ+fX+m40tLSSEhIICEhgR07driep6WlVfqa1Ym33fvJqjq/ZKGIPKWqrwKo6qeVCUBVx5ZSvgxYVplrOt+/FFjau3fvSZW9hjHGGP+Ij49n+vTpqCo7duzg2muvRVWJiooCIDo6moo02mJjY3n00UeZO3cuqampXLhwgXr1Kj7TPCYmhuTkZMBxT7/oeW3h7U/k98D/eCh/DnjVd+H4jogkAokdO3YMdijGGFPn3X333ezYsYPU1FQefvhhkpKSGDVqFP379yckJITZs2cTExPDnDlz6N+/P5cvX+bVVyuWXt5//30++eQToqOjqVevnsc66zpR1dIPigxwPv0YuIfio+o7AP+hqu39F17V9e7dW7ds2RLsMIwxxlRBbGwsZ86cKdZ6nzZtGpMmTXId//3vf8+ECRMqfJ3c3FxuuukmNmzY4J/gA0xEtqpqb0/HyrunP8v5qA/Mdnv9FjABx7z5asnu6ZvqwNv5yQUFBTzwwAPceeedTJgwoUr3JI2prRYvXkxmZqbrUZTwi7Rr166Ud5Z9nb/85S/+CLdaKjPpq2qcqsYBc4ueOx8dVPVWVa3QiPpAstH7pjrwdn7yokWL6NChA59//jldu3Zl4cKFfo2rNs4/NkbE0xIvxp23K/L93N+B+Jq19E11UN785FGjRnHy5EkOHTpEz549AbjppptYv359MMI1xtRypSZ9Ednn9vyYiKR5egQmzIqzlr6prjzNT+7WrRtr1qwBYPXq1Xz//fcAxeYkh4SEFJunPHfu3GB+DGMCLjExsdj/E6NGjQp2SDVOWaP33W+WjPN3IMbUFSXnJ7/yyivMmDGD5ORkBgwYQPfu3WnZsiUA2dnZrvfFxsby1ltvMWjQoErVm5aWxs9/7ui0K5p/DPDOO+8QExNTtQ9ljJ8dOXKkSsfLOi8pKanOjOwvtaWvqhvcnq8t7RGYMI2pPeLj49m3b1+x+ckiwvTp01mzZg1RUVGMGDHCq2vFxsYybdo0brjhBho1asTEiRM5deoUw4YNo0mTJgwaNMjVa1A0/zg5OZmePXu6nlvCN76iqpw4cYJPP/2UkydPBjsc44FX8/RF5ClgjaruEJEfAR8A+cADqvqlPwOsLJunb6oLb+Ynnzx5kvvuu4/Q0FAGDhzIHXfc4fX1P/zwQ1atWkV+fj69evVi+/btzJo1i27dujFs2DBee+01nn/+eT9+QlPXqSopKSls3bqVvLw8brjhBiIjI4MdlvGgzHn6rpNEjgHXq2qWiHwOfAScByaral8/x1glNk/f1BaeuvdjY2N5+eWXeeCBBwC49957adGiBTNmzADg9ddf57PPPmPx4sVBidnUXnl5eezfv59du3Zxyy23kJaWRmxsLDExMTaKPsjKmqfv7Yp8zZwJvwlwIzBIVQtEZLrPojTGVErR/X+AiIiIK167jwswpqpUlTVr1rB161Zat27NjTfeSExMDHFxccEOzXjB26R/TERuBboD65wJvylQ4L/QjDHGVAf5+fns3buX7du3Ex8fT3R0NJMnT7Yu/BrI26Q/BVgA5AL3Ost+DKT4IyhjjDHVw7p16/jqq6+45ppr6NOnD507dyY0NDTYYZlK8irpO3e8a12ieL7zUS3ZQD5jjKm4/Px89u/fz9atW7n++utp3rw5EydO5Oqrrw52aMYHvBrIByAizYAuQGP3clVd44e4fMYG8hljjHc2bdrEhg0baNGiBTfffDNdu3a1Vn0NVOWBfCKSBLwJZAMX3Q4pjt326qSsrCwGDx7M3r172bRpE9dffz1HjhyhT58+dO/eHYD58+dTWFjIqFGjCAsLIzQ0lLlz59KqVSuf110kOTmZF198kcLCQn75y1/aqlXGGI9UlcOHD7Np0ybatWtHmzZteOihh1x72pvax9t7+i8DP1HV5f4MpqYp2kxlypQpxcr79+/PggULXK8LCgrYsGEDISEhzJkzh1mzZvHcc8/5pW73zVzCw8Mrff2EhASSk5OrFKMxpvo6dOgQq1atorCwkFtuuYUePXoU227W1E7e/obrAZ/6MxBviEgH4Hc4phD+pLzz/c3TZioAGzdupF+/fvTr14+XX365WPfY+fPnXb0A/qjbfTOXhg0bMmPGDK655poq12eMqflycnLYsmULly9fJiYmhkGDBrlWhDR1g1e77AF/BJ4TEW/P95qIzBaR0yKyu0T5UBFJFZGDIvIMgKoeVtWJvo7Bl1q1asXBgwdZt24dp0+fdm2RumPHDvr27csbb7zBTTfd5Do/Nja22CYqjRs35oknnqh0/Z42cykyZ84cevToQcOGDbnmmmt49NFHyczMrHRdxpiaITs7m2XLlvHaa6/x3XffceONN9K5c2c6duxoCb+O8TaJ/wZ4Djjvh1325gBD3QtEJBTHGIJhQDdgrIh080Fdfle/fn0aNWqEiDB69Gh27twJQM+ePfnqq6948cUXmTp1arH3LF26lOzsbNfjjTfeqHT9JTdz2bt3LwDTp0/n6aefZtq0aWRlZbFp0yaOHj3K4MGDyc3NBRwbsiQkJJCQkODakCUhIYG0tGq7maLxQFWZM2eOfaGr41SVY8eOsW7dOk6cOEGDBg147LHHGDlypMdeQlM3eJv0xwGDgLuBB0s8qkRV1wFnSxTHAwedLftcYB7g3Q4kQXbu3DnX8/Xr19OxY0cuX77sKmvWrBkNGzb0+noiwsGDB12vk5KSyhwP4Gkzl3PnzvH888/z+uuvM3ToUMLCwoiNjeWDDz7g6NGjvPfee4BtyFJbiAhdu3Zl7ty5XLx4sfw3VGNZWVnEx8fTuHFjdu92dAZu2LDB9YW0c+fO/OY3v+HIkSM0b97cVf7tt9/6vN4iycnJDBw4kDvvvJNFixZx6tQpbr31Vvr378+AAQM4ceJElequqsLCQvbs2cOsWbNYtGgRTZo0oVOnTgwYMIAmTZoENTYTfN7O0w/0bnptgGNur48DfUUkCsegwl4i8qyqTvX0ZhGZDEwG/J6wSm6mEhUVxQsvvEDDhg2Ji4vjxRdfZPPmzTz99NOEhobSoEEDZs+e7Ze6k5KSiIqKumIzly+++IJLly4xevToYu9v3Lgxw4YNY9WqVUyYMMEnMZnq4Uc/+hHnzp1j3rx5PPjgg4SFhQU7pErxNGD19ttvdw0yTUpKYuTIkcCVA2h9XS94Hijrj4G6JXkzsPbOO+/k73//O+Hh4WzZsoXbbruNLl26EBLi87uypgbzdspefeD3wFggSlWbichdQGdVrXxfdBlVeihTVf0OeKS8N6vqTBE5ASSGh4ff7PPo3CxbtuyKssTExGKvb7nlFtatW1fqNUaOHFls1Oy0adOYNGlSpeoGePzxx3n88cddr7/44guio6M9jsxt1aoVW7duvaLcRu7XfIMHD2b58uWcPHmSdu3aBTucSiltwCo4NnxJSUlh9uzZpKWlXTGAtir3qis7UNZXA3UrorCwkK+//pr4+Hg2bNjA/fffz/jx4wMag6k5vP0K+CfgeuABHHPzAfYAj/ojKBwte/e/Um2BDD/VFXSLFy8mMzPT9fAm4VdEdHQ0Z86cIT8//4pjJ06cIDo62qf1mepBRLj77rs5c+YMH3/8Md4uxFVTrFq1ioEDBxISElLqAFpwDJZdvXq1T+osbaBseQN1mzRpQmRkJLfeeit//etfKSws9Ek8+fn5/OUvf2Hnzp2kpqaSlJRUpam6pvbzNumPAu5X1S+BQgBVTcfRDe8Pm4FOIhInIuHAfcCSilxAVZeq6uRmzZr5JcBAadiwYbH7sidPnqzwNW655Rbq169f7A8hwIULF1i+fDkDBw6scpym+urevTtnzpxh6dKltSrxz58/nzFjxgClD6D1tdIGypY3UPf8+fMcPXqUZ555hj/+8Y9MnFj+JKTSBtYeOXKEbdu28dprr5GSksLHH3/M22+/TXJysg2+NeXyNunnUuJWgIg0B76ragAi8j7wJdBFRI6LyERVzQeeAFYC+4APVHVPBa+bKCIzs7KyqhpiUPXs2ZN//OMfFBQUsGLFCtaurfjwimbNmvH888/z5JNPsmLFCvLy8jhy5Ahjxoyhbdu2PPhglcdjmmosPDyc+++/n++++45PPvkk2OH4RF5eHps3b+b2228HPA+g9YYvBsp6O1C3WbNmDB8+nH/+85/83//9H7t372batGnce++9xc578skn+fWvf+1xYO2bb77JRx99xO7duxkxYgS33norK1assMG3xmveLs4zH/g/EfkNgIi0Av4Xx6j6KlHVsaWULwM837T27rpLgaW9e/f2bV+5HyQmJhZbwGfw4MEsWrQIgD//+c+MHz+eN998k5EjR7oGLVXUv//7vxMVFcW//du/cejQIZo2bcrIkSOZO3cu9evX98nnMNVXUeJfv349OTk5NGjQoMbMz/Y0YHX16tUMGDDANUht7dq1Vwyg9Ue9ngbKbtu2rUIDdePj42nbti3r169n3LhxvPDCC2RmZhIZGUl+fj7//Oc/Wb78h8VPCwoKaNWqFTt37iQ3N5dRo0ZZUjeVp6rlPoBwHEk+G0f3fjaO+/z1vXl/MB5AIjCzY8eOaoz5wYIFC/STTz7RwsLCYIcSEO3bt9dVq1Z5PAboN99843o9fvx4/d3vfuf3uvv27asvvfSSqqoOHTpUZ86cqaqqS5cu1euuu05VVQsKCnT79u36pz/9Sd999109efKkz+IytRuwRUvJjV5176tqrqr+WlUbAy2BJqr6G1W9XN57g0VryT19Y3ztnnvuISMjgxUrVtSqe/w1SXp6umur2vHjx7vWynjvvfd48MEHyc7OZvPmzWzbto3Ro0czbtw4WrZsGcyQTS3hVdIXEdfiOar6rfObBCJy2l+BVVVtuadvjK81aNCAcePGcfz48UqNEalNfDFQtqI2b95Menq6azzCyJEj+frrr9m9ezcpKSlER0fz/vvvEx8fz4QJE6wr3/iUtwP5rljZQ0TCgGq70bK19I0pXYMGDXjwwQeJjY0lNTW11rf48/LyuHTpkutRNH3VFwNlvXXu3Dk+/vhj7rvvPsaNG0ePHj0Ax+9izJgxvPrqq9x333307NmTCRMm1JgxF6ZmKTPpi8h6EVkHNBCRde4PIBX4IiBRGr85fPgwR44cCXYYJggaNGhA+/bt+eqrr5g/fz55eXnBDslv7r77biIiIlyPovn1f/7zn1m6dCmRkZHMnTu30gNly5KYmEiTJk1o164dL7/8Mk899RRvv/024Nj1Ljk5mREjRrBv3z6uvfZa+vTpU2xgrzG+JGV9wxeR8ThWx5tB8ZXwFDgFrFHVavmXQkQSgcSOHTtO+uabb4IdTrV18OBBli1bRtOmTenfvz+xsbHWwqhj8vPz+eijj8jKyuK+++6r0N4QpnLy8/NJSUlh48aNdO3aleuuu44bbriBkydP0rRp02CHZ2o4Edmqqr09HvOmW09Euqrqfp9HFgC9e/fWLVu2BDuMaq2wsJBdu3axbt06br75Znr16lWjpnSZqlNVPvvsMwoLC7nrrruCHU6tpaoUFBQwb9486tWrx8CBA4mKiuKpp57i3LlzPtuXw9RtVU76zovcBfQEGruXq+rvqxyhH1nS915hYSGqyty5c8nPz6d///506NDBkn8dUlhYyKxZs7j77rtp08ZfC27WTenp6Sxbtoy4uDgSEhKoV68eFy5coGXLlrRv354VK1bU2D0STPXii5b+G8BPgc8B9706VVWr5fZs1r1feUVbc65bt44GDRpw7733EhkZGeywTICkpqayZMkShg8fTpcuXYIdTo136dIlVq1axYEDBxg0aBA33HCDfZE2fuWLpP8d0FNVj5V7cjVjLf3KKyws5MCBA7Ro0YIPP/yQ7t2706tXLyIiIoIdmvGz9PR05s2bx+DBg7nhhhuCHU6NVFhYyKFDhwgJCeHQoUPccccdNGjQINhhmTrAF0n/AHCzqp73dXD+ZknfN9LT00lJSeHAgQN0796du+66y3bzquW+//57MjMzXdvF2ohy7x0/fpzly5dTr149HnzwQY/bWhvjL75I+g8D9wBTcYzad1HVw74I0l8s6ftWdnY2u3btIjY2lrVr19KzZ086d+7sWgPd1C6qyvz58zl37hw/+clPasRtnry8PLKzs7nqqqsCXreqsnz5cvbt22dd+SZofJH0S9v8WVW1Wn/9t6TvH6rqWkEsOzubvn370rdvX/sDVwupKl9++SVffPEFI0eO9HoHu2A4ffo0CxYsoGvXrgwYMCBg9RYWFrJt2zYaN25Mbm4unTt3tq58EzRlJX2v+pxUtcY149wG8gU7lFpJROjRowc9evQgPT2dPXv2cPz4cXbt2kXv3r1p0aJFsEM0PiIi3HrrrbRt25ZvvvmGqKgomjVrVq16d9S51e3q1asZNGgQPXv2DFjdx48fZ9myZYSFhTF8+HCioqICVrcxFeX1lL2aylr6gXP58mU2bdrEli1baN68Obfeemu1bhWaylm8eDGZmZnce++9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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "window = (\"Tm[169]\", 0.1)\n", "df = build_table(REE() + [\"O\", \"N\", \"H\"], window=window, max_atoms=2)\n", @@ -106,22 +93,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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KlH4qSfnnEu+rEoU3qJwzrnky6pE4S0K55xLvqxKFM4555LPE4VzzrmEsipReB+Fc84lX1YlCu+jcM655MuqROGccy75PFE455xLKKsShfdROOdc8mVVovA+CuecS76sShTOOeeSzxOFc865hDxROOecSyjjE4WkAZIekPSspNPTHY9zztU16Roz+yFJqyUtLFPeW9KHkpZIuhbAzCab2YXAecCQNITrnHN1WrpaFBOA3rEFknKAe4E+wCHAUEmHxCzy+3C+c865GpSWRGFms4GvyxT3BJaY2admtg14EjhTgduB6Wb2n5qO1Tnn6rpM6qPoAHweM10Ull0O/AgYLOnieCtLGi7pbUlvr1mzJrWROudcHVI/3QHEUDllZmZjgbEVrWxm90taCfTPy8s7JunROedcHZVJLYoioFPMdEdgRZpicc45F8qkRDEPOEjS/pLygLOAKZWpwB/h4ZxzyZeuy2MnAnOB7pKKJF1gZiXAZcAMYDEwyczer2S9/lBA55xLMplZumNIuvz8fHv77bfTHYZzztUqkuabWX7Z8kw69VRt3qJwzrnky6pE4X0UzjmXfFmVKLxF4ZxzyZdVicJbFM45l3xZlSi8ReGcc8mXVYnCWxTOOZd8FSaK8Kmuzjnn6qgoLYolku4s88hv55xzdUSURHE48BEwXtIb4VNam6U4rirxPgoXRXFxMT179qRp06YsXBiMnTV37lxOOOEETjnlFIYOHcr27durXFesiRMn0rp166TG71xNqzBRmNkGM3vAzL4P/A64CVgp6WFJ3VIeYSV4H4WLonHjxjz33HMMHjx4V1mXLl14+eWXmTVrFgcccADPPvtslesqtXPnTp566ik6depUzpoVKygoqNJ6ziVbpD4KSWdIega4B/gjcAAwFZiW4vicS7rc3Ny9vuW3b9+eRo0aAVC/fn3q1Yt2nUd5dZV64oknGDx4cOS6nMtUUf6CPwbOBO40s6PM7G4zW2VmTwHPpzY852rW0qVLmT59Ov369duj/IknniA/P5+mTZvSrl07+vTpw5w5c+LWs2PHDiZNmsSQIXsO8961a1fatm3Lpk2bdpWNHz/eWw8uo0VJFL80swvM7PXSAkknApjZFSmLzLkatn79es4991weffRR8vLydpXffffdXHXVVVx//fWsWrWK5cuXM2LEiISnpx577DF+/vOfl9ua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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "window = (\"B[10]O[16]\", 0.05)\n", "df = build_table([\"C\", \"B\", \"N\", \"O\"], window=window, max_atoms=2)\n", @@ -139,7 +113,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -149,62 +123,30 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "761710dd300b464399039b888eba4db0", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "VBox(children=(HTML(value='

Table Generator

'), HBox(children=(VBox(children=(Text(value='C,B,N,O', des…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6a11b47463ca4f60bd5ed92904007684", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output(layout=Layout(width='500px'))" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "def show_table(elements=[],\n", " window1=None,\n", " window2=0.05,\n", " max_atoms=2,\n", " max_charge=2):\n", - " try:\n", - " elements = [el.strip() for el in elements.strip(',').split(',')]\n", + " \n", + " elements = [el.strip() for el in elements.strip(',').split(',')]\n", "\n", - " if window1:\n", - " window = (window1, window2)\n", - " else:\n", - " window=None\n", - " df = build_table(elements,\n", - " window=window,\n", - " max_atoms=max_atoms,\n", - " charges=[i+1 for i in range(max_charge)])\n", - " print(\"Table size: {}\".format(df.index.size))\n", - " return display(df.style.background_gradient(cmap=\"Blues\",\n", - " axis=0,\n", - " subset=pd.IndexSlice[:, ['iso_product']])\n", - " )\n", - " except:\n", - " pass\n", + " window = None\n", + " if window1 is not None:\n", + " if window1.strip():\n", + " window = (window1, window2)\n", + " df = build_table(elements,\n", + " window=window,\n", + " max_atoms=max_atoms,\n", + " charges=[i+1 for i in range(max_charge)])\n", + " print(\"Table size: {}\".format(df.index.size))\n", + " return display(df.style.background_gradient(cmap=\"Blues\",\n", + " axis=0,\n", + " subset=pd.IndexSlice[:, ['iso_product']]))\n", "mode= widgets.ToggleButtons(options=['spectra','stemplot'], value='spectra', description='Mode:')\n", "elements=widgets.Text(value=\"C,B,N,O\",description='Elements:')\n", "max_atoms=widgets.IntSlider(min=1, max=3, step=1, value=2,\n", @@ -246,38 +188,9 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "aba58b4cc0f84c468632003938842fed", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "VBox(children=(HTML(value='

Spectra Generator

'), HBox(children=(VBox(children=(Text(value='C,B,N,O', d…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7a5e091f98d64c1e9d7ab590692b88e6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output(layout=Layout(height='350px'))" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "def plot_function(elements=[],\n", " window1=None,\n", From 5c0a0c2d8bfcb2e9ddb3bda2169e2f0e682a828b Mon Sep 17 00:00:00 2001 From: Morgan Williams Date: Fri, 19 Jun 2020 23:12:30 +0800 Subject: [PATCH 3/5] Modify environment --- binder/environment.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/binder/environment.yml b/binder/environment.yml index 5e7ca2f..19e1754 100644 --- a/binder/environment.yml +++ b/binder/environment.yml @@ -13,7 +13,6 @@ dependencies: - ipyvolume - widgetsnbextension - imagemagick - - jupytext - pip: - jupyter_contrib_nbextensions - -e git+git://github.com/morganjwilliams/pyrolite.git@develop#egg=pyrolite[skl] From 4361b2cc4f0d5dc2a1299d6ee1c1f3f6c78d5a88 Mon Sep 17 00:00:00 2001 From: Morgan Williams Date: Fri, 19 Jun 2020 23:47:54 +0800 Subject: [PATCH 4/5] Update env --- binder/environment.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/binder/environment.yml b/binder/environment.yml index 19e1754..a574641 100644 --- a/binder/environment.yml +++ b/binder/environment.yml @@ -13,6 +13,7 @@ dependencies: - ipyvolume - widgetsnbextension - imagemagick + - prompt-toolkit=3.0.4 # 3.0.5 broken on conda - pip: - jupyter_contrib_nbextensions - -e git+git://github.com/morganjwilliams/pyrolite.git@develop#egg=pyrolite[skl] From 0bc29b89a490252be7cce2399d4629cea54c8425 Mon Sep 17 00:00:00 2001 From: Morgan Williams Date: Mon, 22 Jun 2020 10:25:56 +0800 Subject: [PATCH 5/5] Update autopew notebook --- 014_autopew.ipynb | 42 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/014_autopew.ipynb b/014_autopew.ipynb index 6eda76e..5fdab1c 100644 --- a/014_autopew.ipynb +++ b/014_autopew.ipynb @@ -32,17 +32,42 @@ " \n", "> Automating sample targeting for geological microanalysis systems.\n", "\n", + "`autopew` is designed for arbitrary translation between planar/2D Cartesian coordinate systems using affine transforms and human-in-the-loop workflows.\n", "\n", - "| | | \n", + "This is applied to integrating coordinate systems across analytical instrumentation, with each instrument typically having its own individual coordinate systems based on imagery and/or a sample stage. autopew also includes functions for importing and exporting files, for automated generation of point sets within a relevant format for each piece of analytical instrumentation. For example, `autopew` outputs currently included a `.scancsv` file which can be directly imported into Chromium laser ablation navigation software.\n", + "\n", + "### Why use autopew?\n", + "\n", + "`autopew` is designed for easy referencing between analytical equipment and/or images. This allows the time spend on analytical equipment to be more effectively used for data collection rather than spending valuable time locating the areas of interest (at least where this functionality doesn't already exist). Although primarily designed for use of laser ablation analysis on geological material this software can be used for any microanalytical technique, including electron microprobe analysis, x-ray fluorescence mapping, scanning electron microscopy and ion beam analysis.\n", + "\n", + "### What does it look like?\n", + "\n", + "| | | \n", "|:---:|:---:|\n", - "| | |\n", "| A back-scattered electron image of a 25mm diameter round rock sample. The sample contains sulfide as the very bright phases and spinel in mid-grey tones. Three grains were used for reference coordinates and marked on the image. | Analysis locations can be chosen as pixel coordinates on the image. ``autopew`` allows for zoom and pan to allow extremely precise placement. This image was saved directly from autopew. |\n", "\n", "\n", - "| |\n", - "|:--:|\n", "| |\n", - "| The transformation can be visualised to quickly determine if it is reasonable or if more reference points are required. Here reference points used are circled, sample coordiantes are connected to their transformed quivalents, and a convex hull is used to illustrate the outer bounds of the coordinates used. Note the change in coordinate magnitudes and sign from the pixels (left) to stage coordinates (right). |" + "|:--:|\n", + "| The transformation can be visualized to quickly determine if it is reasonable or if more reference points are required. Here reference points used are circled, sample coordinates are connected to their transformed equivalents, and a convex hull is used to illustrate the outer bounds of the coordinates used. Note the change in coordinate magnitudes and sign from the pixels (left) to stage coordinates (right). |\n", + "\n", + "### Where might this go?\n", + "\n", + "* **Microanalytical Coordinate System Networks**\n", + "\n", + " One idea for the future of `autopew` is creating and storing information about coordinate systems and transformations betwen them. Through creating connected networks of coordinate systems, the spatial context of analysis across instruments and images can be automatically determined through aggregating or propogating the transformations.\n", + "\n", + "| \n", + "|:---:|\n", + "| Illustrative example of a coordinate system network and propagation of coordinates from an EPMA image to produce coordinates for a LA-ICP-MS stage after transformations have been calibrated (red path).|\n", + "\n", + "* **Generating Outputs for a Variety of Instruments**\n", + "\n", + " Currently `autopew` enables export of coordinates in a few simple formats, and one vendor-specific format (`.scancsv` for Chromium laser ablation navigation software), but where these formats are text based (i.e. not binary proprietary formats) we could readily write reading and writing functions. While the coordinate transforms are relatively format agnostic (as long as it can be read..), these functions are required to make the software practical for use in other labs.\n", + "\n", + "* **3D Affine Transforms to Keep Focus/Surface Height Context**\n", + "\n", + " Currently `autopew` only works in 2D, but with a bit of an upgrade we could also store 3D coordinate systems including a 'focus' or z coordinate which are useful for microscale analysis (e.g. especially SIMS). This could probably be implements as 2D + a 1D tilt, given we are typically working on approximately 2D surfaces. " ] }, { @@ -58,6 +83,13 @@ "| | | [interferences](./013_interferences.ipynb) | \n", "| | | [autopew](./014_autopew.ipynb) | " ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": {