From 7a5ef7b7947a49417fc694e4567345cd077c7f86 Mon Sep 17 00:00:00 2001 From: Gerd Duscher Date: Mon, 14 Sep 2026 15:39:00 -0400 Subject: [PATCH] low-loss analysis --- .../S1-Analyse_LowLoss_EELS.ipynb | 269 +++++++-- ...uAl-60kV_ZA-Spectra from Area #1-Lines.csv | 524 ++++++++++++++++++ pyTEMlib/eels_tools/low_loss_tools.py | 90 ++- pyTEMlib/eels_tools/peak_fit_tools.py | 37 +- 4 files changed, 841 insertions(+), 79 deletions(-) create mode 100644 pyTEMlib/data/CuAl-60kV_ZA-Spectra from Area #1-Lines.csv diff --git a/notebooks/Spectroscopy/S1-Analyse_LowLoss_EELS.ipynb b/notebooks/Spectroscopy/S1-Analyse_LowLoss_EELS.ipynb index 03be1c19..b4f310de 100644 --- a/notebooks/Spectroscopy/S1-Analyse_LowLoss_EELS.ipynb +++ b/notebooks/Spectroscopy/S1-Analyse_LowLoss_EELS.ipynb @@ -128,7 +128,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2024-09-25T17:48:41.105440Z", @@ -143,8 +143,6 @@ "name": "stdout", "output_type": "stream", "text": [ - "The autoreload extension is already loaded. To reload it, use:\n", - " %reload_ext autoreload\n", "pyTEM version: 0.2026.6.0\n" ] } @@ -164,7 +162,7 @@ " output.enable_custom_widget_manager()\n", " from google.colab import drive\n", "\n", - "sys.path.insert(0,'../../')\n", + "sys.path.insert(0,'../../pyTEMlib')\n", "\n", "# Import libraries from pyTEMlib\n", "import pyTEMlib\n", @@ -185,18 +183,18 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "52103a606ef24112866907c87a1280ce", + "model_id": "d037c8800ff14f5bbc06d008bae611a6", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "VBox(children=(Dropdown(description='directory:', layout=Layout(width='90%'), options=('c:\\\\Users\\\\gduscher\\\\O…" + "VBox(children=(Dropdown(description='directory:', layout=Layout(width='90%'), options=('C:\\\\Users\\\\gduscher\\\\O…" ] }, "metadata": {}, @@ -205,7 +203,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2f069b79b5e44eaa8fbd48824948f43e", + "model_id": "3c92cb5ab137464ca39693000ef392ac", "version_major": 2, "version_minor": 0 }, @@ -225,7 +223,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -233,31 +231,31 @@ "output_type": "stream", "text": [ "experiment :\n", - "\tsingle_exposure_time : 4.999237616263519e-05\n", - "\texposure_time : 0.005390757616263521\n", - "\tnumber_of_frames : 3961\n", + "\tsingle_exposure_time : 0.1\n", + "\texposure_time : 0.1\n", + "\tnumber_of_frames : 100\n", "\tconvergence_angle : 30\n", "\tcollection_angle : 40\n", - "\tmicroscope : Unknown\n", - "\tacceleration_voltage : 60000.0\n", - "filename : c:\\Users\\gduscher\\OneDrive - University of Tennessee\\2026 Experiments\\2026-06-09-Si\\EELS LL_0719.dm4\n" + "\tmicroscope : Libra 200 MC\n", + "\tacceleration_voltage : 199990.28125\n", + "filename : C:\\Users\\gduscher\\OneDrive - University of Tennessee\\GitHub\\MLSTEM2025\\example_data\\AL-DFoffset0.00.dm3\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3c99a593b12d4ecf82b2ce0dd56d4323", + "model_id": "25f26c11e1374b87a1b8091aab61233a", "version_major": 2, "version_minor": 0 }, - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAASStJREFUeJzt3Ql4U2XaxvGnLW0plFb2QimbZd9FWVUQWURE1BlFdD5wF0QFdVxQEVERHMYFFUF0lHFBEBSZQUEQWQZZBARFQARk1ZYCQksLtKXNdz1vSUi6l5ScJuf/m+tMkpOT5OS0yM3zbkEOh8MhAAAAsI1gq08AAAAAvkUABAAAsBkCIAAAgM0QAAEAAGyGAAgAAGAzBEAAAACbIQACAADYDAEQAADAZgiAAAAANkMABAAAsBkCIAAAgM0QAAEAAGyGAAgAAGAzBEAAAACbIQACAADYDAEQAADAZgiAAAAANkMABAAAsBkCIAAAgM0QAAEAAGyGAAgAAGAzBEAAAACbIQACAADYDAEQsKHp06dLUFBQgduaNWtcxxZ23NChQ13H3XbbbRIZGVnkZ2/evFn++te/Sr169aR8+fISGxsrvXr1kjfeeKPI1xbnM5zfbf369VJSGRkZMmnSJGnXrp1ERUXJBRdcIC1atJB77rlHfvnlF7HaV199Jc8++6zVpwEgAJSz+gQAWOe5556TBg0a5NkfHx/v8VgD2uDBg/Mc17hx4xJ93qpVq+SKK66QunXryt133y0xMTGyf/9+Ezg1eD3wwANipb/85S+yYMECGTRokDm/zMxME/zmz58vXbp0kaZNm1oeACdPnkwIBOA1AiBgY3379pWLL764yOM06P3tb3/z+vPGjRsn0dHRsm7dOlNdc5eUlCRW0nPSoKfn+OSTT3o89+abb8qxY8fEn5w+fVqys7MlLCzM6lMBUAbRBAzAZ3bt2mWaVHOHP1WjRg3Lz0117do1z3MhISFStWpV12NthtVmZq0O3nTTTaa5WJ8fMWKEnDp1Ks/rP/roI2nfvr1ERERIlSpV5OabbzaVz9zWrl0rV199tVSuXFkqVqworVu3NpVRZ/O3Vv+UezO82rNnj7n/z3/+U1577TW58MILJTw8XLZu3epqEtdj3C1btszs11un7t27S8uWLeWnn36Sbt26SYUKFUw1eM6cOeb55cuXS8eOHc33aNKkiXzzzTfnfL0BWIsKIGBjycnJcvjwYY99Ggrcw47SUJP7OKXBpyQVJu33t3r1avn5559N0ChL9NzUxx9/bEJguXJF/+dRw1/9+vVl/Pjxphn79ddfl6NHj8oHH3zgOkYriqNHjzbH3nXXXXLo0CHT3/Hyyy+XjRs3usLw4sWL5ZprrpFatWqZIKnN49u2bTNVSX187733yh9//GGO+/DDD/M9n/fff9/8rLTPogZADZslpeev56Eh9cYbb5QpU6aY+3pdRo4cafp93nLLLTJx4kTTl1ODbKVKlUr8OQAs5gBgO++//75D//jnt4WHh3scW9Bxun3yySeu44YMGeKoWLFioZ+7aNEiR0hIiNk6d+7seOyxxxxff/21IyMjo1jnXZzPcH63devWOUoiOzvb0a1bN/PamjVrOgYNGuSYPHmyY+/evXmOHTNmjDnu2muv9dh/3333mf0//vijebxnzx7zXceNG+dx3ObNmx3lypVz7T99+rSjQYMGjnr16jmOHj2a57ychg8fbt4/t927d5v9UVFRjqSkpHyvhx7jbunSpWa/3jo5v/+MGTNc+3755RezLzg42LFmzRrXfv256X59fwD+hyZgwMa0SVErSu6bDoLIbcCAAXmO000HdJSEDibRCuC1114rP/74o/zjH/+QPn36mJHA//nPf8RKWvn8+uuv5YUXXjBNsJ988okMHz7cVAYHDhyYbx9Afd6dcxCLDtZQn3/+uemHp9U/raA6N63uNWrUSJYuXWqO00rg7t27TYUtd/O4s5m3uINYqlevLt7QUdZa8XPSpl49p2bNmpnmXyfn/d9++82rzwNgDZqAARvr0KFDsQaB1KlTR3r27Fkqn3nJJZeYYKRTrmgInDt3rrz66qumOXHTpk3SvHlzsYo2mz711FNmS0hIMH3etA/ep59+KqGhoaYvnzsNce60711wcLCrv92OHTu0XJfnOCd9T/f+h942i+c3oruk9GedO3TqwJ24uLg8+5xNxgD8DwEQgCW076CGQd10lPHtt98us2fPljFjxpSJn4j2xdNKmFbVdOCKhkAdUFFY38DcwUmrf7pPq6o6kCS34sybWBI6OKOoc3LKysrKd39+51nY/pxeAgD8DQEQgOWcVUitupU1WqXT0bhazXM23zrpPveq286dO03o04EhzoqgBiQ9prA5E/U4pYNjCqu0lqQ5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vn37yo4dO1zP792711Th9Hk9txYtWshXX33leu2tt94q1atXN9enUaNGJpQVRF8XHh5uKnXufv75Z/O5kZGRUrNmTfm///s/OXz4sHnummuuMe8/ffp0j9ekpqbK7NmzPcJkr1695M8//5Tly5cX+/sDCDwEQABe0fD3wQcfyNSpU2XLli3y0EMPyd/+9rc8AeOpp56Sl19+WdavXy/lypWTO+64w6OZUgPWiBEjTD+1t99+24QZZ8hzevbZZ+X666+XzZs3m9d//PHH5piXXnpJNmzYIHXr1jUh0enyyy83YfLDDz/0qBzq69w/vyi33XabOe///Oc/snr1atEl1K+++mpXFXL48OGSnp5uAqeem56PBjU1evRo850WLFgg27ZtM+dXrVq1Aj9Lr0X79u099h07dkx69Ogh7dq1M+excOFCOXjwoNx0003meb2eev30mrkv767hLysrSwYNGuTaFxYWZgKyfg4AG3MAwDk6deqUo0KFCo5Vq1Z57L/zzjsdgwYNMveXLl2qicTxzTffuJ7/8ssvzb6TJ0+ax1deeaXjxRdf9HiPDz/80FGrVi3XYz1+5MiRHsd07NjRMXz4cI99Xbt2dbRp08b1+KWXXnI0a9bM9fizzz5zREZGOlJTUwv8Xt26dXOMGDHC3P/111/NZ3/33Xeu5w8fPuyIiIhwfPrpp+Zxq1atHM8++2y+79W/f3/H7bff7iiuAQMGOO644w6Pfc8//7yjd+/eHvv2799vzmv79u3m8bZt28xjvd5Ol112meNvf/tbns+4/vrrHbfddluxzwlA4KECCOCc7dy50/RZ02ZFrXg5N60I7tq1y+NYZx80VatWLXOblJRkbn/88Ud57rnnPN7j7rvvloSEBPP+TtqE7E6bkTt06OCxL/djrd7pea5Zs8Y81iqZVs60qVarYO6fqZXB3LRqpxW2jh07uvZVrVpVmjRpYp5TDz74oGmK7tq1q4wZM8YMuHAaNmyYzJw501TdHnvsMVm1alWh1/TkyZOmGdydXp+lS5d6nGvTpk3Nc87rrI+1af29995z/Wz0++XXl1Cbot2vKwD7KWf1CQDwX9rHTH355ZcSGxvr8Zz2Y3OnffHc+/M5+w8630f7/N1www15PsM9DGloKyntH6j987TfnfZT1KZY7ZfoDJSbNm1yHat9686F9j3s06ePuQ6LFi0yzeLa3P3AAw+YfnvaR1D79ulAjSuvvNI0Gf/zn//M9720eVj7DbrT66PfQZuWc3OGaaVhTz9z8uTJ5vteeOGF0q1btzyv0T6A+hwA+6ICCOCc6bQiGvT27dsn8fHxHltcXFyx30cHf2g1L/d76BYcXPB/prQKt27dOo99uR87A9qsWbNk2rRpJvhopc5ZCXP/LB1IkluzZs3MYJS1a9d6zNOn56vf30m/79ChQ+Xzzz+XRx55RN555x3XczpAY8iQIfLRRx/Ja6+9Zs6jINrPT/sM5r4+2r9Sp4XJfX3cQ7FWNvV6zZgxw1RhtZ+jM2znHlCinwPAvqgAAjhnGpj+/ve/m4EfWs279NJLJTk5Wb777juJiooyoac4nnnmGTOSVQdx/PWvfzUhRps9Naho02pBtNqlTcVaydPmTw152vyqAz/caXVOz0ffS5uaS0JH7eqcfPo5OjhFv7OONNaKp+53jirWSl/jxo1N9U6bazU4Or+bDurQkcE6UGT+/Pmu5/Kj5zpq1CjzPjqqWGnFUAOlDubQZuQqVaqYJl5tWn733XclJCTEHKdNwwMHDjSvT0lJMc3fuenk0r///rv07NmzRNcBQGChAgjAK88//7wZ6arNnhpsdEJibQrV5tbi0tCjwUibTy+55BIzBcqrr74q9erVK/R1Or2Khh0NoVol2717twk9ufvQaaDU/ToiVkfLlpQ2p2qI05DauXNnM9JWm3Sdzdr6vhrSnN9fg+Bbb73lGnWr56h9IHVUsoY1DW4FadWqlfkun376qWtf7dq1TajWz+ndu7c5RkPnBRdckKdCqs3AGh71murrcvvkk0/MexR1bQEEtiAdCWL1SQBAadEBKTExMR5TvziD0aFDh8xULmWdBuhHH33UVEALawIvqYyMDFPR1CZiZzM4AHuiCRiA39KRrDr/oFa7tLKm1a1vvvnGDLZw0iZpnZtPQ48/hD/Vr18/M9G0NtWWpC9lUbSv5pNPPkn4A0AFEID/0ilTdHTsxo0b5dSpU2ZQyNNPP+0xmrh79+7y/fffy7333mualQEABEAAAADbYRAIAACAzRAAAQAAbIYACAAAYDMEQAAAAJshAAIAANgMARAAAMBmCIAAAAA2QwAEAACwGQIgAACA2Mv/A5i65fNwIWkFAAAAAElFTkSuQmCC", + "image/png": "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fVzb1rBhQ/n88899z+3WrZuUL1/eHJ8zzzzThLKc6PMSEhJMpc7f2rVrzfsWL15cKlasKP/+979l9+7d5rGrr77avP7EiRMDnnPgwAGZMmVKQJi8/PLL5Z9//pFFixaF/PkBRB4CIIATouHvnXfekddff11+/vlneeCBB+T222/PEjAGDx4szz//vCxfvlxiY2OlV69eAd2UGrD69+9vxqmNGzfOhBkn5DmeeOIJuf7662XNmjXm+e+//77ZZ9SoUbJixQqpUaOGCYmOSy65xITJd999N6ByqM/zf/+89OjRw7T7008/le+//170FOqdOnXyVSH79u0rqampJnBq27Q9GtTUkCFDzGeaPXu2rF+/3rSvXLlyOb6XHovzzjsvYNvevXulXbt20rx5c9OOOXPmyM6dO+WWW24xj+vx1OOnx8z/9O4a/jIyMqRr166+bfHx8SYg6/sAcDEvABTQkSNHvImJid7vvvsuYPudd97p7dq1q7m9YMECTSTeL7/80vf4rFmzzLbDhw+b++3bt/c+/fTTAa/x7rvveitXruy7r/sPGDAgYJ9WrVp5+/btG7CtTZs23qZNm/rujxo1ynvOOef47k+bNs1bvHhx74EDB3L8XJdeeqm3f//+5vavv/5q3vvbb7/1Pb57925v0aJFvR999JG537hxY+8TTzyR7Wt16dLF27NnT2+orr32Wm+vXr0Ctj311FPejh07BmzbunWradeGDRvM/fXr15v7erwdF198sff222/P8h7XX3+9t0ePHiG3CUDkoQIIoMB+++03M2ZNuxW14uVctCL4+++/B+zrjEFTlStXNtfJycnmevXq1fLkk08GvMbdd98t27dvN6/v0C5kf9qN3LJly4Btwfe1eqftXLJkibmvVTKtnGlXrVbB/N9TK4PBtGqnFbZWrVr5tp1xxhly9tlnm8fU/fffb7qi27RpI8OGDTMTLhx9+vSRSZMmmarbI488It99912ux/Tw4cOmG9yfHp8FCxYEtLV+/frmMec4633tWn/rrbd8341+vuzGEmpXtP9xBeA+seFuAAB76RgzNWvWLKlatWrAYzqOzZ+OxfMfz+eMH3ReR8f83XDDDVnewz8MaWjLLx0fqOPzdNydjlPUrlgdl+gEylWrVvn21bF1BaFjD6+44gpzHObOnWu6xbW7u1+/fmbcno4R1LF9OlGjffv2psv4f//3f7N9Le0e1nGD/vT46GfQruVgTphWGvb0PceMGWM+b926deXSSy/N8hwdA6iPAXAvKoAACkyXFdGgt2XLFqlXr17ApXr16iG/jk7+0Gpe8GvoJTo65/9MaRXuhx9+CNgWfN8JaJMnT5bx48eb4KOVOqcS5v9eOpEk2DnnnGMmoyxdujRgnT5tr35+h37e3r17y8cffywPPvigTJgwwfeYTtDo3r27vPfee/LSSy+ZduREx/npmMHg46PjK3VZmODj4x+KtbKpx+uDDz4wVVgd5+iE7eAJJfo+ANyLCiCAAtPA9NBDD5mJH1rNu+iii2Tfvn3y7bffSsmSJU3oCcXQoUPNTFadxHHTTTeZEKPdnhpUtGs1J1rt0q5ireRp96eGPO1+1Ykf/rQ6p+3R19Ku5vzQWbu6Jp++j05O0c+sM4214qnbnVnFWuk766yzTPVOu2s1ODqfTSd16MxgnSgyc+ZM32PZ0bYOGjTIvI7OKlZaMdRAqZM5tBu5bNmypotXu5bfeOMNiYmJMftp1/Ctt95qnp+SkmK6v4Pp4tJ//fWXdOjQIV/HAUBkoQII4IQ89dRTZqardntqsNEFibUrVLtbQ6WhR4ORdp+2aNHCLIHy4osvSs2aNXN9ni6vomFHQ6hWyTZt2mRCT/AYOg2Uul1nxOps2fzS7lQNcRpSW7dubWbaapeu062tr6shzfn8GgRfe+0136xbbaOOgdRZyRrWNLjlpHHjxuazfPTRR75tVapUMaFa36djx45mHw2dpUuXzlIh1W5gDY96TPV5wT788EPzGnkdWwCRLUpngoS7EQBwsuiElEqVKgUs/eIEo127dpmlXE53GqAffvhhUwHNrQs8v9LS0kxFU7uInW5wAO5EFzAAa+lMVl1/UKtdWlnT6taXX35pJls4tEta1+bT0GND+FOdO3c2C01rV21+xlLmRcdq/s///A/hDwAVQAD20iVTdHbsjz/+KEeOHDGTQh5//PGA2cRt27aVZcuWyT333GO6lQEABEAAAADXYRIIAACAyxAAAQAAXIYACAAA4DIEQAAAAJchAAIAALgMARAAAMBlCIAAAAAuQwAEAABwGQIgAACAuMv/A0SYDPUVEt94AAAAAElFTkSuQmCC", "text/html": [ "\n", "
\n", "
\n", " Figure\n", "
\n", - " \n", + " \n", "
\n", " " ], @@ -271,13 +269,186 @@ ], "source": [ "spectrum = file_widget.selected_dataset\n", + "\n", "spectrum.metadata['experiment']['convergence_angle'] = 30\n", "spectrum.metadata['experiment']['collection_angle'] = 40\n", - "\n", "view = spectrum.plot()\n", "spectrum.view_metadata()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analysis of Low-Loss Spectrum\n", + "The full analyisis of a low-loss spectrum is perfored below.\n", + "The steps to analyse that spectrum is performed step by step below; these steps are:\n", + "- calibrate energy scale to zero-loss peak\n", + "- fit zero-loss peak\n", + "- fit plasmon peak\n", + "- fit multiple scattering\n", + "- fit rest of spectrum with Gaussians (Gaussian Mixing Model)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "relative thickness t/lambda: 0.207\n", + "using 38 Gaussians for fit\n", + "Volume-plasmon MFP = 4.39 nm\n", + "Free-electron MFP = 127.51 nm\n", + "--------------------------------\n", + "relative thickness t/lambda: 0.207\n", + "estimated thickness = 26.36 nm\n", + "\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f11c72e8a6d745bb896c03127d9aa558", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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334rL730knTs2LF8Z9Gx08AwCQwAHExRUREnCVWO4wNgdna2XH755fLyyy9L3bp1E/16VGlev9+M/I0cBJLQQwLgcNOnT5cOHTpIjRo1pH79+nL66adLTk5OqDp33333ScOGDaVWrVpy/fXXS2FhYei+Pp9PJk2aJK1btzb379Spk3m8cP/73/9k4MCB5v6ZmZlyyimnyPr16+Xee++V1157TWbNmmVaj/Qyb9482bhxo/n+nXfekb59+0paWpq8+eabZv/OnTtHPPZTTz0lRx55ZOh68Jgfeughady4sdSpU0fuv/9+KS4uljFjxki9evXkiCOOkClTphyGM4vqLkkcbvjw4XLuueeaXxoTJ0484L4FBQXmEpSVlSVOmwfQHVUB1G0AqiH9t12Um5jnTk4XcWkv4wPbunWrXHbZZfLII4/I+eefL/v27ZMvv/wy1Df5s88+MwEsGMyGDh1qQuKDDz5obtfw98Ybb8iLL74obdq0kQULFshf//pXExg1vP3222/Sp08f6devn3z++ecmBC5atMgEsttuu01WrVplPgeCgUwD2pYtW8z3Y8eOlccff1y6dOlijkFbmazQ59GQp8eiz3X11VfLV199ZY5j8eLFJlhed911csYZZ5j9gPJydACcNm2aLFu2zDQBW6G/LPSvSWfPAxjeB5AmYKDa0vD3ULPEPPedW0RSMiwFQA1jF1xwgbRq1cps02pgUEpKirz66quSnp4uxx13nKmmaSXtgQceMM2yWmn79NNPpVevXmb/o446ShYuXGjCmgbA5557TmrXrm0+K5KTk80+bdu2DT2+Vg21KNCkSZNSx6b9yfW44qUh8plnnhG32y3t2rUz4TY3N1fuvPNOc/u4ceNMn3U9zj//+c9xPz4gTg+Amzdvlptvvlk++eQT89eZFfoPb/To0aHr+pdfixYtxCl01Y/oCiCjgAEkijbZ9u/f34S+s846S84880y56KKLQt159HYNf0Ea9LTbj/7+168arLSSFk6biLVqp5YvX26afIPhLx7dunUr18+kQVXDX5A2BR9//PGh6x6Px1Qxt2/fXq7HB8TpAXDp0qXmH9AJJ5wQ2ub1ek3ZffLkyeavOv2HFi41NdVcHL0UXFgfQDfrgADVlzbDaiUuUc9tgf6O1j/itYl07ty58uyzz8pdd91lmkoPRgOg+vDDD6V58+YRtwV/z2uFr7wyMiIrmBrqov9gjjU4JDpsan/CWNu0/yJQEY4NgPpX48qVKyO2af+QY489Vu64445S4Q/BUcDeiD5C9AEEqintg2ehGTbRNAz17t3bXMaPH2+agmfMmGFu+/777yUvLy8U5L755hupWbOmabnRplYNeps2bTLNvbHozBA60EODWqwqoDYxa+HACu1XuG3bNhMC9ZiDFUYgURwbAHU0V3hZPfgXm5bWo7cjQH9xab+/IG2kYAwIgETRSp8O9NCm30aNGpnrO3bskPbt28uKFStMc64Oorj77rvNIJAJEybIiBEjTDVOPwN0IMctt9xiqmknn3yy7N271wy80MEeQ4YMMftqVVH72mkXIO0PqCGye/fupn+ejuCdM2eOrFmzxnx26O1l0YEkemzap0+bqT/++GOZPXu2eS4gERw/DQziXQkkbC1gYSJoAImj4Um77ZxzzjlmcIYGPR15e/bZZ4daenR0r46gvfTSS+X//u//zHQsQToY5J577jED/DQ0DhgwwDQJ67QwSkOdjsrV5mKtEnbt2tVMGRasBg4bNswEQe3vpxU+DY9l0cd//vnnzcAS7Zu4ZMkSE0CBRHH56cVfbjoIRP/i078anfBX3AcrtsiyJx+Qi7+eZ67P7t5TWt78gFzUlakIADvLz8+XDRs2mOBjdVBcVadz6u3Zs0dmzpyZ6ENBFXxfZzns8zsWKoCwzB9VAdTv6QMIAID9EABhmb9k6pcgl04JwzzQAADYjmMHgSB+ZvRa2KgPHcfGVNAAqqKpU6cm+hCAKo0KIOISvjiTDgLRgSEAAMBeCICwTIt/kU3ATAMDAIAdEQBhmTb3RjYB6xZKgAAA2A0BEHFWAMPePH5dC5gTCACA3RAAUf4mYJcGQBIgAAB2QwBEBaaBoQEYAAA7IgCiYtPAUAAEUIXper1PPfVUog8DqHIIgKjQRNA0AQMAYD8EQFhXaik4YR5AAABsiACICk4DAwCJ069fPxkxYoS51K5dWxo0aCD33HNPma0TTzzxhHTo0EEyMjKkRYsWcuONN0p2dnbo9l9++UUGDRokdevWNfscd9xx8tFHH5nb5s2bJy6XS+bMmSNdunSRGjVqyGmnnSbbt2+X2bNnS/v27aVWrVryl7/8RXJzc0OPWVBQIDfddJM0atRI0tLS5OSTT5Zvv/02dHvwcT/77DPp1q2bpKeny0knnSRr1qw5pOcOzsZScCj3NDAaBn10AgSqJQ1QecV5CXnuGkk1TCCy6rXXXpOrr75alixZIt99951ce+210rJlSxk2bFipfd1utzzzzDPSunVr+fnnn00AvP322+X55583tw8fPlwKCwtlwYIFJgD++OOPUrNmzYjHuPfee2Xy5MkmqF1yySXmkpqaKm+99ZYJk+eff748++yzcscdd5j99fHfe+89c5ytWrWSRx55RM466yxZt26d1KtXL/S4d911lzz++OPSsGFDuf766+Vvf/ubLFq0qAJnEigbARDl7wNI/Q+otjT89XirR0Kee/FfFkt6crrl/bWS9+STT5rQ2K5dO1m5cqW5HisAjho1KmKAyMSJE03YCgbATZs2yYUXXmiqhOqoo44q9Rh6n969e5vvNXiOGzdO1q9fH9r3oosuki+++MIEwJycHHnhhRfM2sRnn322uf3ll1+WTz75RP7xj3/ImDFjQo/74IMPSt++fc33Y8eOlXPPPVfy8/NN1RCobDQBI74KYHgTMBVAAFVAz549IyqGvXr1krVr14rX6y2176effir9+/eX5s2bS2ZmplxxxRWya9euUJOtNtUGA96ECRNkxYoVpR6jY8eOoe8bN25sKoHhQVG3abOw0mBYVFQUCowqOTlZunfvLqtWrSrzcZs2bWq+Bh8HqGxUABFfH8Cw66YPIJ0AgWpJm2G1Epeo5z4UNm7cKAMHDpQbbrjBVNu0+XXhwoWmiqfNvhrkrrnmGtM8++GHH8rcuXNl0qRJpll25MiREQEuSINn+PXgNp/PF/fxRT+uKs/jAFYQAFH+lUBKmoUBVD8aQOJphk2kxYsjg+o333wjbdq0EY/HE7F96dKlJlBpoNO+gOpf//pXzCZlbRbWizbvapNteACMx9FHHy0pKSmmL5/2/1NaEdRBIOHN0cDhRgBEfH0Ao5qAqQACSDTttzd69Gi57rrrZNmyZWYAhoa8aMccc4wJX3q7jvTVUPbiiy9G7KOhTPvqtW3bVnbv3m368uno3vLSgSRacdS+flpx1MEpOghEm5y18ggkCgEQ1ulKIFGDQBgFDCDRrrzySsnLyzP96rTqd/PNN5uRwNE6depkpoH5+9//bip7ffr0MU28ev8g7TeoI4F//fVXM6XLgAEDzICSinj44YdN5VH7G+7bt89M9aJTyehUM0Ci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WFQAEV8TcHgKNINAiIAAEluxGjlypKla1a1bVxo3biwvv/yy5OTkyNChQyUzM1OOOeYYmT17dpnNsDNnzjQVrrKaK1977TWZNWuW2UcvWhGLbgIOVsk+/PBD6dixo6SlpUnPnj3lhx9+OODx6+OecMIJZv+jjjpK7rvvPikuLi5z/8LCQhkxYoQ0bdrU3KdVq1YyadKk0O1apbvuuuvMedDbtUL5wQcfmNt27doll112mTRv3lzS09OlQ4cO8vbbb0dUOufPny9PP/106GfVn/PUU081t+v51W26n/L5fOa5W7duLTVq1JBOnTrJ9OnTQ48XPCd67rt27SqpqamycOHCUk3AwQrrY489Zn6u+vXry/Dhw6WoqCi0j1Zbzz33XPM8+nxvvfWWHHnkkfLUU08d8PyibFQAUe5pYPR7H/kPqJb0j7viwsRM9JmU4i4zkMWiAe3222+XJUuWyDvvvCM33HCDzJgxQ84//3y588475cknn5QrrrhCNm3aVK7mylWrVklWVpZMmTLFbKtXr55s2bIl5v5jxowxAUqrg/rcgwYNkp9++kmSk5NL7fvll1/KlVdeKc8884yccsopsn79ern22mvNbRMmTIj5+Lrvf/7zH/nXv/4lLVu2lM2bN5tLMJCdffbZsm/fPnnjjTfk6KOPlh9//NFUK1V+fr4JYnfccYfUqlXLhFU9L7pf9+7dzXHrsWpovP/++819GjZsKO+9955ceOGFsmbNGnM/DWFKw58+z4svviht2rSRBQsWyF//+ldzn759+4aOeezYsSbcacDVEKnBMNoXX3xhwp9+XbdunVx66aUmJA4bNszcrudp586d5r56LkePHi3bt2+P89VEOAIgLAvM+RdVAeT8AdWShr//d/P8hDz3tU/3leTUQGixQitPd999t/l+3Lhx8vDDD0uDBg1C4WH8+PHywgsvyIoVK+I+Fm2q1MBTUFBgqclXg9sZZ5wRCqZHHHGECaOXXHJJqX212qfhaMiQIea6BqQHHnjAhNmyAqCGWA1bJ598sgnJWgEM+vTTT00I1sDatm3b0GMGaeVPA22QVk7nzJljwqQGwNq1a0tKSoqpDob/rBp4VaNGjULVUz0fDz30kHnOXr16hZ5LK3wvvfRSRADUMBk8J2XRYDh58mQTVo899lhT7dN+gvoarl692jzPt99+K926dTP7v/LK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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "analyzed_spectrum = pyTEMlib.eels_tools.analyse_low_loss(spectrum, gmm=True, verbose=True)\n", + "#v = analyzed_spectrum.plot()\n", + "energy_scale = analyzed_spectrum.energy_loss\n", + "plasmon = analyzed_spectrum.metadata['plasmon']['array']\n", + "zero_loss = analyzed_spectrum.metadata['zero_loss']['array']\n", + "multiple_scattering = analyzed_spectrum.metadata['plasmon']['multiple_scattering_array']\n", + "model = zero_loss + multiple_scattering + analyzed_spectrum.metadata['gmm']['model']\n", + "plt.figure()\n", + "plt.plot(energy_scale, model, label='model',lw=3)\n", + "plt.plot(energy_scale, analyzed_spectrum, label='spectrum')\n", + "plt.plot(energy_scale, plasmon, label='plasmon')\n", + "plt.plot(energy_scale, zero_loss, label='zero-loss')\n", + "plt.plot(energy_scale, multiple_scattering, label='multiple-scattering')\n", + "# plt.plot(energy_scale, analyzed_spectrum - (zero_loss+multiple_scattering), label='residual')\n", + "plt.plot(energy_scale, analyzed_spectrum-model, label='model_res')\n", + "plt.legend();\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The full information of the analysis is stored in the metadata of the returned spectrum" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "experiment :\n", + "\tsingle_exposure_time : 0.1\n", + "\texposure_time : 0.1\n", + "\tnumber_of_frames : 100\n", + "\tconvergence_angle : 30\n", + "\tcollection_angle : 40\n", + "\tmicroscope : Libra 200 MC\n", + "\tacceleration_voltage : 199990.28125\n", + "filename : C:\\Users\\gduscher\\OneDrive - University of Tennessee\\GitHub\\MLSTEM2025\\example_data\\AL-DFoffset0.00.dm3\n", + "zero_loss :\n", + "\tshifted : [-0.1358428]\n", + "\tfit :\n", + "\t\tparameters : [ 3.46350732e-02 2.83099202e+04 2.88255921e-01 -1.77477283e-02\n", + " 1.64059225e+04 1.96701695e-01]\n", + "\t\tfunction : product of lorentzians\n", + "\tarray : [5.48248673e+02 5.60606657e+02 5.73314732e+02 ... 4.73867252e-02\n", + " 4.72852422e-02 4.71840307e-02]\n", + "plasmon :\n", + "\tsingle_scattering_fit :\n", + "\t\tparameters : [ 1.50320337e+01 8.24534588e-01 -4.35923171e-02 1.19666577e+04]\n", + "\t\tfit_range : (np.float64(10.047756766252292), np.float64(20.04775676625229))\n", + "\t\tfunction : Drude\n", + "\tmultiple_scattering_fit :\n", + "\t\tparameters : [1.50377021e+01 5.65150675e-01 7.82153116e-02 1.17047608e+04\n", + " 2.06758665e-01]\n", + "\t\ttmfp : 0.20675866462492568\n", + "\t\tMFP_volume_plasmon : 0.9072635230506086\n", + "\t\tMFP_free_electron : 127.5147661078453\n", + "\t\tthickness : 26.364782760417825\n", + "\t\trelative_thickness : 0.20675866462492568\n", + "\tarray : [ 0. 0. 0. ... 9995.15483659 9985.51753161\n", + " 9975.89963869]\n", + "\tmultiple_scattering_array : [ 0. 0. 0. ... 13503.43035787\n", + " 13472.78331356 13442.3312684 ]\n", + "plot :\n", + "\tadditional_spectra :\n", + "\t\tzero_loss : metadata['zero_loss']['array']\n", + "\t\tmultiple_scattering : metadata['plasmon']['multiple_scattering_array']\n", + "\t\tmodel : zero_loss+multiple_scattering+metadata['gmm']['model]\n", + "gmm :\n", + "\tparameter : [ 1.68503062e+01 2.88348470e+05 -2.54464385e-01 2.45594087e+01\n", + " 4.13691995e+04 -7.19081217e-01 1.61707186e+01 -2.49950068e+05\n", + " 6.42839085e-01 1.02288890e+01 -5.06821290e+03 1.85040770e-02\n", + " 1.16940328e+00 6.44118633e+05 -4.21637628e-01 -2.22190883e-01\n", + " -1.26071944e+06 -1.97312675e-02 3.57380868e-01 -2.51790880e+06\n", + " 2.50029712e-02 -1.00400437e+01 -6.12633919e+05 3.42927591e+00\n", + " 1.40173770e+00 -4.52393772e+05 3.49769650e-01 -5.66788316e-01\n", + " -3.88824188e+05 1.56897199e-01 6.35491133e+00 4.21861848e+05\n", + " 9.89122987e+00 6.40021875e+00 1.11758292e+05 2.84207289e-01\n", + " 8.54281172e+00 -1.36587757e+05 -3.78412575e-01 9.10669519e+00\n", + " -6.71044659e+03 1.36199698e-01 1.02524246e+01 -1.83664555e+05\n", + " 2.92154980e-01 1.01876622e+01 1.84734366e+04 5.70976198e-02\n", + " 1.14873341e+01 -1.43948621e+05 2.27334419e-01 1.45435844e+01\n", + " 1.17133907e+04 6.03820346e-01 1.26261938e+01 -1.59361101e+05\n", + " 2.28398283e-01 1.68106625e+01 -2.40136865e+05 -6.05052981e-01\n", + " 1.44001085e+01 -2.27418925e+05 -3.25517102e-01 1.81560173e+01\n", + " -2.32043280e+05 7.68773231e-04 1.80461784e+01 1.48938050e+05\n", + " -2.24197335e-01 1.91384851e+01 2.31691762e+04 1.53943256e-01\n", + " 2.10716571e+01 7.24399418e+02 4.14189549e-01 2.09560811e+01\n", + " -1.38595195e+03 8.54052227e-02 3.12773962e+01 2.13067274e+05\n", + " -2.79727930e-01 2.26800882e+01 9.11950399e+02 1.64847360e-01\n", + " 2.56873194e+01 -9.15049922e+04 9.44963660e-01 3.44926384e+01\n", + " -9.83644026e+03 1.80864551e+00 3.06632549e+01 -3.17461635e+05\n", + " -4.87330303e-01 3.08158324e+01 -5.56375647e+04 1.87909211e+00\n", + " 5.73589236e+01 -6.11613540e+03 -2.80773929e+00 3.15198140e+01\n", + " -5.03157540e+04 1.48101272e-01 3.51440399e+01 3.49683412e+03\n", + " 7.11343227e-02 3.56354606e+01 1.93939931e+04 -1.92563724e-01\n", + " 3.55742167e+01 -8.28729410e+04 -9.06821421e-01 3.77362469e+01\n", + " -4.95209334e+04 -8.86118072e-02]\n", + "\tmodel : [-61179.58141729 -60150.74377006 -59121.08071297 ... 59781.56356563\n", + " 57373.03115096 55084.45384473]\n", + "\tmode : low_loss_residual\n" + ] + } + ], + "source": [ + "analyzed_spectrum.view_metadata()\n" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -711,6 +882,15 @@ "_,_ = pyTEMlib.eels_tools.estimate_thickness(shifted_low_loss, anglog)\n" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pyTEMlib.eels_tools.estimate_thickness(``)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -794,53 +974,24 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 29, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "using 30 Gaussians for fit\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\Users\\gduscher\\OneDrive - University of Tennessee\\GitHub\\pyTEMlib\\notebooks\\Spectroscopy\\../..\\pyTEMlib\\eels_tools\\peak_fit_tools.py:186: RuntimeWarning: Number of calls to function has reached maxfev = 10000.\n", - " [p, _] = scipy.optimize.leastsq(residuals3, pin, args=(x, y),maxfev = 10000)\n" + "ename": "AttributeError", + "evalue": "'NoneType' object has no attribute 'energy_loss'", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mAttributeError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[29]\u001b[39m\u001b[32m, line 2\u001b[39m\n\u001b[32m 1\u001b[39m spectrum = analyzed_spectrum \u001b[38;5;66;03m# - (zero_loss+multiple_scattering) #shifted_low_loss-zero_loss-multiple_scattering\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m2\u001b[39m energy_scale = spectrum.energy_loss\n\u001b[32m 3\u001b[39m peak_model, p = pyTEMlib.eels_tools.gaussian_mixture_model(spectrum, p_in=\u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[32m 4\u001b[39m \n\u001b[32m 5\u001b[39m print(f'using {int(len(p)/\u001b[32m3\u001b[39m)} Gaussians for fit')\n", + "\u001b[31mAttributeError\u001b[39m: 'NoneType' object has no attribute 'energy_loss'" ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ec3280fca65944308b791395e0023284", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUi1JREFUeJzt3Qeck/Xhx/FvktsT7ljHnqKIIqLiQKG4q1bUWutfW7RU62rdg1p3Lc66atXWFkete7UqKhVxgQMUERUEZN6xub2TPP/X7xeSu9wdJ3CBS+75vH09JnnyJHny5An53m96HMdxBAAAANfwtvcOAAAAYNciAAIAALgMARAAAMBlCIAAAAAuQwAEAABwGQIgAACAyxAAAQAAXIYACAAA4DIEQAAAAJchAAIAALgMARAAAMBlCIAAAAAuQwAEAABwGQIgAACAyxAAAQAAXIYACAAA4DIEQAAAAJchAAIAALgMARAAAMBlCIAAAAAuQwAEAABwGQIgAACAyxAAAQAAXIYACAAA4DIEQAAAAJchAAIAALgMARAAAMBlCIAAAAAuQwAEAABwGQIgAACAyxAAAQAAXIYACAAA4DIEQAAAAJchAAIAALgMARAAAMBlCIAAAAAuQwAEAABwGQIgAACAyxAAAQAAXIYACAAA4DIEQAAAAJchAAIAALgMATBG3n//fZ1wwgnq2bOnPB6PXnnlle16/I033mgf13TJzMyM1S4CAABYBMAYqays1IgRI/Tggw/u0OOvuOIKrVmzJmoZNmyYTj311FjtIgAAgEUAjJFjjz1Wf/zjH3XSSSe1eH9tba0Neb169bKleqNHj9bMmTMj92dlZalHjx6RZd26dfrmm280adKkWO0iAACARQDcRS666CLNnj1bzzzzjObPn29L9o455hgtXry4xe0fffRR7bbbbjr00EN31S4CAACXIADuAitXrtTUqVP1/PPP20A3aNAgWxo4ZswYu76pmpoaPfXUU5T+AQCAnSJp5zwtGvvqq68UCARsiV7TauH8/PxmB+vll19WeXm5Jk6cyIEEAAAxRwDcBSoqKuTz+TR37lx72Zhp+9dS9e/xxx+v7t2774rdAwAALkMA3AVGjhxpSwDXr1//g236li1bpnfffVf/+c9/dsWuAQAAFyIAxrCUb8mSJVFBbt68ecrLy7NVv2eccYZ++ctf6u6777aBcMOGDXrnnXe0995767jjjos87p///KcKCgpsr2IAAICdweM4jrNTntllzJAuP/rRj5qtN+34HnvsMdXX19thYp544gkVFhaqS5cuOvDAA3XTTTdpr732stsGg0H169fPBsVbb721Hd4FAABwAwIgAACAyzAMDAAAgMsQAAEAAFyGAAgAAOAy9AJuA9Npo6ioSNnZ2fJ4PLH7VAAAwE7jOI6dcKFnz57yet1ZFkYAbAMT/vr06RO7TwMAAOwyq1atUu/evV15xAmAbWBK/sInUE5OTqw+EwAAsBOVlZXZApzw77gbEQDbIFzta8IfARAAgMTicXHzLXdWfG9hBmQ+88wzlZ+fr/T0dDsg85w5c9p7twAAAHYq15YAFhcX65BDDrGzd0ybNk1du3bV4sWL1blz5/beNQAAgJ3KtQHw9ttvt/X/U6dOjawbMGBAu+4TAADAruDaAPif//xHRx99tE499VS999576tWrly644AKdc845W31MbW2tXRo3IgWAjj5cht/vVyAQaO9dAbaZz+dTUlKSq9v4/RDXBsDvv/9eDz30kC677DL9/ve/12effabf/e53SklJ0cSJE1t8zJQpU3TTTTft8n0FgPZQV1enNWvWqKqqig8ACScjI0MFBQX2dx3NeRzz550LmRNiv/3206xZsyLrTAA0QXD27NnbXAJoqpFLS0vpBQygww10b9pFm5IU00ba/JtJaQoSgYk15o+XDRs22JLrIUOGNBvsuaysTLm5ua7+/XZtCaD5q2DYsGFR6/bYYw+9+OKLW31MamqqXQCgozM/oCYEmj9yTUkKkEjMyB7JyclasWKFPZfT0tLae5fijmuHgTE9gBctWhS17rvvvlO/fv3abZ8AIN64dZosJD7O3da59pt96aWX6uOPP9af/vQnLVmyRP/+97/1t7/9TRdeeGF77xoAAMBO5doAuP/+++vll1/W008/reHDh+uWW27RvffeqzPOOKO9dw0AECfGjRunSy65pL13w7a/fOWVV9p7N9CBuLYNoHH88cfbBQAA7LizzjpLJSUlhNQE4toSQACAO5hOAIgP9fX17b0L2IIAiJj46OFnNP3uxziaAOKi2vaiiy6yVbddunSxg/4bCxYs0LHHHqusrCx1795dv/jFL7Rx48bI4yorK/XLX/7S3m9Girj77ru3qSq2U6dOeuyxhn//Vq9erdNPP115eXnKzMy0Q4598sknkftfffVV7bvvvrZn6sCBA+34smaw7TAz/M5hhx1m7zejVUyfPv0H3/MLL7xg57M3vV/N/PZHHHGEfT/h0rkJEybY1zFD+phhT84777yoYGx6fJuxbs2MWOY5RowYYZ+zsa+//trWmpnHZ2dn69BDD9XSpUt144036vHHH7fvyxwfs8ycOVPLly+315999lmNHTvWvp+nnnrKbr/PPvtEPbdpgtW/f//I7fA+m3b65rMyx/jmm2+2x+nKK6+0x7Z3795Rs3lh+7i6Chix4QSDOmN5tqRszVm8XF2GNHyJAXQgZtjY9hoU2gxFsx2zOphAcv755+ujjz6yt0315Pjx4/XrX/9a99xzj6qrq3X11VfrZz/7mWbMmGG3McHCzAxlgky3bt3sJAGff/55s7DSmoqKCht2zOxSZsapHj162OcwAcv44IMPbMi8//77IwHq3HPPtffdcMMNdruTTz7Zhh4TGs04dT/UBtEM1m0C5x133KGTTjpJ5eXl9nUaD/P7zjvv2AAWDmZnn322DYq33nqrvd+Ev3/96196+OGH7bh577//vs4880wbGM37KSwstKHUhGtzvEwINMfWBLIrrrhC3377rR1bLxzITEArKiqy16+55hobpkeOHGn34ZFHHtmmY2lex4Q8sy/mtSZNmmTH7jX7YY6NCZa/+c1vdOSRR9rtsJ3MQNDYMaWlpebbZS/dLBgIOP2ufs0ui2fNa+/dARAD1dXVzjfffGMvIyoqTKRon8W89jYaO3asM3LkyKh1t9xyi3PUUUdFrVu1apX9N3zRokVOeXm5k5KS4jz33HOR+zdt2uSkp6c7F198cWSd2f7ll1+Oep7c3Fxn6tSp9vojjzziZGdn28e25PDDD3f+9Kc/Ra178sknnYKCAnv9rbfecpKSkpzCwsLI/dOmTWvxdcPmzp1r71++fHmL90+cONHJy8tzKisrI+seeughJysrywkEAk5NTY2TkZHhzJo1K+pxkyZNck4//XR7ffLkyc6AAQOcurq6rb7GiSeeGLVu2bJldr/uvffeqPU33HCDM2LEiKh199xzj9OvX7+o5zO3zf6FDR061Dn00EMjt/1+v5OZmek8/fTT234Ob1HK77dDCSBiyqUTywCIM6NGjYq6/eWXX+rdd9+11btNmVI4UyJoqkRHjx4dWW9K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efOcN9980+nataszefJkp6O45pprbM/oZcuW2XPF3Da9wd9++217P8eoZY17AXOcQi6//HL7fTPn0kcffeQcccQRTpcuXWwPfI4RwgiAaLMHHnjA/ninpKTYYWE+/vhj1xzVd9991wa/psvEiRMjQ8Fcd911Tvfu3W1QPvzww51FixZFPcemTZts4MvKyrLDmpx99tk2WHYULR0fs0ydOjWyjQnEF1xwgR32JCMjwznppJNsSGxs+fLlzrHHHuukp6fbHzPzI1dfX+90FL/61a+cfv362e+RCbfmXAmHP4NjtG0BkOPkOKeddppTUFBgz6VevXrZ20uWLOEYIYrH/K+hPBAAAAAdHW0AAQAAXIYACAAA4DIEQAAAAJchAAIAALgMARAAAMBlCIAAAAAuQwAEAABwGQIgAACAyxAAAQAAXIYACAAA4DIEQAAAAJchAAIAALgMARAAAMBlCIAAAAAuQwAEAABwGQIgAACAyxAAAQAAXIYACAAA4DIEQAAAAJchAAIAALgMARAAAMBlCIAAAAAuQwAEAABwGQIgAACAyxAAAQAAXIYACAAA4DIEQAAAAJchAAIAALgMARAAAMBlCIAAAAAuQwAEAACQu/w/fhzt/iHsn0QAAAAASUVORK5CYII=", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" } ], "source": [ "\n", - "spectrum = shifted_low_loss-zero_loss-multiple_scattering\n", + "spectrum = analyzed_spectrum # - (zero_loss+multiple_scattering) #shifted_low_loss-zero_loss-multiple_scattering\n", "energy_scale = spectrum.energy_loss\n", "peak_model, p = pyTEMlib.eels_tools.gaussian_mixture_model(spectrum, p_in=None)\n", "\n", @@ -1122,7 +1273,7 @@ "metadata": { "hide_code_all_hidden": false, "kernelspec": { - "display_name": "pytemlib (3.14.5)", + "display_name": "pytemlib (3.14.5.final.0)", "language": "python", "name": "python3" }, diff --git a/pyTEMlib/data/CuAl-60kV_ZA-Spectra from Area #1-Lines.csv b/pyTEMlib/data/CuAl-60kV_ZA-Spectra from Area #1-Lines.csv new file mode 100644 index 00000000..08774cd8 --- /dev/null +++ b/pyTEMlib/data/CuAl-60kV_ZA-Spectra from Area #1-Lines.csv @@ -0,0 +1,524 @@ +Line identifier,Energy level,Intensity,Chi-Rho-Tau absorption,K-factor +-,eV,counts,-,- +B-Ka1,1.83300e+02,0.00000e+00,0.00000e+00,1.00000e+00 +C-Ka1,2.77400e+02,0.00000e+00,0.00000e+00,5.42016e-01 +N-Ka1,3.92400e+02,0.00000e+00,0.00000e+00,4.34730e-01 +O-Ka1,5.24900e+02,4.48183e+04,0.00000e+00,3.86050e-01 +F-Ka1,6.76800e+02,6.19359e+03,0.00000e+00,4.04394e-01 +Ne-Ka1,8.48600e+02,2.99339e+03,0.00000e+00,3.68134e-01 +Na-Ka1,1.04100e+03,0.00000e+00,0.00000e+00,3.71368e-01 +Mg-Ka1,1.25360e+03,1.44179e+04,0.00000e+00,3.56439e-01 +Al-Ka1,1.48650e+03,9.94937e+05,0.00000e+00,3.63845e-01 +Si-Ka1,1.73970e+03,1.98806e+04,0.00000e+00,3.61432e-01 +P-Ka1,2.01330e+03,0.00000e+00,0.00000e+00,3.76500e-01 +S-Ka1,2.30720e+03,2.84060e+03,0.00000e+00,3.66556e-01 +S-Ll,1.47110e+02,0.00000e+00,0.00000e+00,8.06846e+00 +Cl-Ka1,2.62240e+03,0.00000e+00,0.00000e+00,3.85459e-01 +Cl-Ll,1.82500e+02,0.00000e+00,0.00000e+00,4.82312e+00 +Ar-Ka1,2.95770e+03,0.00000e+00,0.00000e+00,4.18180e-01 +Ar-Kb1,3.19050e+03,0.00000e+00,0.00000e+00,4.18180e-01 +Ar-Ll,2.19900e+02,0.00000e+00,0.00000e+00,3.38787e+00 +K-Ka1,3.31380e+03,0.00000e+00,0.00000e+00,3.97275e-01 +K-Kb1,3.58960e+03,0.00000e+00,0.00000e+00,3.97275e-01 +K-Ll,2.59700e+02,0.00000e+00,0.00000e+00,2.30454e+00 +Ca-Ka1,3.69170e+03,4.56185e+02,0.00000e+00,3.98641e-01 +Ca-Ka2,3.68810e+03,2.28093e+02,0.00000e+00,3.98641e-01 +Ca-Kb1,4.01270e+03,8.89562e+01,0.00000e+00,3.98641e-01 +Ca-Ll,3.02700e+02,3.01750e+03,0.00000e+00,1.77750e+00 +Sc-Ka1,4.09060e+03,0.00000e+00,0.00000e+00,4.40863e-01 +Sc-Ka2,4.08610e+03,0.00000e+00,0.00000e+00,4.40863e-01 +Sc-Kb1,4.46050e+03,0.00000e+00,0.00000e+00,4.40863e-01 +Sc-La1,3.94200e+02,0.00000e+00,0.00000e+00,1.67391e+00 +Sc-Ll,3.48400e+02,0.00000e+00,0.00000e+00,1.67391e+00 +Sc-Ln,3.52900e+02,0.00000e+00,0.00000e+00,1.69641e+00 +Ti-Ka1,4.51090e+03,1.05624e+04,0.00000e+00,4.65309e-01 +Ti-Kb1,4.93180e+03,1.47874e+03,0.00000e+00,4.65309e-01 +Ti-La1,4.47500e+02,1.64293e+03,0.00000e+00,1.34072e+00 +Ti-Lb1,4.53500e+02,1.87764e+03,0.00000e+00,1.36203e+00 +Ti-Ll,3.95200e+02,5.39821e+03,0.00000e+00,1.34072e+00 +V-Ka1,4.95220e+03,5.70486e+02,0.00000e+00,4.94352e-01 +V-Ka2,4.94460e+03,2.85243e+02,0.00000e+00,4.94352e-01 +V-Kb1,5.42730e+03,1.14097e+02,0.00000e+00,4.94352e-01 +V-La1,5.04900e+02,0.00000e+00,0.00000e+00,1.19793e+00 +V-La2,5.10700e+02,0.00000e+00,0.00000e+00,1.19793e+00 +V-Lb1,5.18300e+02,0.00000e+00,0.00000e+00,1.21945e+00 +V-Ll,4.46400e+02,0.00000e+00,0.00000e+00,1.19793e+00 +V-Ln,4.54000e+02,0.00000e+00,0.00000e+00,1.21945e+00 +Cr-Ka1,5.41470e+03,6.21901e+02,0.00000e+00,5.07126e-01 +Cr-Ka2,5.40550e+03,3.10951e+02,0.00000e+00,5.07126e-01 +Cr-Kb1,5.94670e+03,1.24380e+02,0.00000e+00,5.07126e-01 +Cr-La1,5.72200e+02,0.00000e+00,0.00000e+00,1.09675e+00 +Cr-La2,5.72200e+02,0.00000e+00,0.00000e+00,1.09675e+00 +Cr-Lb1,5.81400e+02,0.00000e+00,0.00000e+00,1.11813e+00 +Cr-Ll,5.00400e+02,0.00000e+00,0.00000e+00,1.09675e+00 +Cr-Ln,5.09600e+02,0.00000e+00,0.00000e+00,1.11813e+00 +Mn-Ka1,5.89870e+03,1.60773e+03,0.00000e+00,5.41974e-01 +Mn-Ka2,5.88760e+03,2.41160e+02,0.00000e+00,5.41974e-01 +Mn-Kb1,6.49040e+03,2.49198e+02,0.00000e+00,5.41974e-01 +Mn-La1,6.33160e+02,0.00000e+00,0.00000e+00,1.04142e+00 +Mn-La2,6.33040e+02,0.00000e+00,0.00000e+00,1.04142e+00 +Mn-Lb1,6.44140e+02,0.00000e+00,0.00000e+00,1.06350e+00 +Mn-Ll,5.56400e+02,0.00000e+00,0.00000e+00,1.04142e+00 +Mn-Ln,5.67500e+02,0.00000e+00,0.00000e+00,1.06350e+00 +Fe-Ka1,6.40390e+03,1.45321e+03,0.00000e+00,5.60321e-01 +Fe-Ka2,6.39090e+03,7.26604e+02,0.00000e+00,5.60321e-01 +Fe-Kb1,7.05800e+03,2.96454e+02,0.00000e+00,5.60321e-01 +Fe-La1,7.04500e+02,0.00000e+00,0.00000e+00,9.21947e-01 +Fe-La2,7.04500e+02,0.00000e+00,0.00000e+00,9.21947e-01 +Fe-Lb1,7.17500e+02,0.00000e+00,0.00000e+00,9.42736e-01 +Fe-Ll,6.15200e+02,0.00000e+00,0.00000e+00,9.21947e-01 +Co-Ka1,6.93030e+03,9.14560e+02,0.00000e+00,6.04656e-01 +Co-Ka2,6.91530e+03,4.57280e+02,0.00000e+00,6.04656e-01 +Co-Kb1,7.64940e+03,1.88399e+02,0.00000e+00,6.04656e-01 +Co-La1,7.75700e+02,1.64344e+03,0.00000e+00,8.60551e-01 +Co-La2,7.75700e+02,1.64344e+02,0.00000e+00,8.60551e-01 +Co-Lb1,7.90700e+02,3.96068e+02,0.00000e+00,8.80999e-01 +Co-Ll,6.77900e+02,3.94424e+02,0.00000e+00,8.60551e-01 +Ni-Ka1,7.47810e+03,6.95997e+02,0.00000e+00,6.19451e-01 +Ni-Ka2,7.46090e+03,1.73999e+02,0.00000e+00,6.19451e-01 +Ni-Kb1,8.26470e+03,1.18319e+02,0.00000e+00,6.19451e-01 +Ni-La1,8.51100e+02,0.00000e+00,0.00000e+00,7.70622e-01 +Ni-La2,8.51100e+02,0.00000e+00,0.00000e+00,7.70622e-01 +Ni-Lb1,8.68300e+02,0.00000e+00,0.00000e+00,7.89831e-01 +Ni-Ll,7.42900e+02,0.00000e+00,0.00000e+00,7.70622e-01 +Cu-Ka1,8.04780e+03,5.13541e+04,0.00000e+00,6.93709e-01 +Cu-Ka2,8.02790e+03,1.43791e+04,0.00000e+00,6.93709e-01 +Cu-Kb1,8.90530e+03,9.75727e+03,0.00000e+00,6.93709e-01 +Cu-La1,9.29500e+02,7.16109e+04,0.00000e+00,7.53916e-01 +Cu-La2,9.29500e+02,7.16109e+03,0.00000e+00,7.53916e-01 +Cu-Lb1,9.49400e+02,1.28900e+04,0.00000e+00,7.73958e-01 +Zn-Ka1,8.63890e+03,8.72043e+02,0.00000e+00,7.44894e-01 +Zn-Ka2,8.61580e+03,4.36022e+02,0.00000e+00,7.44894e-01 +Zn-Kb1,9.57200e+03,1.74409e+02,0.00000e+00,7.44894e-01 +Zn-La1,1.01160e+03,3.39721e+03,0.00000e+00,7.15037e-01 +Zn-La2,1.01160e+03,3.39721e+02,0.00000e+00,7.15037e-01 +Zn-Lb1,1.03470e+03,9.71603e+02,0.00000e+00,7.35277e-01 +Ga-Ka1,9.25170e+03,2.20627e+02,0.00000e+00,8.36578e-01 +Ga-Ka2,9.22480e+03,1.54439e+02,0.00000e+00,8.36578e-01 +Ga-Kb1,1.02642e+04,5.07441e+01,0.00000e+00,8.36578e-01 +Ga-La1,1.09800e+03,1.17952e+03,0.00000e+00,7.09265e-01 +Ga-La2,1.09800e+03,1.17952e+02,0.00000e+00,7.09265e-01 +Ga-Lb1,1.12490e+03,3.55036e+02,0.00000e+00,7.30740e-01 +Ge-Ka1,9.88640e+03,3.82962e+02,0.00000e+00,9.29296e-01 +Ge-Ka2,9.85530e+03,1.91481e+02,0.00000e+00,9.29296e-01 +Ge-Kb1,1.09823e+04,4.97850e+01,0.00000e+00,9.29296e-01 +Ge-La1,1.18800e+03,0.00000e+00,0.00000e+00,6.92672e-01 +Ge-La2,1.18800e+03,0.00000e+00,0.00000e+00,6.92672e-01 +Ge-Lb1,1.21910e+03,0.00000e+00,0.00000e+00,7.15007e-01 +As-Ka1,1.05436e+04,9.02910e+02,0.00000e+00,1.03652e+00 +As-Ka2,1.05081e+04,4.51455e+02,0.00000e+00,1.03652e+00 +As-Kb1,1.17262e+04,1.32728e+02,0.00000e+00,1.03652e+00 +As-La1,1.28190e+03,0.00000e+00,0.00000e+00,6.72153e-01 +As-La2,1.28190e+03,0.00000e+00,0.00000e+00,6.72153e-01 +As-Lb1,1.31740e+03,0.00000e+00,0.00000e+00,6.95012e-01 +Se-Ka1,1.12220e+04,2.87742e+02,0.00000e+00,1.20016e+00 +Se-Ka2,1.11816e+04,1.43871e+02,0.00000e+00,1.20016e+00 +Se-Kb1,1.24959e+04,4.31613e+01,0.00000e+00,1.20016e+00 +Se-La1,1.37910e+03,0.00000e+00,0.00000e+00,6.70789e-01 +Se-La2,1.37910e+03,0.00000e+00,0.00000e+00,6.70789e-01 +Se-Lb1,1.41950e+03,0.00000e+00,0.00000e+00,6.94829e-01 +Br-Ka1,1.19238e+04,5.02505e+01,0.00000e+00,1.35263e+00 +Br-Ka2,1.18777e+04,2.51252e+01,0.00000e+00,1.35263e+00 +Br-Kb1,1.32922e+04,7.63808e+00,0.00000e+00,1.35263e+00 +Br-La1,1.48090e+03,0.00000e+00,0.00000e+00,6.43553e-01 +Br-La2,1.47980e+03,0.00000e+00,0.00000e+00,6.43553e-01 +Br-Lb1,1.52590e+03,0.00000e+00,0.00000e+00,6.68050e-01 +Kr-Ka1,1.26507e+04,0.00000e+00,0.00000e+00,1.60314e+00 +Kr-Ka2,1.25984e+04,0.00000e+00,0.00000e+00,1.60314e+00 +Kr-Kb1,1.41118e+04,0.00000e+00,0.00000e+00,1.60314e+00 +Kr-La1,1.58600e+03,0.00000e+00,0.00000e+00,6.62581e-01 +Kr-La2,1.58600e+03,0.00000e+00,0.00000e+00,6.62581e-01 +Kr-Lb1,1.63830e+03,0.00000e+00,0.00000e+00,6.89193e-01 +Rb-Ka1,1.33953e+04,0.00000e+00,0.00000e+00,1.86974e+00 +Rb-Ka2,1.33358e+04,0.00000e+00,0.00000e+00,1.86974e+00 +Rb-Kb1,1.49612e+04,0.00000e+00,0.00000e+00,1.86974e+00 +Rb-La1,1.69410e+03,0.00000e+00,0.00000e+00,6.45232e-01 +Rb-La2,1.69260e+03,0.00000e+00,0.00000e+00,6.45232e-01 +Rb-Lb1,1.75210e+03,0.00000e+00,0.00000e+00,6.72737e-01 +Sr-Ka1,1.41650e+04,2.51659e+02,0.00000e+00,2.21675e+00 +Sr-Ka2,1.40978e+04,1.25830e+02,0.00000e+00,2.21675e+00 +Sr-Kb1,1.58355e+04,4.02655e+01,0.00000e+00,2.21675e+00 +Sr-La1,1.80650e+03,0.00000e+00,0.00000e+00,6.36328e-01 +Sr-La2,1.80460e+03,0.00000e+00,0.00000e+00,6.36328e-01 +Sr-Lb1,1.87180e+03,0.00000e+00,0.00000e+00,6.64974e-01 +Y-Ka1,1.49584e+04,0.00000e+00,0.00000e+00,2.62660e+00 +Y-Ka2,1.48829e+04,0.00000e+00,0.00000e+00,2.62660e+00 +Y-Kb1,1.67381e+04,0.00000e+00,0.00000e+00,2.62660e+00 +Y-La1,1.92260e+03,0.00000e+00,0.00000e+00,6.26648e-01 +Y-La2,1.92040e+03,0.00000e+00,0.00000e+00,6.26648e-01 +Y-Lb1,1.99590e+03,0.00000e+00,0.00000e+00,6.56355e-01 +Y-Mz1,1.34000e+02,3.00829e+02,0.00000e+00,1.01953e+00 +Zr-Ka1,1.57753e+04,5.32395e+03,0.00000e+00,3.16933e+00 +Zr-Ka2,1.56909e+04,2.66198e+03,0.00000e+00,3.16933e+00 +Zr-Kb1,1.76671e+04,8.51832e+02,0.00000e+00,3.16933e+00 +Zr-La1,2.04230e+03,3.44550e+04,0.00000e+00,6.16596e-01 +Zr-La2,2.03990e+03,3.44550e+03,0.00000e+00,6.16596e-01 +Zr-Lb1,2.12430e+03,1.51602e+04,0.00000e+00,6.47335e-01 +Zr-Mz1,1.53700e+02,0.00000e+00,0.00000e+00,8.61066e-01 +Nb-Ka1,1.66151e+04,2.32029e+02,0.00000e+00,3.81696e+00 +Nb-Ka2,1.65209e+04,1.16014e+02,0.00000e+00,3.81696e+00 +Nb-Kb1,1.86226e+04,3.48043e+01,0.00000e+00,3.81696e+00 +Nb-La1,2.16590e+03,4.64201e+03,0.00000e+00,6.02927e-01 +Nb-La2,2.16310e+03,4.64201e+02,0.00000e+00,6.02927e-01 +Nb-Lb1,2.25730e+03,1.95893e+03,0.00000e+00,6.34539e-01 +Nb-Mz1,1.73500e+02,0.00000e+00,0.00000e+00,7.26219e-01 +Mo-Ka1,1.74793e+04,3.81838e+02,0.00000e+00,4.67177e+00 +Mo-Ka2,1.73744e+04,1.90919e+02,0.00000e+00,4.67177e+00 +Mo-Kb1,1.96072e+04,4.58206e+01,0.00000e+00,4.67177e+00 +Mo-La1,2.29320e+03,0.00000e+00,0.00000e+00,6.00029e-01 +Mo-La2,2.28990e+03,0.00000e+00,0.00000e+00,6.00029e-01 +Mo-Lb1,2.39480e+03,0.00000e+00,0.00000e+00,6.33150e-01 +Mo-Mz1,1.95500e+02,0.00000e+00,0.00000e+00,6.20827e-01 +Tc-Ka1,1.83671e+04,2.08293e+02,0.00000e+00,5.73937e+00 +Tc-Ka2,1.82508e+04,1.04146e+02,0.00000e+00,5.73937e+00 +Tc-La1,2.42400e+03,3.41124e+03,0.00000e+00,5.92955e-01 +Tc-La2,2.42050e+03,3.41124e+02,0.00000e+00,5.92955e-01 +Tc-Lb1,2.53680e+03,1.53506e+03,0.00000e+00,6.27296e-01 +Tc-Mz1,2.17500e+02,0.00000e+00,0.00000e+00,5.52884e-01 +Ru-Ka1,1.92793e+04,2.03543e+02,0.00000e+00,7.09938e+00 +Ru-Ka2,1.91503e+04,1.01771e+02,0.00000e+00,7.09938e+00 +Ru-La1,2.55850e+03,1.19564e+02,0.00000e+00,5.92838e-01 +Ru-La2,2.55430e+03,1.19564e+01,0.00000e+00,5.92838e-01 +Ru-Lb1,2.68330e+03,5.38036e+01,0.00000e+00,6.28949e-01 +Ru-Mz1,2.40500e+02,2.71623e+02,0.00000e+00,5.12342e-01 +Rh-La1,2.69680e+03,1.49838e+03,0.00000e+00,5.86544e-01 +Rh-La2,2.69210e+03,1.49838e+02,0.00000e+00,5.86544e-01 +Rh-Lb1,2.83440e+03,6.29318e+02,0.00000e+00,6.23976e-01 +Rh-Mz1,2.63800e+02,0.00000e+00,0.00000e+00,4.74904e-01 +Pd-La1,2.83860e+03,2.36734e+03,0.00000e+00,5.90237e-01 +Pd-La2,2.83330e+03,2.36734e+02,0.00000e+00,5.90237e-01 +Pd-Lb1,2.99030e+03,1.04163e+03,0.00000e+00,6.29785e-01 +Pd-Mz1,2.88900e+02,0.00000e+00,0.00000e+00,4.53689e-01 +Ag-La1,2.98440e+03,2.33873e+03,0.00000e+00,5.84200e-01 +Ag-La2,2.97830e+03,2.33873e+02,0.00000e+00,5.84200e-01 +Ag-Lb1,3.15090e+03,1.02904e+03,0.00000e+00,6.25172e-01 +Ag-Lb2,3.34780e+03,2.57261e+02,0.00000e+00,5.84200e-01 +Ag-Mz1,3.10200e+02,0.00000e+00,0.00000e+00,4.40087e-01 +Cd-La1,3.13380e+03,0.00000e+00,0.00000e+00,5.96455e-01 +Cd-La2,3.12700e+03,0.00000e+00,0.00000e+00,5.96455e-01 +Cd-Lb1,3.31650e+03,0.00000e+00,0.00000e+00,6.40208e-01 +Cd-Lb2,3.52820e+03,0.00000e+00,0.00000e+00,5.96455e-01 +Cd-Mz1,3.43600e+02,6.14785e+03,0.00000e+00,4.37086e-01 +In-La1,3.28700e+03,0.00000e+00,0.00000e+00,5.98019e-01 +In-La2,3.27930e+03,0.00000e+00,0.00000e+00,5.98019e-01 +In-Lb1,3.48720e+03,0.00000e+00,0.00000e+00,6.43923e-01 +In-Lb2,3.71390e+03,0.00000e+00,0.00000e+00,5.98019e-01 +In-Mz1,3.73400e+02,0.00000e+00,0.00000e+00,4.30747e-01 +In-Mg1,6.48100e+02,0.00000e+00,0.00000e+00,6.89398e-01 +Sn-La1,3.44400e+03,1.26530e+03,0.00000e+00,6.08159e-01 +Sn-La2,3.43550e+03,1.26530e+02,0.00000e+00,6.08159e-01 +Sn-Lb1,3.66280e+03,6.32650e+02,0.00000e+00,6.56897e-01 +Sn-Lb2,3.90490e+03,1.85999e+02,0.00000e+00,6.08159e-01 +Sn-Mz1,4.04700e+02,4.27877e+03,0.00000e+00,4.35722e-01 +Sn-Mg1,6.90500e+02,4.27877e+02,0.00000e+00,6.83757e-01 +Sb-La1,3.60470e+03,1.97038e+03,0.00000e+00,6.14421e-01 +Sb-La2,3.59530e+03,1.97038e+02,0.00000e+00,6.14421e-01 +Sb-Lb1,3.84350e+03,9.97015e+02,0.00000e+00,6.65843e-01 +Sb-Lb2,4.10080e+03,3.07380e+02,0.00000e+00,6.14421e-01 +Sb-Lb3,3.93270e+03,2.16742e+02,0.00000e+00,7.33809e-01 +Sb-Mz1,4.38500e+02,3.18587e+03,0.00000e+00,4.37472e-01 +Sb-Mg1,7.34200e+02,3.18587e+02,0.00000e+00,6.74573e-01 +Te-La1,3.76930e+03,1.71287e+03,0.00000e+00,6.35313e-01 +Te-La2,3.75890e+03,1.71287e+02,0.00000e+00,6.35313e-01 +Te-Lb1,4.02950e+03,8.78703e+02,0.00000e+00,6.90817e-01 +Te-Lb2,4.30160e+03,2.79198e+02,0.00000e+00,6.35313e-01 +Te-Mz1,4.72300e+02,0.00000e+00,0.00000e+00,4.50352e-01 +Te-Mg1,7.78900e+02,0.00000e+00,0.00000e+00,6.83138e-01 +I-La1,3.93770e+03,1.99870e+03,0.00000e+00,6.24554e-01 +I-La2,3.92580e+03,1.99870e+02,0.00000e+00,6.24554e-01 +I-Lb1,4.22080e+03,1.03733e+03,0.00000e+00,6.81569e-01 +I-Lb2,4.50750e+03,3.39779e+02,0.00000e+00,6.24554e-01 +I-Lb3,4.31350e+03,1.99870e+02,0.00000e+00,7.48700e-01 +I-Mz1,5.08600e+02,0.00000e+00,0.00000e+00,4.41534e-01 +I-Mg1,8.25000e+02,0.00000e+00,0.00000e+00,6.58859e-01 +Xe-La1,4.10990e+03,1.85245e+03,0.00000e+00,6.40376e-01 +Xe-La2,4.09680e+03,1.85245e+02,0.00000e+00,6.40376e-01 +Xe-Lb1,4.41830e+03,9.26223e+02,0.00000e+00,7.01471e-01 +Xe-Lb2,4.71820e+03,3.14916e+02,0.00000e+00,6.40376e-01 +Xe-Lb3,4.51580e+03,1.85245e+02,0.00000e+00,7.70129e-01 +Xe-Mz1,5.38700e+02,0.00000e+00,0.00000e+00,4.92139e-01 +Xe-Mg1,8.73000e+02,0.00000e+00,0.00000e+00,7.23373e-01 +Cs-La1,4.28640e+03,1.85021e+03,0.00000e+00,6.43131e-01 +Cs-La2,4.27240e+03,1.85021e+02,0.00000e+00,6.43131e-01 +Cs-Lb1,4.61990e+03,9.06601e+02,0.00000e+00,7.06809e-01 +Cs-Lb2,4.93540e+03,3.14535e+02,0.00000e+00,6.43131e-01 +Cs-Mz1,5.67200e+02,0.00000e+00,0.00000e+00,4.89707e-01 +Cs-Mg1,9.21100e+02,0.00000e+00,0.00000e+00,7.08900e-01 +Ba-La1,4.46630e+03,1.67218e+03,0.00000e+00,6.60110e-01 +Ba-Lb1,4.82750e+03,7.69202e+02,0.00000e+00,7.28204e-01 +Ba-Lb2,5.15710e+03,2.34105e+02,0.00000e+00,6.60110e-01 +Ba-Lb3,4.92660e+03,2.00661e+02,0.00000e+00,7.96668e-01 +Ba-Mz1,6.04300e+02,6.36038e+03,0.00000e+00,4.94251e-01 +Ba-Mg1,9.72300e+02,9.54057e+02,0.00000e+00,7.06598e-01 +La-La1,4.65100e+03,1.88946e+03,0.00000e+00,6.63318e-01 +La-La2,4.63420e+03,1.88946e+02,0.00000e+00,6.63318e-01 +La-Lb1,5.04210e+03,9.44731e+02,0.00000e+00,7.34702e-01 +La-Lb2,5.38380e+03,3.87340e+02,0.00000e+00,6.63318e-01 +La-Lb3,5.14290e+03,1.88946e+02,0.00000e+00,8.02951e-01 +La-Mz1,6.42700e+02,1.50350e+03,0.00000e+00,4.86460e-01 +La-Mg1,1.02450e+03,2.15001e+02,0.00000e+00,6.89503e-01 +Ce-La1,4.84010e+03,1.63285e+03,0.00000e+00,6.65505e-01 +Ce-La2,4.82210e+03,1.63285e+02,0.00000e+00,6.65505e-01 +Ce-Lb1,5.26290e+03,7.83767e+02,0.00000e+00,7.40131e-01 +Ce-Lb2,5.61340e+03,3.10241e+02,0.00000e+00,6.65505e-01 +Ce-Lb3,5.36340e+03,1.63285e+02,0.00000e+00,8.07794e-01 +Pr-La1,5.03330e+03,1.30100e+03,0.00000e+00,6.65682e-01 +Pr-La2,5.01320e+03,1.30100e+02,0.00000e+00,6.65682e-01 +Pr-Lb1,5.48930e+03,6.76518e+02,0.00000e+00,7.43556e-01 +Pr-Lb2,5.85110e+03,2.86219e+02,0.00000e+00,6.65682e-01 +Pr-Lb3,5.59260e+03,1.56119e+02,0.00000e+00,8.10680e-01 +Pr-Ma1,9.25000e+02,0.00000e+00,0.00000e+00,4.67469e-01 +Pr-Mz1,7.14800e+02,0.00000e+00,0.00000e+00,4.80023e-01 +Pr-Mg1,1.12900e+03,0.00000e+00,0.00000e+00,6.70116e-01 +Nd-La1,5.23020e+03,1.72290e+03,0.00000e+00,6.78276e-01 +Nd-La2,5.20840e+03,1.72290e+02,0.00000e+00,6.78276e-01 +Nd-Lb1,5.72200e+03,8.61449e+02,0.00000e+00,7.61059e-01 +Nd-Lb2,6.09040e+03,3.44580e+02,0.00000e+00,6.78276e-01 +Nd-Lb3,5.82860e+03,1.72290e+02,0.00000e+00,8.28991e-01 +Nd-Ma1,9.71700e+02,9.18615e+03,0.00000e+00,4.39531e-01 +Nd-Mb,9.96500e+02,9.18615e+02,0.00000e+00,4.51751e-01 +Nd-Mz1,7.56200e+02,7.34892e+03,0.00000e+00,4.51751e-01 +Nd-Mg1,1.17990e+03,1.10234e+03,0.00000e+00,6.26293e-01 +Pm-La1,5.43240e+03,7.26279e+02,0.00000e+00,6.79980e-01 +Pm-La2,5.40780e+03,7.26279e+01,0.00000e+00,6.79980e-01 +Pm-Lb1,5.96130e+03,3.48614e+02,0.00000e+00,7.66523e-01 +Pm-Lb2,6.33890e+03,1.30730e+02,0.00000e+00,6.79980e-01 +Pm-Lb3,6.07100e+03,7.26279e+01,0.00000e+00,8.34243e-01 +Pm-Ma1,1.02090e+03,0.00000e+00,0.00000e+00,4.27800e-01 +Pm-Mb,1.04750e+03,0.00000e+00,0.00000e+00,4.40612e-01 +Pm-Mz1,7.97100e+02,0.00000e+00,0.00000e+00,4.40612e-01 +Pm-Mg1,1.23650e+03,0.00000e+00,0.00000e+00,6.06847e-01 +Sm-La1,5.63600e+03,1.78546e+03,0.00000e+00,7.04091e-01 +Sm-La2,5.61020e+03,1.78546e+02,0.00000e+00,7.04091e-01 +Sm-Lb1,6.20580e+03,8.21314e+02,0.00000e+00,7.97473e-01 +Sm-Lb2,6.58720e+03,3.03529e+02,0.00000e+00,7.04091e-01 +Sm-Ma1,1.07420e+03,0.00000e+00,0.00000e+00,4.31057e-01 +Sm-Mb,1.10050e+03,0.00000e+00,0.00000e+00,4.43961e-01 +Sm-Mz1,8.40400e+02,0.00000e+00,0.00000e+00,4.43961e-01 +Eu-La1,5.84600e+03,9.84986e+02,0.00000e+00,7.11200e-01 +Eu-La2,5.81630e+03,9.84986e+01,0.00000e+00,7.11200e-01 +Eu-Lb1,6.45650e+03,4.43244e+02,0.00000e+00,8.09487e-01 +Eu-Lb2,6.84370e+03,1.67448e+02,0.00000e+00,7.11200e-01 +Eu-Lb3,6.57140e+03,9.84986e+01,0.00000e+00,8.79361e-01 +Eu-Ma1,1.12490e+03,0.00000e+00,0.00000e+00,4.21644e-01 +Eu-Mb,1.15769e+03,0.00000e+00,0.00000e+00,4.35560e-01 +Eu-Mz1,8.76700e+02,0.00000e+00,0.00000e+00,4.35560e-01 +Gd-La1,6.05760e+03,1.67465e+03,0.00000e+00,7.36393e-01 +Gd-La2,6.02560e+03,1.67465e+02,0.00000e+00,7.36393e-01 +Gd-Lb1,6.71310e+03,8.37326e+02,0.00000e+00,8.42424e-01 +Gd-Lb2,7.10230e+03,3.43304e+02,0.00000e+00,7.36393e-01 +Gd-Lb3,6.83160e+03,1.67465e+02,0.00000e+00,9.14414e-01 +Gd-Ma1,1.17668e+03,0.00000e+00,0.00000e+00,4.23451e-01 +Gd-Mb,1.20792e+03,0.00000e+00,0.00000e+00,4.37856e-01 +Gd-Mz1,9.28700e+02,0.00000e+00,0.00000e+00,4.37856e-01 +Tb-La1,6.27280e+03,1.39842e+03,0.00000e+00,7.45609e-01 +Tb-La2,6.23900e+03,1.39842e+02,0.00000e+00,7.45609e-01 +Tb-Lb1,6.97660e+03,6.29288e+02,0.00000e+00,8.57446e-01 +Tb-Lb2,7.36700e+03,2.37731e+02,0.00000e+00,7.45609e-01 +Tb-Lb3,7.09670e+03,1.39842e+02,0.00000e+00,9.30111e-01 +Tb-Ma1,1.23260e+03,0.00000e+00,0.00000e+00,4.15795e-01 +Tb-Mb,1.26560e+03,0.00000e+00,0.00000e+00,4.30098e-01 +Tb-Mz1,9.64800e+02,0.00000e+00,0.00000e+00,4.30098e-01 +Dy-La1,6.49520e+03,1.40259e+03,0.00000e+00,7.69955e-01 +Dy-La2,6.45760e+03,1.54284e+02,0.00000e+00,7.69955e-01 +Dy-Lb1,7.24810e+03,7.01293e+02,0.00000e+00,8.90232e-01 +Dy-Lb2,7.63590e+03,2.94543e+02,0.00000e+00,7.69955e-01 +Dy-Lb3,7.37020e+03,1.40259e+02,0.00000e+00,9.64685e-01 +Dy-Ma1,1.29070e+03,0.00000e+00,0.00000e+00,4.10700e-01 +Dy-Mb,1.32830e+03,0.00000e+00,0.00000e+00,4.25803e-01 +Dy-Mz1,1.00070e+03,0.00000e+00,0.00000e+00,4.25803e-01 +Ho-La1,6.71970e+03,1.36543e+03,0.00000e+00,7.79236e-01 +Ho-La2,6.67960e+03,1.36543e+02,0.00000e+00,7.79236e-01 +Ho-Lb1,7.52630e+03,5.87135e+02,0.00000e+00,9.06038e-01 +Ho-Lb2,7.91010e+03,2.32123e+02,0.00000e+00,7.79236e-01 +Ho-Ma1,1.34770e+03,0.00000e+00,0.00000e+00,4.04965e-01 +Ho-Mb,1.38780e+03,0.00000e+00,0.00000e+00,4.20221e-01 +Ho-Mz1,1.04800e+03,0.00000e+00,0.00000e+00,4.20221e-01 +Er-La1,6.94860e+03,8.31461e+02,0.00000e+00,7.94534e-01 +Er-La2,6.90460e+03,8.31461e+01,0.00000e+00,7.94534e-01 +Er-Lb1,7.81100e+03,3.49214e+02,0.00000e+00,9.29238e-01 +Er-Lb2,8.19030e+03,1.41348e+02,0.00000e+00,7.94534e-01 +Er-Ma1,1.40500e+03,0.00000e+00,0.00000e+00,3.98171e-01 +Er-Mb,1.44900e+03,0.00000e+00,0.00000e+00,4.13996e-01 +Er-Mz1,1.08710e+03,0.00000e+00,0.00000e+00,4.13996e-01 +Tm-La1,7.18030e+03,1.05542e+03,0.00000e+00,8.07753e-01 +Tm-La2,7.13340e+03,1.05542e+02,0.00000e+00,8.07753e-01 +Tm-Lb1,8.10230e+03,4.69663e+02,0.00000e+00,9.50353e-01 +Tm-Lb2,8.46840e+03,2.05808e+02,0.00000e+00,8.07753e-01 +Tm-Ma1,1.46240e+03,0.00000e+00,0.00000e+00,3.89791e-01 +Tm-Mb,1.50930e+03,0.00000e+00,0.00000e+00,4.05686e-01 +Tm-Mz1,1.12870e+03,0.00000e+00,0.00000e+00,4.05686e-01 +Yb-La1,7.41580e+03,1.35699e+03,0.00000e+00,8.34266e-01 +Yb-La2,7.36730e+03,1.35699e+02,0.00000e+00,8.34266e-01 +Yb-Lb1,8.40190e+03,7.05635e+02,0.00000e+00,9.87569e-01 +Yb-Lb2,8.75870e+03,2.71398e+02,0.00000e+00,8.34266e-01 +Yb-Lb3,8.53660e+03,1.35699e+02,0.00000e+00,1.06742e+00 +Yb-Ma1,1.52150e+03,3.52590e+04,0.00000e+00,3.90244e-01 +Yb-Mb,1.57000e+03,1.58666e+04,0.00000e+00,4.06090e-01 +Yb-Mz1,1.17960e+03,4.58368e+03,0.00000e+00,4.06090e-01 +Lu-La1,7.65560e+03,1.43871e+03,0.00000e+00,8.50897e-01 +Lu-La2,7.60470e+03,1.43871e+02,0.00000e+00,8.50897e-01 +Lu-Lb1,8.70920e+03,5.89869e+02,0.00000e+00,1.01374e+00 +Lu-Lb2,9.04910e+03,2.44580e+02,0.00000e+00,8.50897e-01 +Lu-Ma1,1.58160e+03,0.00000e+00,0.00000e+00,3.89966e-01 +Lu-Mb,1.63250e+03,0.00000e+00,0.00000e+00,4.05987e-01 +Hf-La1,7.89900e+03,3.18036e+03,0.00000e+00,8.80289e-01 +Hf-La2,7.84430e+03,3.18036e+02,0.00000e+00,8.80289e-01 +Hf-Lb1,9.02300e+03,1.68559e+03,0.00000e+00,1.05564e+00 +Hf-Lb2,9.34700e+03,6.04269e+02,0.00000e+00,8.80289e-01 +Hf-Ma1,1.64460e+03,0.00000e+00,0.00000e+00,3.88377e-01 +Hf-Mb,1.69930e+03,0.00000e+00,0.00000e+00,4.04818e-01 +Hf-Na1,2.06700e+02,0.00000e+00,0.00000e+00,4.55224e+00 +Ta-La1,8.14600e+03,0.00000e+00,0.00000e+00,9.05387e-01 +Ta-La2,8.08790e+03,0.00000e+00,0.00000e+00,9.05387e-01 +Ta-Lb1,9.34290e+03,0.00000e+00,0.00000e+00,1.09282e+00 +Ta-Lb2,9.65180e+03,0.00000e+00,0.00000e+00,9.05387e-01 +Ta-Ma1,1.71010e+03,0.00000e+00,0.00000e+00,3.83903e-01 +Ta-Mb,1.76820e+03,0.00000e+00,0.00000e+00,4.00480e-01 +Ta-Na1,2.16300e+02,0.00000e+00,0.00000e+00,4.39287e+00 +W-La1,8.39760e+03,1.09760e+03,0.00000e+00,9.36546e-01 +W-La2,8.33520e+03,1.20736e+02,0.00000e+00,9.36546e-01 +W-Lb1,9.67240e+03,5.15872e+02,0.00000e+00,1.13836e+00 +W-Lb2,9.96140e+03,2.08544e+02,0.00000e+00,9.36546e-01 +W-Lb3,9.81880e+03,1.09760e+02,0.00000e+00,1.22821e+00 +W-Ma1,1.77560e+03,0.00000e+00,0.00000e+00,3.79880e-01 +W-Mb,1.83510e+03,0.00000e+00,0.00000e+00,3.96825e-01 +W-Na1,2.22300e+02,9.34244e+02,0.00000e+00,4.33758e+00 +Re-La1,8.65240e+03,3.39908e+02,0.00000e+00,9.63499e-01 +Re-La2,8.58640e+03,3.39908e+01,0.00000e+00,9.63499e-01 +Re-Lb1,1.00098e+04,1.39362e+02,0.00000e+00,1.17961e+00 +Re-Lb2,1.02751e+04,6.45825e+01,0.00000e+00,9.63499e-01 +Re-Ma1,1.84230e+03,0.00000e+00,0.00000e+00,3.77108e-01 +Re-Mb,1.90830e+03,0.00000e+00,0.00000e+00,3.94250e-01 +Os-La1,8.91080e+03,9.31211e+01,0.00000e+00,1.00495e+00 +Os-La2,8.84010e+03,9.31211e+00,0.00000e+00,1.00495e+00 +Os-Lb1,1.03542e+04,3.63172e+01,0.00000e+00,1.23954e+00 +Os-Lb2,1.05981e+04,1.76930e+01,0.00000e+00,1.00495e+00 +Os-Ma1,1.91380e+03,2.53828e+03,0.00000e+00,3.76442e-01 +Os-Mb,1.98450e+03,1.14223e+03,0.00000e+00,3.94102e-01 +Ir-La1,9.17480e+03,8.10149e+02,0.00000e+00,1.04081e+00 +Ir-La2,9.09910e+03,8.10149e+01,0.00000e+00,1.04081e+00 +Ir-Lb1,1.07080e+04,3.07857e+02,0.00000e+00,1.29352e+00 +Ir-Lb2,1.09203e+04,1.62030e+02,0.00000e+00,1.04081e+00 +Ir-Ma1,1.97990e+03,1.35101e+03,0.00000e+00,3.70556e-01 +Ir-Mb,2.05270e+03,6.07956e+02,0.00000e+00,3.88489e-01 +Ir-Na1,2.48000e+02,0.00000e+00,0.00000e+00,4.02841e+00 +Pt-La1,9.44210e+03,1.17192e+03,0.00000e+00,1.08819e+00 +Pt-La2,9.36180e+03,1.17192e+02,0.00000e+00,1.08819e+00 +Pt-Lb1,1.10707e+04,4.92207e+02,0.00000e+00,1.36311e+00 +Pt-Lb2,1.12504e+04,2.16806e+02,0.00000e+00,1.08819e+00 +Pt-Ma1,2.05050e+03,0.00000e+00,0.00000e+00,3.66430e-01 +Pt-Mb,2.12760e+03,0.00000e+00,0.00000e+00,3.84574e-01 +Pt-Na1,2.56500e+02,0.00000e+00,0.00000e+00,3.97228e+00 +Au-La1,9.71300e+03,9.02786e+02,0.00000e+00,1.13349e+00 +Au-La2,9.62760e+03,9.02786e+01,0.00000e+00,1.13349e+00 +Au-Lb1,1.14425e+04,4.33337e+02,0.00000e+00,1.43164e+00 +Au-Lb2,1.15848e+04,1.98613e+02,0.00000e+00,1.13349e+00 +Au-Ma1,2.12290e+03,0.00000e+00,0.00000e+00,3.60532e-01 +Au-Mb,2.20470e+03,0.00000e+00,0.00000e+00,3.78848e-01 +Au-Na1,2.65600e+02,5.24735e+02,0.00000e+00,3.91776e+00 +Hg-La1,9.98900e+03,8.99867e+02,0.00000e+00,1.18769e+00 +Hg-La2,9.89900e+03,8.99867e+01,0.00000e+00,1.18769e+00 +Hg-Lb1,1.18238e+04,3.32951e+02,0.00000e+00,1.51262e+00 +Hg-Lb2,1.19241e+04,1.79973e+02,0.00000e+00,1.18769e+00 +Hg-Ma1,2.19640e+03,0.00000e+00,0.00000e+00,3.58498e-01 +Hg-Mb,2.28270e+03,0.00000e+00,0.00000e+00,3.77001e-01 +Hg-Na1,2.76100e+02,2.61149e+03,0.00000e+00,3.94682e+00 +Tl-La1,1.02682e+04,1.23570e+03,0.00000e+00,1.25352e+00 +Tl-La2,1.01724e+04,1.23570e+02,0.00000e+00,1.25352e+00 +Tl-Lb1,1.22128e+04,4.44854e+02,0.00000e+00,1.61024e+00 +Tl-Lb2,1.22713e+04,2.47141e+02,0.00000e+00,1.25352e+00 +Tl-Ma1,2.27080e+03,0.00000e+00,0.00000e+00,3.57280e-01 +Tl-Mb,2.36230e+03,0.00000e+00,0.00000e+00,3.76193e-01 +Pb-La1,1.05512e+04,0.00000e+00,0.00000e+00,1.32362e+00 +Pb-La2,1.04496e+04,0.00000e+00,0.00000e+00,1.32362e+00 +Pb-Lb1,1.26144e+04,0.00000e+00,0.00000e+00,1.71615e+00 +Pb-Lb2,1.26223e+04,0.00000e+00,0.00000e+00,1.32362e+00 +Pb-Ma1,2.34590e+03,0.00000e+00,0.00000e+00,3.53981e-01 +Pb-Mb,2.44270e+03,0.00000e+00,0.00000e+00,3.73157e-01 +Pb-Na1,2.92300e+02,0.00000e+00,0.00000e+00,4.08923e+00 +Bi-La1,1.08390e+04,8.34338e+02,0.00000e+00,1.38815e+00 +Bi-La2,1.07310e+04,8.34338e+01,0.00000e+00,1.38815e+00 +Bi-Lb1,1.30235e+04,3.33735e+02,0.00000e+00,1.81661e+00 +Bi-Lb2,1.29786e+04,1.16807e+02,0.00000e+00,1.38815e+00 +Bi-Ma1,2.42220e+03,0.00000e+00,0.00000e+00,3.48877e-01 +Bi-Mb,2.52570e+03,0.00000e+00,0.00000e+00,3.68284e-01 +Bi-Na1,3.01700e+02,0.00000e+00,0.00000e+00,4.10681e+00 +Po-La1,1.11308e+04,4.71478e+02,0.00000e+00,1.44915e+00 +Po-La2,1.10158e+04,4.71478e+01,0.00000e+00,1.44915e+00 +Po-Lb1,1.34463e+04,1.79162e+02,0.00000e+00,1.91551e+00 +Po-Lb2,1.33404e+04,6.60070e+01,0.00000e+00,1.44915e+00 +Po-Ma1,2.51364e+03,9.79233e+02,0.00000e+00,3.41718e-01 +Po-Mb,2.62266e+03,5.58163e+02,0.00000e+00,3.61244e-01 +At-La1,1.14268e+04,7.57976e+02,0.00000e+00,1.52715e+00 +At-La2,1.13048e+04,7.57976e+01,0.00000e+00,1.52715e+00 +At-Lb1,1.38760e+04,2.88031e+02,0.00000e+00,2.03880e+00 +At-Lb2,1.37381e+04,1.06117e+02,0.00000e+00,1.52715e+00 +At-Ma1,2.59612e+03,1.87735e+03,0.00000e+00,3.36042e-01 +At-Mb,2.71162e+03,1.07009e+03,0.00000e+00,3.55719e-01 +Rn-La1,1.17270e+04,7.09191e+02,0.00000e+00,1.69712e+00 +Rn-La2,1.15979e+04,7.09191e+01,0.00000e+00,1.69712e+00 +Rn-Lb1,1.43156e+04,2.69493e+02,0.00000e+00,2.28901e+00 +Rn-Lb2,1.40824e+04,9.92868e+01,0.00000e+00,1.69712e+00 +Rn-Ma1,2.67981e+03,0.00000e+00,0.00000e+00,3.47681e-01 +Rn-Mb,2.80187e+03,0.00000e+00,0.00000e+00,3.68506e-01 +Fr-La1,1.20315e+04,8.76198e+02,0.00000e+00,1.79720e+00 +Fr-La2,1.18950e+04,8.76198e+01,0.00000e+00,1.79720e+00 +Fr-Lb1,1.47703e+04,3.32955e+02,0.00000e+00,2.45090e+00 +Fr-Lb2,1.44542e+04,1.22668e+02,0.00000e+00,1.79720e+00 +Fr-Ma1,2.76084e+03,1.12348e+03,0.00000e+00,3.41762e-01 +Fr-Mb,2.88971e+03,6.40386e+02,0.00000e+00,3.62701e-01 +Ra-La1,1.23395e+04,8.13230e+02,0.00000e+00,1.92392e+00 +Ra-La2,1.21960e+04,8.13230e+01,0.00000e+00,1.92392e+00 +Ra-Lb1,1.52359e+04,3.09027e+02,0.00000e+00,2.65398e+00 +Ra-Lb2,1.48417e+04,1.13852e+02,0.00000e+00,1.92392e+00 +Ra-Ma1,2.80600e+03,0.00000e+00,0.00000e+00,3.38475e-01 +Ra-Mb,2.94950e+03,0.00000e+00,0.00000e+00,3.59605e-01 +Ac-La1,1.26520e+04,1.31703e+03,0.00000e+00,2.04791e+00 +Ac-La2,1.25008e+04,1.31703e+02,0.00000e+00,2.04791e+00 +Ac-Lb1,1.57130e+04,5.00470e+02,0.00000e+00,2.85860e+00 +Ac-Lb2,1.52340e+04,1.84384e+02,0.00000e+00,2.04791e+00 +Ac-Ma1,2.92393e+03,5.63807e+02,0.00000e+00,3.32972e-01 +Ac-Mb,3.06626e+03,3.21370e+02,0.00000e+00,3.54170e-01 +Th-La1,1.29683e+04,8.38214e+02,0.00000e+00,2.22231e+00 +Th-La2,1.28095e+04,8.38214e+01,0.00000e+00,2.22231e+00 +Th-Lb1,1.62024e+04,3.18521e+02,0.00000e+00,3.14058e+00 +Th-Lb2,1.56239e+04,1.17350e+02,0.00000e+00,2.22231e+00 +Th-Ma1,2.99680e+03,0.00000e+00,0.00000e+00,3.33091e-01 +Th-Mb,3.14640e+03,0.00000e+00,0.00000e+00,3.54678e-01 +Pa-La1,1.32913e+04,8.01426e+02,0.00000e+00,2.35378e+00 +Pa-La2,1.31219e+04,8.01426e+01,0.00000e+00,2.35378e+00 +Pa-Lb1,1.67025e+04,3.04542e+02,0.00000e+00,3.36904e+00 +Pa-Lb2,1.60249e+04,1.12200e+02,0.00000e+00,2.35378e+00 +Pa-Ma1,3.08230e+03,2.45829e+03,0.00000e+00,3.23882e-01 +Pa-Mb,3.24000e+03,1.40122e+03,0.00000e+00,3.45633e-01 +U-La1,1.36146e+04,8.87936e+02,0.00000e+00,2.54731e+00 +U-La2,1.34387e+04,9.76730e+01,0.00000e+00,2.54731e+00 +U-Lb1,1.72200e+04,2.35303e+02,0.00000e+00,3.69646e+00 +U-Lb2,1.64286e+04,1.50949e+02,0.00000e+00,2.54731e+00 +U-Ma1,3.17080e+03,0.00000e+00,0.00000e+00,3.25645e-01 +U-Mb,3.33630e+03,0.00000e+00,0.00000e+00,3.47718e-01 +Np-La1,1.39430e+04,5.68243e+02,0.00000e+00,2.74601e+00 +Np-La2,1.37580e+04,5.68243e+01,0.00000e+00,2.74601e+00 +Np-Lb1,1.77480e+04,2.15933e+02,0.00000e+00,4.04139e+00 +Np-Lb2,1.68380e+04,7.95541e+01,0.00000e+00,2.74601e+00 +Np-Ma1,3.25900e+03,3.27366e+03,0.00000e+00,3.17236e-01 +Np-Mb,3.43300e+03,1.86598e+03,0.00000e+00,3.39203e-01 +Pu-La1,1.42760e+04,3.03126e+02,0.00000e+00,2.93668e+00 +Pu-La2,1.40820e+04,3.03126e+01,0.00000e+00,2.93668e+00 +Pu-Lb1,1.82900e+04,6.06251e+01,0.00000e+00,4.38612e+00 +Pu-Lb2,1.72540e+04,4.24376e+01,0.00000e+00,2.93668e+00 +Pu-Ma1,3.34900e+03,1.38297e+03,0.00000e+00,3.18950e-01 +Pu-Mb,3.53100e+03,7.88293e+02,0.00000e+00,3.41485e-01 +Am-La1,1.46140e+04,6.36649e+02,0.00000e+00,3.22411e+00 +Am-La2,1.44100e+04,6.36649e+01,0.00000e+00,3.22411e+00 +Am-Lb1,1.88470e+04,2.41927e+02,0.00000e+00,4.89040e+00 +Am-Lb2,1.76760e+04,8.91309e+01,0.00000e+00,3.22411e+00 +Am-Ma1,3.44600e+03,0.00000e+00,0.00000e+00,3.10167e-01 +Am-Mb,3.63500e+03,0.00000e+00,0.00000e+00,3.32605e-01 +Cm-La1,1.49600e+04,6.38815e+02,0.00000e+00,3.51783e+00 +Cm-La2,1.47380e+04,6.38815e+01,0.00000e+00,3.51783e+00 +Cm-Lb1,1.94180e+04,2.42750e+02,0.00000e+00,5.42423e+00 +Cm-Lb2,1.81100e+04,8.94342e+01,0.00000e+00,3.51783e+00 +Cm-Ma1,3.53500e+03,1.03585e+03,0.00000e+00,3.07855e-01 +Cm-Mb,3.74200e+03,5.90435e+02,0.00000e+00,3.31479e-01 diff --git a/pyTEMlib/eels_tools/low_loss_tools.py b/pyTEMlib/eels_tools/low_loss_tools.py index 35778ca6..c04372be 100644 --- a/pyTEMlib/eels_tools/low_loss_tools.py +++ b/pyTEMlib/eels_tools/low_loss_tools.py @@ -9,9 +9,58 @@ from ..utilities import get_wavelength, effective_collection_angle from ..utilities import gauss, lorentz -from .zero_loss_tools import zl +from .zero_loss_tools import zl, get_resolution_function, align_zero_loss +from .peak_fit_tools import gaussian_mixture_model +def analyse_low_loss(spectrum, gmm=False, verbose=False): + """ Do the full analysis of low loss EELS spectrum""" + shifted_low_loss = align_zero_loss(spectrum) + zero_loss = get_resolution_function(shifted_low_loss) + + if spectrum.metadata['experiment']['convergence_angle'] + spectrum.metadata['experiment']['collection_angle'] == 0: + print('Warning: convergence angle is zero setting to 10 mrad') + spectrum.metadata['experiment']['convergence_angle'] = 10 + print('Warning: collection angle is zero setting to 30 mrad') + spectrum.metadata['experiment']['collection_angle'] = 30 + + acceleration_voltage = spectrum.metadata['experiment']['acceleration_voltage']*1 + energy_scale = spectrum.get_spectral_dims(return_axis=True)[0].values + eff_beta = effective_collection_angle(energy_scale, + spectrum.metadata['experiment']['convergence_angle'], + spectrum.metadata['experiment']['collection_angle'], + acceleration_voltage) + anglog = get_anglog(energy_scale, acceleration_voltage, eff_beta) + plasmon_start = np.searchsorted(energy_scale, 10) + plasmon_peak = np.argmax(np.array(shifted_low_loss-zero_loss)[plasmon_start:])+plasmon_start + start_fit_energy = shifted_low_loss.energy_loss.values[plasmon_peak]-5 + end_fit_energy = shifted_low_loss.energy_loss.values[plasmon_peak]+5 + + plasmon, fit_p= fit_plasmon(shifted_low_loss, start_fit_energy, end_fit_energy) + + plasmon = energy_loss_function(shifted_low_loss.energy_loss.values, fit_p, anglog) + epsilon = drude(shifted_low_loss.energy_loss.values, fit_p) + multiple_scattering = fit_multiple_scattering(shifted_low_loss-zero_loss, anglog, end_fit_energy=55, ) + shifted_low_loss.metadata['zero_loss']['array'] = zero_loss + shifted_low_loss.metadata['plasmon']['array'] = plasmon + shifted_low_loss.metadata['plasmon']['multiple_scattering_array'] = multiple_scattering + shifted_low_loss.metadata.setdefault('plot', {})['additional_spectra'] = {'zero_loss': "metadata['zero_loss']['array']", + 'multiple_scattering': "metadata['plasmon']['multiple_scattering_array']", + 'model': 'zero_loss+multiple_scattering'} + if gmm: + residual = shifted_low_loss - multiple_scattering - zero_loss + peak_model, p = gaussian_mixture_model(residual, p_in=None) + + print(f'using {int(len(p)/3)} Gaussians for fit') + shifted_low_loss.metadata['gmm'] ={'parameter': p, + 'model': peak_model, + 'mode': 'low_loss_residual'} + shifted_low_loss.metadata.setdefault('plot', {}).setdefault('additional_spectra', {})['model'] = "zero_loss+multiple_scattering+metadata['gmm']['model]" + if verbose: + _,_ = estimate_thickness(shifted_low_loss, anglog, verbose=verbose) + + return shifted_low_loss + def drude(energy_scale: np.ndarray, parameters: list) -> np.ndarray: """dielectric function according to Drude theory""" peak_position, peak_width, gamma = parameters[:3] @@ -92,7 +141,7 @@ def fit_plasmon(spectrum, start_fit_energy, end_fit_energy): start_fit_pixel = np.searchsorted(energy, start_fit_energy) end_fit_pixel = np.searchsorted(energy, end_fit_energy) zero_pixel = np.searchsorted(energy, 0) - print(zero_pixel, start_fit_pixel, end_fit_pixel) + #print(zero_pixel, start_fit_pixel, end_fit_pixel) acceleration_eV = spectrum.metadata['experiment']['acceleration_voltage'] convergence_angle = spectrum.metadata['experiment']['convergence_angle'] @@ -360,19 +409,27 @@ def fit_multiple_scattering(spectrum, anglog=1, end_fit_energy=55): energy_scale = spectrum.energy_loss.values p0 = list(spectrum.metadata['plasmon']['single_scattering_fit']['parameters'])+[.37] - def errf_multi(p, y, x): + def errf_multi(p, y, x, mask): elf = multiple_scattering(x, p, anglog[:endFit]) - return np.abs(y - elf) # /np.sqrt(y) - + return np.abs(y - elf)*mask # /np.sqrt(y) + zero_loss = np.searchsorted(energy_scale, 0) + plasmon_fit = spectrum.metadata['plasmon']['single_scattering_fit']['parameters'] + plasmon = np.searchsorted(energy_scale, plasmon_fit[0]) + mask = np.zeros(len(energy_scale)) + midle = np.searchsorted(energy_scale, plasmon_fit[0]) + width = int(np.searchsorted(energy_scale, plasmon_fit[1])/2) + mask[midle-width:midle+width] = 1 + midle = (np.searchsorted(energy_scale, plasmon_fit[0])-zero_loss)*2+zero_loss + mask[midle-width:midle+width] = 1 endFit = np.searchsorted(energy_scale, end_fit_energy) p2 = scipy.optimize.least_squares(errf_multi, p0, args=(np.array(spectrum)[:endFit], - energy_scale[:endFit]), + energy_scale[:endFit], mask[:endFit]), method='lm') p2 = p2['x'] cts = multiple_scattering(energy_scale, p2, anglog) - # print(f"relative thickness t/lambda: {p2[4]:.3f}") + print(f"relative thickness t/lambda: {p2[4]:.3f}") spectrum.metadata['plasmon']['multiple_scattering_fit'] = {'parameters': p2, 'tmfp': p2[4]} return cts @@ -430,7 +487,7 @@ def errf_multi(p, y, x): return multi -def estimate_thickness(spectrum, anglog): +def estimate_thickness(spectrum, anglog, verbose=True): "estimate thickness from plasmon fit" energy_scale = spectrum.get_spectral_dims(return_axis=True)[0].values p2 = spectrum.metadata['plasmon']['multiple_scattering_fit']['parameters'] @@ -449,12 +506,17 @@ def estimate_thickness(spectrum, anglog): tgt = 1000*e0*(1022.12 + e0)/(511.06 + e0);# %eV Appendix E p 427 lambda_pv = tnm/Pv; #% does NOT depend on free-electron approximation (no damping). lambda_fe = 4.0*0.05292*T/ep/np.log(1+(beta* tgt / ep) **2); #% Eq.(3.44) approximation - - print(f'Volume-plasmon MFP = {lambda_pv:.2f} nm') - print(f'Free-electron MFP = {lambda_fe:.2f} nm') - print('--------------------------------') - print(f"relative thickness t/lambda: {tnm:.3f}") - print(f'estimated thickness = {lambda_fe*tnm:.2f} nm\n') + if verbose: + print(f'Volume-plasmon MFP = {lambda_pv:.2f} nm') + print(f'Free-electron MFP = {lambda_fe:.2f} nm') + print('--------------------------------') + print(f"relative thickness t/lambda: {tnm:.3f}") + print(f'estimated thickness = {lambda_fe*tnm:.2f} nm\n') + spectrum.metadata['plasmon']['multiple_scattering_fit']['MFP_volume_plasmon'] = lambda_pv * tnm + spectrum.metadata['plasmon']['multiple_scattering_fit']['MFP_free_electron'] = lambda_fe + spectrum.metadata['plasmon']['multiple_scattering_fit']['thickness'] = lambda_fe * tnm + spectrum.metadata['plasmon']['multiple_scattering_fit']['relative_thickness'] = tnm + return lambda_pv, lambda_fe, diff --git a/pyTEMlib/eels_tools/peak_fit_tools.py b/pyTEMlib/eels_tools/peak_fit_tools.py index af8d1b8e..d09d3c6b 100644 --- a/pyTEMlib/eels_tools/peak_fit_tools.py +++ b/pyTEMlib/eels_tools/peak_fit_tools.py @@ -71,9 +71,32 @@ def gauss(x: np.ndarray, return x * 0. return p[1] * np.exp(-(x - p[0])**2 / (2.0 * (p[2] / 2.3548)**2)) - @jit def gmm(x, p): + """Gaussian Mixture Model - vectorized + + Parameters: + ----------- + x : np.ndarray (1dim) + energy scale + p: np.ndarray (1dim) + parameters of Gaussians (center, amplitude, width, center, amplitude, ... ) + Returns: + sum of gaussians: np.ndarray (1dim) + """ + parameters = p.reshape(-1,3) + + centers = parameters[:,0] + amplitudes = parameters[:,1] + sigmas = parameters[:, 2] * 2.3548 + + gaussians = np.exp(-0.5 * ((x[:, None] - centers) / sigmas)**2) # Shape: (M, NumPeaks) + + # Sum across the peaks (columns) to get total model of spectrum: here as a dot product! + return gaussians @ amplitudes + +@jit +def gmm2(x, p): """Gaussian Mixture Model""" y = np.zeros(len(x)) number_of_peaks= int(len(p)/3) @@ -172,7 +195,7 @@ def gaussian_mixture_model(dataset, p_in=None): spectrum = np.array(dataset) energy_scale = np.arange(len(spectrum)) spectrum = np.array(spectrum) - #spectrum -= np.min(spectrum)-1 + if p_in is None: p_in = find_peaks(spectrum, energy_scale) @@ -183,8 +206,10 @@ def gaussian_mixture_model(dataset, p_in=None): def fit_gmm(x, y, pin): """fit a Gaussian mixture model to a spectrum""" - [p, _] = scipy.optimize.leastsq(residuals3, pin, args=(x, y),maxfev = 10000) - return p + p = scipy.optimize.least_squares(residuals3, + pin, + args=(x, y), xtol=1e-3, method='lm')# maxfev = 10000) + return p.x def sort_peaks(p, peak_shape): @@ -214,10 +239,10 @@ def fit_peaks(spectrum): diff = np.array(spectrum[start_channel:end_channel] - model[start_channel:end_channel]) p_in = peak_dict['peak_out_list'] #peak_gmm_list[:] # find the optimum fitting parameters - + print(p) [p_out, _] = scipy.optimize.leastsq(residuals3, np.array(p_in, dtype=np.float64), - args=(energy_scale, diff)) # , False)) + args=(energy_scale, diff),) # , False)) # construct the fit data from the optimized parameters peak_model = gmm(full_energy_scale, p_out) # , False)