{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Jupyter notebook example: treatment of Fe K-edge XANES spectra of a volcanic melt\n", "\n", "Charles Le Losq, IPGP\n", "\n", "In this notebook, we will see how one can process spectra at the Fe K-edge using Larch in Jupyter.\n", "\n", "This is particularly useful as Jupyter provides an \"interactive\" environment to play with Python, Larch and the spectra.\n", "\n", "First we import the necessary libraries and Larch functions:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# this is a jupyter command that tells Jupyter how to handle your plot. \n", "#If you want interactive plots, replace 'inline' by 'notebook'\n", "%matplotlib inline \n", "\n", "# now we import 'traditional' data processing Python libraries\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "# and now larch\n", "import larch\n", "from larch import Interpreter, Group\n", "from larch.xafs import autobk, xftf, mback,pre_edge, pre_edge_baseline\n", "from larch.io import read_ascii\n", "\n", "# create a larch interpreter, passed to most functions\n", "my_larch = Interpreter(with_plugins=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now import data, here a Fe K-edge spectrum of a Fe foil:\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "data = read_ascii('../xafsdata/fe.060')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can access the energy:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([6911.98862, 6916.99353, 6922.006 , 6927.0007 , 6932.00293])" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.energy[:5] #just the first 5 elements" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and calculate the absorbance spectrum from It and I0:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "data.mu = -np.log(data.it/data.i0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now plot the data with Matplotlib:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, '$\\\\mu(E)$')" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEGCAYAAACQO2mwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3dd3xb9bn48c9jyXtvOx5xhp1NJhmEDBoIJAVSKG2BW0onLR2XdV+30PbHpe3t7R60lEIKtNDBKKMFmgCBQEIYgew9nIQkTpzEM8Nb0vf3xzlSFMeKncQ+suzn/XrpZemcY+mrY/k8er5TjDEopZRSHYkKdwGUUkr1XhoklFJKhaRBQimlVEgaJJRSSoWkQUIppVRI7nAX4HxlZWWZkpKScBdDKaUiyurVq6uNMdmdHRfxQaKkpIRVq1aFuxhKKRVRRGRvV47T6iallFIhaZBQSikVkgYJpZRSIWmQUEopFZIGCaWUUiFpkFBKKRWSBgmllFIhaZCIILUNrTy3ugKd3l0p5ZSIH0zXnzy8bBcPL99NcpybuaPywl0cpVQ/oJlEBGlo9QBQUdcU5pIopfoLDRIRxF/L1OzxhrcgSql+Q4NEBGn1+ABoaPGEuSRKqf5Cg0QEOd5sBYeGFs0klFLO0CARQfxtEppJKKWc4liQEJE4EflARNaLyGYR+X4Hx8SKyNMiUi4iK0WkxKnyRYJAdVOrBgmllDOczCRagI8ZY8YC44ArRGRqu2O+BNQZY4YCvwZ+6mD5er0WO0g0tWp1k1LKGY4FCWM5YT+Mtm/tR4UtAB637z8LzBERcaiIvZ4/k2hu84W5JEqp/sLRNgkRcYnIOuAIsMQYs7LdIQXAfgBjjAc4CmR28Dy3iMgqEVlVVVXV08XuNVq9dpDQLrBKKYc4GiSMMV5jzDigEJgsIqPP8XkWGmMmGWMmZWd3ukRrn6GZhFLKaWHp3WSMqQfeBK5ot+sAUAQgIm4gFahxtnS9V4udQbS0aSahlHKGk72bskUkzb4fD1wGbGt32IvAzfb964Clpo/OZvfKpkP8a92Bs/qdk5mEBgmllDOcnOAvH3hcRFxYwekZY8zLIvIDYJUx5kXgUeAvIlIO1ALXO1g+R33tr6sBWDCuoMu/EwgSHq1uUko5w7EgYYzZAIzvYPu9QfebgU85VaZI06KZhFLKYTriOkL4fAaPz6p5a27z6poSSilHaJCIEP7ur0mxbnwG2rwaJJRSPU+DRC9QfaKFR1fsCfRe6kiL3e01Jc6qIdSxEkopJ2iQ6AUefHMXP3x5C4s3Hgp5TIvXCgop8dHAmdslfD7DvprG7i2kUqpf0iARZsYYKo9aK829tyv0kBB/zyZ/kGg5w4C6pduOMPPnb/L3lfu6saRKqf5Ig0SYtXp9HKy3gsSijZWcCDENeCBIxHWeSew4chyAD/boOESl1PnRIBFmbV7DgfomCtLiOd7iYdGGyg6PawlkEu5THnfk0NHmwHMrpdT50CARZm0eH8eaPFw5Np/MxBhW7qkN7KttaOXWv67myPHms8okDtRZmUldY2sPllwp1R84OeJadeBEi4dWr4+UuGguLMngg49OVhH9c+0BFm86RHZyLFeNHQAEN1yHziQO1PuDRFsPllwp1R9oJhFm/m/7SbFuJg/KYH9tE/trrZ5J9U3WRd5nzOldYM+USdhBol4zCaXUedIgEQZe38m2gtqGk0Hi0hG5gNWAbe1rAeBEs4fW9l1gQ4yTONbcxvFmq/H7aJNmEkqp86NBIgzavCerivyZRGKsm+LMBEoyE1hfUW/vsy7ytY1tgUwitZPqpr3VVhYyMj+FxlYvHq9OBqiUOncaJMLAc0omYQWCpFirGqkkK5G99kC4OjvLqGtoDfRmSu1kMN2emgYAxhSkAtDQoiOzlVLnToNEGLQFdV/1Vyn5u7bmJMdSfaLF3tca+OmfsqOzILHl4DHcUcKoghTAqn5SSqlzpUEiDIKrm2pOWIEg2e7amp0cS/WJVnw+E6iKqu0gk+honITPZ3ht8yEuLMkgOykWIOTgvGAvrK3g4WW7zuMdKaX6Ku0CGwatQUFi8SZrviZ/r6XspFi8doCos6uimtq8HLXbJ5Li3Ih0nElsPniM3dUN3Dp7SCDo+BuxQzlyvJk7nl4PwDUTCshJjjvPd6eU6ks0kwgDT9BIaH8PpJOZhHWR/qimgVavj4GZCQBU2VVQcW4XcW5Xh0HC3x5xQWEaSXbQOdFy5uqmDfuPBu6/U159Tu9HKdV3aZAIg7YOehzFuK0/RUZiDAA7D58AYFBWIgBHjrUgAtEuIS46qsPeTf7xFcUZCSTbQaKzTGLzwWOB+/tqms72rSil+jgNEmFwpnmXAkHiyKlBoupEC7HuKESEuOiOM4mD9U1kJMYQH+Mi2e4tdayTILG7+gSF6fHkp8axr1anF1dKnUrbJMKgfSbx+p0zA/fTE61qp3I7SAz2ZxLHm4l1uwCsINFBoKk63hJosPZXX53oJEjsrWlkYGYCbV4TyESUUspPM4kwaD87a1FGQuB+WryVSZQHMokkwAoAsXaVVKw7qsNMovpEC1nJ1u/HRUfhjhKOd9IFdl9tI8UZCWQnxVJtd8dVSik/DRJh0D6T8GcIYLVNJMe6A/MvDcq2MonmNh+x0dafK1R1U/WJVrLsTEJESIpzn7ELbGOrh9qGVgrTE0hLiKZeJwRUSrXjWJAQkSIReVNEtojIZhG5rYNjZovIURFZZ9/udap8Tmo9Q5sEQLrdLpEY4wpUHwFB1U1Rp61M5/MZDh1rJjflZBfW5Dj3GRuuK+11JwakxZGeEEN9ozU+Qyml/Jxsk/AAdxlj1ohIMrBaRJYYY7a0O+5tY8yVDpbLca2dzKeUnhjDvtpGMpNiiXFHER/toqnNG6huiot2BUZj+1WdaKHV46MoPT6wLTk2mmNnmOSvst4KEvmp8dScaMVn4HiLJzBgTymlHMskjDGVxpg19v3jwFagwKnX702Cq5suG5l72v6MBOsinZVkZRT+i/aZ2iT8PZMKg9o3MpNiqGkIPV24f23t/NQ40hKs19LpxZVSwcLSJiEiJcB4YGUHu6eJyHoRWSwio0L8/i0iskpEVlVVVfVgSXuGv7rpuVuncf/1407b7x/1PDjbarT2z+sUFx3Uu6ldddN7u2oQgdEDUgPbspNiqToeujHaX92UmxJHuh2YtF1CKRXM8SAhIknAc8Dtxphj7XavAQYaY8YCvwP+2dFzGGMWGmMmGWMmZWdn92yBe4A/k8hLjSch5vQav6E5VnC4sCQdOD2T8Fc/Nbd5+cTv32HRxkqWbDnM+KI0spNPtmFk2ZMFGtNxO0Pl0WYyE2OIi3YFXkPXoFBKBXN0nISIRGMFiL8ZY55vvz84aBhjFonIgyKSZYzpU/NFtNpdYGNcHcfom6YNZGhuEjOGZgEn17X2N1wnxrppbPHw5rYjrNtfz9f/tgaAOy4tO+V5spNiafH4ON7iCTxHsMqjTeSnWVnLyWk8Op8QUCnVfzjZu0mAR4GtxphfhTgmzz4OEZlsl6+mo2MjmX+q8FBBIi7axSXDcnDb+/3f8uNjTgaJhlZvYCyF35jClFMe+7OK6hBVToeONpOXYjV0+9ez6GzwnVKqf3Eyk5gO3ARsFJF19rbvAMUAxpiHgOuAW0XEAzQB15tQdSURzN+7KdotXTrev2Rpmt1u4J9yY0e7IDEi/9Qg4R8zUXW8JdC+EexgfROTB2XYz2nPGquZhFIqiGNBwhizAjjjVdEY8wDwgDMlCp/OMon2/BmEP6NI9AeJQ8dJjHHR0Gr1dMpLOXWab38m4Z9BNlhDi4djzR7yUuPs57ReQzMJpVQwnbspDNq8PkTAFdW1TMJl1cARbQcVf/vB9sPHuWxkLsYYpg7OxK6pCzhTdVNgIF2qVd3kdlnjMTqbWlwp1b9okAiDFq+PaFfUaRf1UOaPyWd9RT2Xj8oDTlY3ARSlJ3DvVSM7/L20+Ghi3FEctANCsEP2Nn8mAXQ6jYdSqv/RIBEGbR7T5aomgJEDUvjLl6YEHmcFTdVREDTCur2oKKEkM4E91Q2n7TtoD6TzZxLQ+TQewZrbvESJBNbBUEr1TfofHgZtXt95XVxzUoKCRFroIAHWehS7q06cNl+UP5PITT35XMmxXcskjhxrZs4vlzHnV2/p9OJK9XEaJMKg1ePD3cX2iI5k2hMAAhSeIZMAawT2rqoGyr63mP945H3++9n1VB1vofJoE1lJMafMQJsU5+5Sw/VLGyo5UN/E/tom7npm/Tm/D6VU76dBIgw8PhNohD4X7qDfHZaXfMZjZw/LAawpyNftq+eZVRX8askODtY3n9IeAdZYia5kEu/vrqEkM4G75w3ng49q2VtzenWWUqpv0DaJMPD6fF3u2RTK4ttmUNfQ2mmwGVOYyopvX0JuShzuKOHLj69i5e4aECjLOTXAJMVGd6lNYt3+emaWZvPxMfn8ZPE2lu+o4qZpief1fpRSvZNmEmHgNZxXdRNYA+cusqft6ExhekKgN9XkQRnsrm5gd1UDg7NPvbBbDddn7gJb29BK1fEWhuclU5geT05yLGv21Z/z+1BK9W4aJMKgOzKJc3WhPcIarEbtYP7qpjMNct9x+DgAZXnJiAjji9NYs6+uZwqrlAo7DRJh4PGasAWJMQUnpxKfMijzlH1JcW58BpqC1qr40zt7uPPpddTZ61L4g8SwXKuqakJxOntrGqnpYFS3UiryaZtEGPhM+IJEtCuKp26ZSkVdE8WZCafsC57kb19tI4s2HuK3b+wEwO0SfnbdWLYfOk5KnJtcuxvu+GJrOvO1++q5tIMFlJRSkU2DRBh4fOa82yTOx9TBmR1uT7an+6hpaOXTD7/H8WYPlwzLJjs5lpfWV3Lf1aPYcfg4w+yqJrAyE3eUsHZ/nQYJpfogrW4KA6/PEBXGIBFKur2E6eJNhzje7OH/rhnDIzdfyFVjB9DU5mXZ9io2HTjGqKDV7+JjXIzIT2HNXm28Vqov0iARBt4wZxKhDLBHb//t/b3EuqO4ZnwBrijhwpIM4qNd3Pq3NTS1eU9bl3viwHTW7q/TeZ+U6oM0SISBxxe+NokzGWCvUlfT0MpFQzIDU5THRbv4xiVDALhsZC5TgnpIAVw9bgDNbT5eWn/Q2QIrpXqctkmEgddniI7uffE5eL3tj404NVv4xiVDuXHKQDKCpgTxG1+UxuDsRF7ecJAbJhf3eDmVUs7pfVeqfsDrM7iieuepv/KCfOKjXVw6IueU7SLSYYDw75s3Oo/3dtVwtLFr61E0t3l54r2PqNaus0r1ar3zStXH9dY2CYAHbpzAxvvmkp965okD25tVloPPwPt7urYk+U9f2ca9/9rMpx96D5+vz61Qq1SfoUEiDDw+Q1QXFxwKB/c5TD44riiN+GgX75ZXA9agu/tf38me6gaONbfxf4u28qd39mCM4VhzG39fuY8YdxS7qxt4d1fXAotSynnaJhEGvl6cSZyrGHcUFw7K4N1dNRw51synH36P+sY2Hl2xm6RYd2B1vPrGNvJS42jx+Hjqlql85YlVvLT+IBeXdm0eKqWUszSTCAOPz4fL1beCBMD0IZnsPHKCO55ZR0OLh0dvnsToglSykmN56papfGpiIfe/sZN7nt/IiPwUpgzK4OKhWaworz7jfFFKqfDRTCIMvD6DqxdXN52r+WPy+fHibbxTXsNXZw1mzohc5gT1kppQnE5FXRNr99fx35cPQ0SYUZrN4k2H2FXVwNCcpDCWXinVEceChIgUAU8AuYABFhpj7m93jAD3A/OBRuDzxpg1TpXRKeGelqOnFGUk8MMFo6ioa+L2OWWn7Y9xR/HElybT4vEF5omaYVczvb2zSoOEUr2Qk5mEB7jLGLNGRJKB1SKyxBizJeiYeUCpfZsC/MH+2af4eulguu5w07SSM+6PdkWdslBSUUYCg7ISeXN7FV+YPqiHS6eUOluOtUkYYyr9WYEx5jiwFShod9gC4AljeR9IE5F8p8rolN464jpc5o3OY8XOKg7UN2GM0fYJpXqRsDRci0gJMB5Y2W5XAbA/6HEFpweSiOfVIHGKGyYXEyXC5x5dyUU/Wcq0Hy9lrb2QUc2JFg7WN4W5hEr1X44HCRFJAp4DbjfGHDvH57hFRFaJyKqqqqruLaADvKZvtkmcq6KMBH523QUcbWqjIC0erzHc9tQ63t9dw8d+uYzZv3iL17ccDncxleqXHO3dJCLRWAHib8aY5zs45ABQFPS40N52CmPMQmAhwKRJkyKubsLr7Z1ThYfTtRMKuXZCIQDv7qrmxj+u5PqF75OZGENafDT/71+bmD40KzDpoFLKGY5lEnbPpUeBrcaYX4U47EXgc2KZChw1xlQ6VUan9NXeTd3loiFZfP/qUcwdmcvfvzKV390wnsqjzTz+3kenHbt2Xx2vbKqkzetzvJxK9QdOZhLTgZuAjSKyzt72HaAYwBjzELAIq/trOVYX2C84WD7HeE3vneCvt7j5ohJuvqgk8Hj2sGz+8NYubphcTGp8NMYYfvnaDh54sxyAS0fk8PBNk7StR6lu5liQMMasAM74H2ysbi3fcKZE4WM1XIe7FJHlv+YO48rfreCuZ9bznfnDeeDNcp5fc4DPTCqiMD2eXy7ZwY8XbeV7V44Md1GV6lN0xLXDjDG9eqrw3mp0QSr3XTWSH7y8hde3Wo3Yd15Wxrc+NhQRoaahlUdW7KEgPV7HWyjVjTRIOMw/K7a2SZy9z08fxKxhOSzbfoQxhalMHHhyhbzvfXwEFXVNfP+lLbR6fHx11pAwllSpvkODhMM8PquBVevOz82grEQGZZ2eKbhdUTz02Qnc/vQ6frx4G2V5yVwyLKeDZ1BKnQ2t83CY104lNEh0P7cril98aizD85K565n1OghPqW6gmYTD/EFCq5t6Rly0iwdunMDVD6zg8l8vJy81joRYN7PLspk1LJsReSk61kKps6CZhMP8QaI3r0wX6YbmJPHC16czb0weQ3OSiHEJv126k2sffJcLf/Q6/1p32vhMpVQImkk4zOPPJPrgokO9ybC8ZH523djA4/21jWw+eIzHVuzh9qfX4YoSrrxgQBhLqFRk0CDhMJ+2SYRFUUYCRRkJzB6Wzece/YA7n16Px2tYMG4AolmdUiFpdZPD/JlEX1yZLhLERbv44+cmMXJACrc/vY4b/vg+Ww6e0zyTSvULmkk4THs3hV9qQjTP3XoRT36wj5+/up35v32b1PhoYt1RJMS4mDo4kytG5zFtSCaxbm3kVv2bBgmHebVNoldwRQmfnTqQKy/I5x+rKqioa6TF46OusZWXN1Ty1If7cUcJY4vS+MyFRSwYN0ADhuqXNEg4zKO9m3qVtIQYvjJz8Cnbmtu8vFNezaq9dbyx9TD//ewGfv7qdr4xewifm1ai07yrfkXbJBx2cpyEnvreKi7axZwRuXz7iuG8evtM/vKlyZTmJHHfS1v47KMrdZCe6lf0SuUwbZOILCLCjNJs/vblKfz0k2NYt7+eK36zXMdaqH7jrIOEiCSKiFbOniMNEpFJRPjMhcUsvm0GQ3OSuO2pdXzrybUcOtoc7qIp1aM6DRIiEiUiN4rIv0XkCLANqBSRLSLycxEZ2vPF7Dv8E/zptByRaWBmIs98dRp3XVbG4o2VTPvJG3z72Q1Un2gJd9GU6hFdabh+E3gduAfYZIzxAYhIBnAJ8FMRecEY89eeK2bf4TOaSUQ6tyuKb80p5aqxA3jivb088d5HvLThIJ+cUMjNF5UwNCcp3EVUqtt0JUh8yxizof1GY0wt8BzwnIhEd3vJ+iiPV4NEX1GSlci9V43kxinFPLRsF09/uJ+/vL+Xa8cX8B9TB5Ia72ZAWjwJMdqJUEWurnx6/wxMABCRLxtjHvHvEJEEY0yjMaath8rX52ibRN8zNCeJX3xqLHfPG84jb+/h0RW7eX6t1bCdFOvmmvEFfHnGIAZmJoa5pEqdva4EieCr2deBR4Ievw1M7NYS9XFeo1OF91VZSbHcPW84X5kxiFV762hu87JsexVPr9rPX1fupSwnmcRYFyVZifzHlIFMHJge7iIr1amuBAkTdL/9lU270J4lj2YSfV5mUiyXj8oDYMG4Au6eN5wnP9jPxgP1NLV5eX3LYZ5fc4B5o/P4xiVDGV2QGuYSKxVaV4JEnoh8HljP6UHCnH64OhOvtkn0Ozkpcdx2aWngcWOrhz8u38PDy3exeNMhJg5M54vTB3HF6Dz9XKhepyuZwH1YVUq/AQrtrq/PiciPgKyuvpCIPCYiR0RkU4j9s0XkqIiss2/3dvW5I4lXezf1ewkxbm67tJT37pnD9z4+guoTLXzj72uY++tlPLe6glaPL9xFVCqg00zCGLMw+LGIFAJjgAuA5WfxWn8GHgCeOMMxbxtjrjyL54w4Oi2H8kuNj+bLMwbzxemDWLzpEL9bupO7/rGen7yyjZunDeTGKQPJSIwJdzFVP9dpkBARMcYEqpWMMRVABbA41DEdMcYsF5GScy9q33CyTSLMBVG9RlSU8PEL8pk/Jo/lO6t5dMUefvHaDh54s5xbZg7hqzMHkxir3WhVeHTlUvWmiHxLRIqDN4pIjIh8TEQeB27upvJME5H1IrJYREZ103P2KidXptMooU4lIswqy+aJL07mtTtmcumIXH77xk4u+cVbvLC2gk6+hynVI7pypboC8AJPioh/Oo49wE7gBuA3xpg/d0NZ1gADjTFjgd8B/wx1oIjcIiKrRGRVVVVVN7y0cwJrXGubhDqDstxkHrhxAs/dehH5afHc8fR6bvzjSpZsOUybV9sslHO60ibRDDwIPGiPrM4Cmowx9d1ZEGPMsaD7i0TkQRHJMsZUd3DsQmAhwKRJkyLq65XXnrtJ1yRQXTFxYDov3HoRj7/3EQuX7+YrT6wixhVFZlIMyXFuspJimTMilxsmF+nIbtUjuvypEpGNwAb/zX58szHmR91REBHJAw4bY4yITMbKcmq647l7E/+XQM0kVFdFRQlfmD6Im6YOZOm2I6zZV09tQwvHmjzsrW3khy9v4cE3y/nC9BIuG5lHWW4SootaqW5yNl89ZmH1aLoAuB54EtgMdClIiMiTwGwgS0QqgP8BogGMMQ8B1wG3iogHaAKu76wxPBL5MwntAqvOltsVxdxRecy1B+r5rd5bx6+X7OAXr1m3wvR45o/J5+qxA3SgnjpvXQ4S9oR+b9k3RKQU+N5Z/P4Nnex/AKuLbJ8W6N2k3/RUN5k4MJ2/fnkKlUebeGt7Fa9uPsSf3tnDwuW7GZGfwpUX5HPdxEJyU+LCXVQVgc6muqnMGLPD/9gYs1NELuiZYvVdgQn+XBokVPfKT43nhsnF3DC5mPrGVl5af5BnV1fw81e3c//rO/n0hYV8bdYQCtMTwl1UFUHOprrpYREZAhzAapeIAzb5Z4LtkdL1QV7t3aQckJYQw03TSrhpWgn7ahr5gz2V+VMf7OcT4wu4YXIRE4rTte1CdepsqpsuAbDHS4wFxtk/14mIzxgzvGeK2Lf4q5ui9J9TOaQ4M4EfXzuG/5wzlIeX7eapD/fx7OoKijMSuHZCAZ+bVqIju1VIZ91nzhizD9gHvOTfJiK6FFcX+TSTUGGSnxrPfVeP4q65Zby6+TD/XHuA+9/YycLlu/ns1IHcNHUgRRlaFaVO1S0dq40xJ7rjefoDnSpchVtyXDTXTSzkuomF7Dx8nN8tLeeRt3fzx7d3c/HQLC4ZlsOsYdkMzkrU6ijVPUFCdZ3XZ4gS9J9P9Qqlucn89obx3D1vOE99sI+XN1Tyg5e3wMtQmB7PzLJsZpVlM31oFkk6f1S/pH91h3mN0RlgVa8zIC2eO+cO4865w9hf28iyHVUs21HFv9Ye4O8r9xHjimJmWRbzRudz6chcUuN1Wfv+QoOEw7w+o1VNqlcrykjgs1MH8tmpA2n1+Fizr44lWw6zeGMlr289QrRLmDo4k0tH5DJ3VC75qfHhLrLqQRokHObxapBQkSPGHcXUwZlMHZzJ9z4+gvUVR1m8sZIlWw7zPy9u5r6XNjN9SBafnFjA5aPydP6oPkj/og7zGQ0SKjKJCOOK0hhXlMY980ewq+oEL647yPNrK7jj6fUkxmzi4xfk88kJhUwelKHtbn2EBgmHeXw+7f6q+oQh2UnccVkZt80p5YOPanludQX/3lDJM6sqKMqI55pxBVwzoZBBWYnhLqo6DxokHOb1GZ0mXPUpUVESqJL6/oJRvLLpEC+sPcADb5bz26XlXFiSzqcmFfHxMfm6wl4E0r+Yw7w+o5mE6rMSYtxcO6GQaycUcuhoM/9cd4BnPtzPfz+7gfte3Mz8MfnMHZnLxaVZ2n4RIfSv5DCP9m5S/UReahxfm2Wt0b1mXx3PfFjBoo2VPLu6glh3FNOHZjFnRA5zhueSl6oz1PZWGiQcpl1gVX8jIkwcmMHEgRn88BOj+fCjWl7fepjXtx5m6bYjfJdNjC5I4WPDcrhkeA5jC9O0SrYX0SDhMA0Sqj+LsTOI6UOzuPfKkew8coLXtx7mzW1HAm0YA1LjuHLsAK4eO4BRA1K0l1SYaZBwmLZJKGUREcpykynLTebrs4dS19DKWzuO8PL6Sh5bYS2aNDAzgctH5XH5qFzGF6VrhhEGGiQc5vEZnSZcqQ6kJ8ZwzfhCrhlfSF1DK4s3HTpllb28lDjmjclj/ph8JhZrwHCKBgmH+XwGt65Kp9QZpSfGcOOUYm6cUsyx5jaWbj3Coo2V/G3lPv70zkfkpsQyb3Q+80bnMakkQ6twe5AGCYdZvZt0gj+luiolLppPjC/gE+MLONHi4Y2th1m0sZInP9jHn9/9iKykGC4dkcvlo/K4aGgmsW5XuIvcp2iQcJjXZ9BEQqlzkxTrZsG4AhaMK6ChxcPSbUd4dfMhXt5QyVMf7icxxsXs4TlcPiqP2cOySYnT2WrPlwYJh7V6fMS4NZNQ6nwlxrq5auwArho7gBaPl3d31fDa5kMs2XKYf2+oJNolXDQki7mjcrlsZC45yToW41w4FiRE5DHgSuCIMWZ0B/sFuB+YDzQCnzfGrHGqfE5p9fpIidFvN0p1p1i3i0uG5dK3xcQAABGOSURBVHDJsBz+9xOGtfvqeHXzIV7dfJjvvrCJ7/1zExOK05k70qqWKtH5pLrMyUziz8ADwBMh9s8DSu3bFOAP9s8+pc3rI0brm5TqMa4oYVJJBpNKMvjO/BFsP3ycVzcd5tXNh/jx4m38ePE2hmQnMqssh5llWUwdnElctLZjhOJYkDDGLBeRkjMcsgB4whhjgPdFJE1E8o0xlY4U0CGtHh/RLq1uUsoJIsLwvBSG56Vw26Wl7K9t5LUth3lr+xH+unIvj72zhxh3FFMGZTCrLJuZZdmU5iTpAL4gvalNogDYH/S4wt7Wp4JEm1eDhFLhUpSRwJcuHsSXLh5EU6uXlXtqWL6jmuU7q/jff2+Ff28lPzWOGaVZzCrL4eKhWaQm9O/q4d4UJLpMRG4BbgEoLi4Oc2nOTnObj1htuFYq7OJjXMwelsPsYTkAHKhvYvmOKpbvqGLxpkM8s6qCKIGxRWnMLM1m1rBsxham9bsxGb0pSBwAioIeF9rbTmOMWQgsBJg0aZLp+aJ1D2MMdY2tpCfGhLsoSql2CtLiuWFyMTdMLsbj9bG+op5l26tYtrOa3y7dyf1v7CQlzs3FpVnMKLWqpgrS+v763r0pSLwIfFNEnsJqsD7a19ojWjw+Wjw+UuP7d/qqVG/ndkUFZq69c+4w6hpaWVFezds7q1i+o5pFGw8BMDg7kZml2cwsy2LKoMw+uaiSk11gnwRmA1kiUgH8DxANYIx5CFiE1f21HKsL7BecKptTWjw+AO1JoVSESU+MCYzJMMZQfuQEy3ZU8fbOap760Br5He0SJg3MYEZZFjNLsxmZn9In5pdysnfTDZ3sN8A3HCpOWLR4vADaJqFUBBMRSnOTKc1N5sszBtPc5mXVR3W8vbOKZTuq+Nkr2/nZK9vJTIzh4lIrYMwozSInJTIH8/W93KgXa2mzMgkNEkr1HXHRLi4uzeLi0izumT+CI8eaWVFezXI70/jXuoMADM9LZmaZFTAuLMmImBoFDRIOCmQSEfLhUEqdvZyUuMA63z6fYUvlMd7eaQUN/7Tnse4opgzOZGZpVq8fm6FBwkHNdiYRp5mEUv1CVJQwuiCV0QWp3Dp7CI2tHlburrXbM06OzchNiQ30mLp4aBYZvagHpAYJB/kbrjWTUKp/Sohxc8lway1vgIq6RlbsrObtndUs2XKYZ1dXIAJjClKZYXe1nVCcHtZJQTVIOEgbrpVSwQrTE7h+cjHXTy7G6zNsqKhn+Q6rq+1Dy3bz+zd3kRjjYtqQTKYPzWLakEzKcpId7TWlQcJBgUxCg4RSqh1XlDC+OJ3xxencdmkpx5rbeLe8xhqbsbOK17ceASAjMYapgzOYNjiTmWXZDMzs2RltNUg4yN+7SdeTUEp1JiUumitG53HF6DwA9tc28t7uGt7fVcN7u2tYtPEQX505mHvmj+jRcmiQcJDXZ80g4tblS5VSZ6koI4GijAQ+PakIYwz7ahtxOzBZqAYJB3mNFSR0Elil1PkQkR6vZvLTy5WDfHYmEdVL+0MrpVR7GiQc5K9u6m9TDSulIpcGCQf5q5s0k1BKRQoNEg7yaSahlIowGiQcdLLhWoOEUioyaJBwkDZcK6UijQYJB2nDtVIq0miQcJDXXo3bpZmEUipCaJBwUKC6Sc+6UipC6OXKQdpwrZSKNBokHOTTcRJKqQijQcJB2rtJKRVpNEg4yGvNFK7VTUqpiKFBwkEnp+UIc0GUUqqLHA0SInKFiGwXkXIRubuD/Z8XkSoRWWffvuxk+Xqaz2eIEmuaX6WUigSOrSchIi7g98BlQAXwoYi8aIzZ0u7Qp40x33SqXE7yGqNVTUqpiOJkJjEZKDfG7DbGtAJPAQscfP2wszIJDRJKqcjhZJAoAPYHPa6wt7X3SRHZICLPikhRR08kIreIyCoRWVVVVdUTZe0RXp9mEkqpyNLbGq5fAkqMMRcAS4DHOzrIGLPQGDPJGDMpOzvb0QKeD68xOiWHUiqiOBkkDgDBmUGhvS3AGFNjjGmxHz4CTHSobI7w+QxRmkkopSKIk0HiQ6BURAaJSAxwPfBi8AEikh/08Gpgq4Pl63HacK2UijSO9W4yxnhE5JvAq4ALeMwYs1lEfgCsMsa8CPyniFwNeIBa4PNOlc8JPqNjJJRSkcWxIAFgjFkELGq37d6g+/cA9zhZJidp7yalVKTpbQ3XfZr2blJKRRoNEg7yGs0klFKRRYOEg3yaSSilIowGCQd5jc4Aq5SKLBokHOSf4E8ppSKFBgkHacO1UirSaJBwkDZcK6UijQYJB2nDtVIq0miQcJBOy6GUijQaJBzk1RHXSqkIo0HCQUbnblJKRRgNEg7S3k1KqUijQcJB2rtJKRVpNEg4SHs3KaUijQYJB7X5DG6XnnKlVOTQK5aDPF4f0ZpJKKUiiAYJB3m8BrdLg4RSKnJokHBQm9dHtFY3KaUiiF6xHNTm0yChlIosesVykMdrcGubhFIqgmiQcFCbV3s3KaUiizvcBQiXdfvr+c3rOxhflM744jTGFqWRGh/do6/Z0OIhKdbVo6+hlFLdydEgISJXAPcDLuARY8xP2u2PBZ4AJgI1wGeMMR/1RFmONrVRWd/Msh07MMbaNjQnifFFaYwvTmdcURpluUnd9s2/zeujqc1LSlzPBiKllOpOjgUJEXEBvwcuAyqAD0XkRWPMlqDDvgTUGWOGisj1wE+Bz/REeWaVZTOrLJvjzW1sqDjK2n11rN1XzxvbjvCP1RUAJMS4GF2QyviiNMYVpTGuOI381Phzer3ahlYA0hJjuu09KKVUT3Myk5gMlBtjdgOIyFPAAiA4SCwA7rPvPws8ICJijP+7fvdLjotm+tAspg/NAsAYw96aRtbtrw/c/vTOR7R6fQDkpsQyttAKGOOK0rigMI2k2M5P487DJwAoyUzoqbeilFLdzskgUQDsD3pcAUwJdYwxxiMiR4FMoDr4IBG5BbgFoLi4uFsLKSKUZCVSkpXIJ8YXANDi8bK18jjr9tUFAsdrWw7bx0NZTjKjClIozUlmaE4SpTlJFGUkBOZpavF4+dvKvcRFRzG+OL1by6uUUj0pIhuujTELgYUAkyZN6rEswy/W7bKqm4rSAtvqGlpZX3Ey23i3vIbn1xwI7I92Canx0STFuqk63kJDq5c7Li3rUtahlFK9hZNXrANAUdDjQntbR8dUiIgbSMVqwO510hNjmD0sh9nDcgLbjjW3UX7kBOWHT7CnpoGjTW0cb/aQFh/NZSNzmVGaFcYSK6XU2XMySHwIlIrIIKxgcD1wY7tjXgRuBt4DrgOW9mR7RHdLiYtmQnE6E7RKSSnVRzgWJOw2hm8Cr2J1gX3MGLNZRH4ArDLGvAg8CvxFRMqBWqxAopRSKkwcrSA3xiwCFrXbdm/Q/WbgU06WSSmlVGg6R4RSSqmQNEgopZQKSYOEUkqpkDRIKKWUCkmDhFJKqZA0SCillApJImisWodEpArY6+BLZtFuLikVkp6rrtHz1DV6nrqmq+dpoDEmu7ODIj5IOE1EVhljJoW7HJFAz1XX6HnqGj1PXdPd50mrm5RSSoWkQUIppVRIGiTO3sJwFyCC6LnqGj1PXaPnqWu69Txpm4RSSqmQNJNQSikVkgYJpZRSIWmQAERkmIisC7odE5HbRSRDRJaIyE77Z7p9vIjIb0WkXEQ2iMiEoOe62T5+p4jcHL531f3OcJ7uE5EDQdvnB/3OPfZ52i4ilwdtv8LeVi4id4fnHfUcEblDRDaLyCYReVJE4kRkkIistN/z0yISYx8baz8ut/eXBD1Ph+evrwhxnv4sInuCPk/j7GP75f8dgIjcZp+jzSJyu73NmeuTMUZvQTesBZEOAQOBnwF329vvBn5q358PLAYEmAqstLdnALvtn+n2/fRwvycHztN9wH91cMxIYD0QCwwCdtm/57LvDwZi7GNGhvs9deO5KQD2APH242eAz9s/r7e3PQTcat//OvCQff964Okznb9wvz8HztOfges6OL5f/t8Bo4FNQALWGkCvA0Oduj5pJnG6OcAuY8xeYAHwuL39ceAT9v0FwBPG8j6QJiL5wOXAEmNMrTGmDlgCXOFs8R0TfJ5CWQA8ZYxpMcbsAcqByfat3Biz2xjTCjxlH9uXuIF4e632BKAS+BjwrL2//efJ/zl7FpgjIkLo89eXtD9PB89wbH/9vxuBdaFvNMZ4gGXAtTh0fdIgcbrrgSft+7nGmEr7/iEg175fAOwP+p0Ke1uo7X1R8HkC+Kad2j7mT3vpp+fJGHMA+AWwDys4HAVWA/X2Pzmc+p4D58PefxTIpB+eJ2PMa/buH9mfp1+LSKy9rV9+nrCyiBkikikiCViZQhEOXZ80SASx64ivBv7Rfp+x8jXtL0yH5+kPwBBgHNY/+y/DVLRewQ6SC7CqiAYAifStb7bdoqPzJCKfBe4BhgMXYlWNfDtshewFjDFbgZ8CrwGvAOsAb7tjeuz6pEHiVPOANcaYw/bjw3aahv3ziL39AFYk9yu0t4Xa3teccp6MMYeNMV5jjA/4IyerRPrreboU2GOMqTLGtAHPA9Ox0n7/uvLB7zlwPuz9qUAN/fM8XWSMqbSrSlqAP6GfJ4wxjxpjJhpjZgJ1wA4cuj5pkDjVDZxahfIi4O8BcDPwr6Dtn7N7EUzFSpMrgVeBuSKSbn9Lmmtv62tOOU/+D6rtGqz0GKzzdL3de2cQUAp8AHwIlNq9fWKwqq5edKTkztgHTBWRBLttYQ6wBXgTuM4+pv3nyf85uw5Yan8zDHX++oqOztPWoAufYNWzB3+e+uX/nYjk2D+Lsdoj/o5T16dwt9z3lhtWlUANkBq0LRN4A9iJ1aMgw94uwO+xeptsBCYF/c4XsRoYy4EvhPt9OXSe/mKfhw32BzQ/aN937fO0HZgXtH0+1rehXcB3w/2+euA8fR/YhnWB+wtWD6XBWBf5cqyqulj72Dj7cbm9f3Bn56+v3EKcp6X252kT8FcgyT62P//fvY31RWM9MMfe5sj1SaflUEopFZJWNymllApJg4RSSqmQNEgopZQKSYOEUkqpkDRIKKWUCkmDhOp3RMQrp85mGxGz0NozeD7ZbluWiFQFTV2hVLfSLrCq3xGRE8aYpG5+Trc5OS9TjxCRFKyZO4uNMY32tq8Bk40xX+zJ11b9l2YSStlE5CMR+b6IrBGRjSIy3N6eaE9c+IGIrBWRBfb2z4vIiyKyFHjDHjn8jIhsEZEXxFobYpKIfFFEfhP0Ol8RkV93UpaJIrJMRFaLyKsikm+MOYY1A+hVQYe2n2hRqW6lQUL1R/Htqps+E7Sv2hgzAWvSwv+yt30Xa6qMycAlwM9FJNHeNwFr7YNZWOtC1BljRgL/D5hoH/MMcJWIRNuPvwA8Fqpw9nG/s593on3sj+zdT2IFBkRkAFCGNUJZqR7h7vwQpfqcJmPMuBD7nrd/rsaaIwesOW6uFhF/0IgDiu37S4wxtfb9i4H7AYwxm0Rkg33/hJ1tXCkiW4FoY8zGM5RvGNZCM0us6YtwYc2uC/Bv4EG76unTwHPGGG+Hz6JUN9AgodSpWuyfXk7+fwjwSWPM9uADRWQK0NDF530E+A7WPEV/6uRYATYbY6a132GMaRKRV7AmUrweuLOLr6/UOdHqJqU69yrwLXtWUkRkfIjj3sH6do+IjATG+HcYY1ZiTdN8I6fOoPuGiLRf+GU7kC0i0+xjokVkVND+J7GCQy7w3nm8L6U6pUFC9Uft2yR+0snxPwSigQ0istl+3JEHsS7uW4D/BTZjrTLn9wzwjrGWjkREorDWKq4NfhJjLel6HfBTEVmPtcjMRUGHLMFapOdpo90TVQ/TLrBKdRMRcWG1NzSLyBCs6ZuH2Rd9RORl4NfGmDfsx6OBLxpjtMpI9VoaJJTqJiKSjLWwUDRWu8K3jTGLRSQNa52I9caYT4WzjEqdLQ0SSimlQtI2CaWUUiFpkFBKKRWSBgmllFIhaZBQSikVkgYJpZRSIf1/NTKCrrBqK58AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(data.energy, data.mu, label='mu')\n", "plt.xlabel(\"Energy, eV\")\n", "plt.ylabel(\"$\\mu(E)$\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can try the mback algorithm to correct the spectrum." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "7104.9984\n" ] } ], "source": [ "mback(data.energy, data.mu, group=data, z=26, edge='K', order=3, leexiang=False, fit_erfc=False, \n", " pre1 = -100,\n", " pre2 = -20,\n", " norm1 = 50,\n", " norm2= 2000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and we plot the result" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Normalised $\\\\mu(E)$')" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.plot(data.energy, data.norm, label='Iron foil')\n", "plt.xlabel(\"Energy, eV\")\n", "plt.ylabel(\"Normalised $\\mu(E)$\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also normalize things with the preedge() function:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "pre_edge(data.energy,data.mu,group=data, # energy, intensity, and the group to treat\n", " pre1 = -100, # the lower bond of the function to fit the pre-edge\n", " pre2 = -20, # the upper bond of the function to fit the pre-edge\n", " norm1 = 50, # the lower bond of the function to fit the post-edge\n", " norm2= 2000, # the upper bond of the function to fit the post-edge\n", " nnorm= 2, # degree for the polynomials\n", " nvict= 4, # energy exponent to use for pre-edge fit.\n", " _larch=my_larch)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we can make a nice figure:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8,4))\n", "plt.subplot(1,2,1)\n", "plt.plot(data.energy,data.mu,\"k-\")\n", "plt.plot(data.energy,data.pre_edge,\"b--\")\n", "plt.plot(data.energy,data.post_edge,\"g--\")\n", "plt.xlabel(\"Energy, eV\")\n", "plt.ylabel(\"$\\mu(E)$\")\n", "\n", "plt.subplot(1,2,2)\n", "plt.plot(data.energy,data.flat,\"k-\")\n", "plt.xlabel(\"Energy, eV\")\n", "plt.ylabel(\"$\\mu(E)$ normed flat\")\n", "\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Application to the Fe K-edge XANES spectrum of a molten lava (Phonolite)\n", "\n", "The goal is to treat the Fe K-edge XANES spectrum and fit its pre-edge to link its centroid/position/parameters to the environment and valence of Fe in the glass/mineral/melt. \n", "\n", "We will perform that on data from C. Le Losq, R. Moretti, C. Oppenheimer, F. Baudelet, D.R. Neuville, Contrib Mineral Petrol 175 (2020) 64.\n", "\n", "The spectrum was acquired during in situ experiments on the ODE beamline of the SOLEIL synchrotron, in dispersive mode. It is a Fe K-edge XANES spectrum acquired on a phonolite lava at 1630 °C in air." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Fe K-edge XANES spectrum of phonolite melt, 1630 °C')" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# We import the data\n", "data = read_ascii('../xafsdata/EMG003.txt', labels=('energy', 'mu'))\n", "\n", "# First vizualisation\n", "plt.figure()\n", "plt.plot(data.energy, data.mu, label='mu')\n", "plt.xlabel(\"Energy, keV\")\n", "plt.ylabel(\"$\\mu(E)$\")\n", "plt.title(\"Fe K-edge XANES spectrum of phonolite melt, 1630 °C\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we normalize the spectra and look at the result" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pre_edge(data.energy,data.mu,group=data, # energy, intensity, and the group to treat\n", " pre1 = -100, # the lower bond of the function to fit the pre-edge\n", " pre2 = -20, # the upper bond of the function to fit the pre-edge\n", " norm1 = 50, # the lower bond of the function to fit the post-edge\n", " norm2= 600, # the upper bond of the function to fit the post-edge\n", " nnorm= 1, # degree for the polynomials\n", " nvict= 4, # energy exponent to use for pre-edge fit.\n", " _larch=my_larch)\n", "\n", "plt.figure(figsize=(8,4))\n", "plt.subplot(1,2,1)\n", "plt.plot(data.energy,data.mu,\"k-\")\n", "plt.plot(data.energy,data.pre_edge,\"b--\")\n", "plt.plot(data.energy,data.post_edge,\"g--\")\n", "plt.xlabel(\"Energy, eV\")\n", "plt.ylabel(\"$\\mu(E)$\")\n", "\n", "plt.subplot(1,2,2)\n", "plt.plot(data.energy,data.flat,\"k-\")\n", "plt.xlabel(\"Energy, eV\")\n", "plt.ylabel(\"$\\mu(E)$ normed flat\")\n", "\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can fit the pre-edge with different components. The XASViewer GUI provides [a way to do that easily](https://xraypy.github.io/xraylarch/wxxas_viewer.html#xasviewer-preedge), via a wrapper of the [lmfit](https://lmfit.github.io/lmfit-py/) library. There is a full page documenting the use of Larch built-in functions [here](https://millenia.cars.aps.anl.gov/xraylarch/downloads/xraylarch-2021-07_docs-examples/doc/fitting.html).\n", "\n", "In this notebook, we will directly use `lmfit` for having the highest level of control. First, we extract the pre-edge peak between 7108 and 7120 eV, which we extract from the treated signal:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deXxU9fX/8ddh32Rr0SKgpYCI1aISEeqK7LaAWpVFfoKKiBgQ0bJUSxU3XKiIAoooYGVpKltEhCJIZQsQqBuIlkVkU8SwC0LI+f0xg9+IQTJhZu4keT8fj/vI3G3u+0PCnLn3fu695u6IiIgkmiJBBxAREcmJCpSIiCQkFSgREUlIKlAiIpKQVKBERCQhqUCJiEhCimuBMrNWZvaZma0zswE5zO9rZmvM7CMzm2dmZ2ebd9TMPggPqfHMLSIi8Wfxug7KzIoCnwPNgS3ACqCju6/JtkwTYJm7f2dmdwNXu3v78Lz97l4uLmFFRCRw8dyDagisc/cN7n4YmAy0y76Au7/n7t+FR9OA6nHMJyIiCaRYHLdVDdicbXwLcOnPLH8H8E628VJmlg5kAkPcffrxK5hZd6A7QNmyZRuce+65pxxaRERia+XKlTvdvcrx0+NZoHLNzDoDScBV2Saf7e5bzew3wHwz+9jd12dfz91HA6MBkpKSPD09PW6ZRUQkb8xsU07T43mIbytQI9t49fC0HzGzZsCDQFt3//7YdHffGv65AVgAXBTLsCIiEqx4FqgVQB0zq2lmJYAOwI9645nZRcDLhIrTjmzTK5lZyfDrXwKXAWsQEZECK26H+Nw908ySgTlAUeA1d19tZoOBdHdPBZ4BygH/MjOAL929LVAPeNnMsggV1SHZe/+JiEjBE7du5vGmc1AiIvmDma1096Tjp+tOEiIikpBUoEREJCGpQImISEJSgRIRkTx57LHH6Nu3b8zePyEv1BURkcQ3efJkatSocfIF80h7UCIiErGMjAxWr17N5ZdfHrNtqECJiEjEli5dCqACJSIiiWXRokUUL16cSy65JGbbUIESEZGILVq0iIsvvpgyZcrEbBsqUCIiEpFDhw6xfPnymB7eAxUoERGJ0MqVKzl8+LAKlIiIJJbFixcDcNlll8V0OypQIiISkUWLFlG3bl2qVPnJQ3CjSgVKRERyLSsri8WLF8d87wlUoEREJAJr164lIyMj5uefQAVKREQisHDhQiC2F+geowIlIiK54u6MHTuW2rVrU7t27ZhvTzeLFRGRXFmyZAnLli3jxRdfxMxivj3tQYmISK4MHTqUSpUq0bVr17hsTwVKREROat26dUyfPp27776bsmXLxmWbKlAiInJSw4YNo3jx4iQnJ8dtmypQIiLyszIyMhg7diydOnWiatWqcduuCpSIiPysl156ie+++y6mj3fPiQqUiIic0Pfff88LL7xAixYtuOCCC+K6bXUzFxGRE5o0aRJfffUV48ePj/u2tQclIiI5cnf+/ve/c/7559O8efO4b197UCIikqO5c+fy8ccf89prr8XlwtzjaQ9KRERyNHToUH71q1/RqVOnQLavAiUiIj+xZcsW/v3vf9OzZ09KliwZSAYVKBER+YmlS5cC0Lp168AyqECJiMhPpKWlUapUKX73u98FlkEFSkREfiItLY0GDRpQokSJwDKoQImIyI8cPnyYlStX0qhRo0BzqECJiMiPfPjhh3z//fcqUCIikljS0tIACleBMrNWZvaZma0zswE5zO9rZmvM7CMzm2dmZ2eb18XM/hceusQzt4hIYZKWlka1atWoXr16oDniVqDMrCgwAmgNnAd0NLPzjlvsv0CSu/8OeBN4OrxuZeBvwKVAQ+BvZlYpXtlFRAqTtLS0wPeeIL57UA2Bde6+wd0PA5OBdtkXcPf33P278GgacKx8twTmunuGu+8C5gKt4pRbRKTQ2LFjBxs2bCh0BaoasDnb+JbwtBO5A3gnj+uKiEgeLFu2DAj+/BMk6M1izawzkARcFeF63YHuAGeddVYMkomIFGxpaWkUK1aMiy++OOgocd2D2grUyDZePTztR8ysGfAg0Nbdv49kXXcf7e5J7p5UpUqVqAUXESks0tLSqF+/PmXKlAk6SlwL1AqgjpnVNLMSQAcgNfsCZnYR8DKh4rQj26w5QAszqxTuHNEiPE1ERKJkx44dLFq0iCuvvDLoKEAcD/G5e6aZJRMqLEWB19x9tZkNBtLdPRV4BigH/Cv87JEv3b2tu2eY2aOEihzAYHfPiFd2EZHC4JVXXuHw4cPceeedQUcBwNw96AwxkZSU5Onp6UHHEBHJF44cOcKvf/1rzj//fObMie8BKjNb6e5Jx09PyE4SIiISX1OnTmXbtm2MHj066Cg/0K2ORESE4cOHU6tWrUCf/3Q8FSgRkUIuPT2dJUuW0KtXL4oUSZyykDhJREQkEC+88ALlypWja9euQUf5ERUoEZFCbMeOHUyePJmuXbtSoUKFoOP8iAqUiEghNnr0aA4fPkxycnLQUX5CBUpEpJA6cuQII0eOpGXLltStWzfoOD+hbuYiIoXUlClT2L59O2PGjAk6So60ByUiUkgNHz6c2rVr06pVYj69SAVKRKQQSk9PZ+nSpQnXtTy7xEwlIiIxNXHiREqWLJlwXcuzU4ESESmEFi5cyKWXXkr58uWDjnJCKlAiIoXM/v37+e9//8sVV1wRdJSfpQIlIlLILF26lKNHj6pAiYhIYlm4cCFFihShcePGQUf5WSpQIiKFzMKFC7nwwgsT+vwTqECJiBQqhw8fJi0tLeEP74EKlIhIobJy5UoOHTqkAiUiIoll4cKFAFx++eUBJzk5FSgRkUJk4cKFnHPOOZxxxhlBRzkpFSgRkUIiKyuLxYsX54vDe6ACJSJSaHzyySfs2rVLBUpERBLLc889R8mSJWnRokXQUXJFBUpEpBD45JNPGD9+PMnJyVStWjXoOLmiAiUiUgj85S9/oXz58gwcODDoKLmmAiUiUsAtWrSIt956i/79+/OLX/wi6Di5pgIlIlKAuTv9+/enatWq3HvvvUHHiUixoAOIiEjspKamsmTJEl5++WXKlCkTdJyImLsHnSEmkpKSPD09PegYIiKByczMpH79+mRmZrJ69WqKFUvMfRIzW+nuScdPT8y0IiJyyl5//XXWrFnDm2++mbDF6efoHJSISAF08OBBBg0aRMOGDbnhhhuCjpMn+a+kiojISb344ots3bqVN954AzMLOk6eaA9KRKSA2b59O48//jitWrXi6quvDjpOnuW6QJnZU7mZJiIiwerVqxeHDh1i+PDhQUc5JZHsQTXPYVrraAUREZFTN2PGDKZMmcLf/vY36tSpE3ScU3LSc1BmdjfQE/iNmX2UbdZpwOJYBRMRkcjs3buXe+65h9/97nc88MADQcc5ZbnZg5oItAFSwz+PDQ3cvXMkGzOzVmb2mZmtM7MBOcy/0sxWmVmmmd143LyjZvZBeEiNZLsiIoXBwIED2bZtG6+88grFixcPOs4pO+kelLvvAfYAHU9lQ2ZWFBhB6FDhFmCFmaW6+5psi30JdAVyKv0H3f3CU8kgIlJQLVmyhFGjRtG7d28aNmwYdJyoiKibuZlVAuoApY5Nc/f3c7l6Q2Cdu28Iv9dkoB3wQ4Fy9y/C87IiySUiUph9//333HnnndSoUYPHHnss6DhRk+sCZWbdgHuB6sAHQCNgKXBNLt+iGrA52/gW4NLcbh8oZWbpQCYwxN2n55CxO9Ad4KyzzorgrUVE8q+nnnqKNWvW8Pbbb1OuXLmg40RNJL347gUuATa5exPgImB3TFLl7OzwvZo6AcPMrNbxC7j7aHdPcvekKlWqxDGaiEgw1q5dy+OPP06HDh249tprg44TVZEUqEPufgjAzEq6+1qgbgTrbwVqZBuvHp6WK+6+NfxzA7CAUIEUESnUhg0bRvHixRk2bFjQUaIukgK1xcwqAtOBd81sBrApgvVXAHXMrKaZlQA6EOoZeFJmVsnMSoZf/xK4jGznrkRECqPMzEymTJlC27ZtOeOMM4KOE3W5Pgfl7teHXz5sZu8B5YHZEayfaWbJwBygKPCau682s8FAurunmtklwDSgEtDGzB5x998C9YCXw50nihA6B6UCJSKF2nvvvcfOnTu5+eabg44SE7m5UHcfkNNDoyw8vXxuN+bus4BZx00blO31CkKH/o5fbwlwQW63IyJSGKSkpFCuXDlatWoVdJSYyM11UKfFI4iIiOTekSNHmDp1Ku3ataNUqVInXyEfOuk5KDP7R/hn/nqYvYhIATZv3jwyMjJo37590FFiJjedJBqY2ZnA7eHOCpWzD7EOKCIiP5WSkkL58uVp0aJF0FFiJjedJF4C5gG/AVYSOvd0jIeni4hInBw+fJhp06Zx3XXXUbJkyaDjxMxJ96Dcfbi71yPU6+437l4z26DiJCISZxMmTGD37t0FtvfeMbm+Dsrd745lEBERObmvvvqK+++/n8svv5zWrQv2I/n0yHcRkXwkOTmZ7777jjFjxlCkSMH+CI/obuYiIhKcKVOmMGXKFJ588knq1o3kTnP5k7nndA1utgXM+v7cfHf/e1QTRUlSUpKnp6cHHUNEJCoyMjI477zzqFatGsuWLaNYsYKzf2FmK8M3A/+R3LTw2IW6dQndzfzY/fPaAMujE09ERH5O3759+fbbb5k9e3aBKk4/Jzd3kngEwMzeBy52933h8YeBt2OaTkREmD17NuPHj+fBBx/kwgsLz4PFIznDdgZwONv44fA0ERGJkX379nHXXXdx7rnn8tBDDwUdJ64i2U98HVhuZtPC49cB46KeSEREfvCXv/yFzZs3s3jx4gJ7z70TieRxG4+b2TvAFeFJt7n7f2MTS0REdu/ezejRo+nWrRuNGzcOOk7cRXSmzd1XAatilEVERLKZNm0ahw8fplu3bkFHCUSuz0FZSGczGxQeP8vMGsYumohI4TZx4kRq1arFJZdcEnSUQETSSWIk0BjoGB7fB4yIeiIREWH79u3Mnz+fTp06YWYnX6EAiuQQ36XufrGZ/RfA3XeZWYkY5RIRKdRSUlLIysqiY8eOJ1+4gIpkD+qImRUl/Ph3M6sCZMUklYhIITdp0iQuvPBC6tWrF3SUwERSoIYD04AzzOxxYDHwZExSiYgUYuvXr2fZsmV06tQp6CiBiqSb+QQzWwk0DU9q6+5rYxNLRKTwmjBhAgAdOnQIOEmwcl2gzCwJeBD4dXi9u8wMd/9djLKJiBQ6//vf/3j66adp3bo1NWrUCDpOoCLpJDEB+DPwMTr3JCISdYcPH6Zjx46UKFGC0aNHBx0ncJEUqG/cPfXki4mISF789a9/ZeXKlUydOpXq1asHHSdwkRSov5nZGGAe8P2xie4+NeqpRCShzJ49m40bN/4wfuy6nKpVq9K2bdtCe51ONL377rs8/fTT3HXXXVx//fVBx0kIkRSo24BzgeL83yE+B1SgRAqorKws+vXrx9ChQ0+4zLPPPsv9998fx1QFzzfffMOtt97Kueeey9//npDPgA1EJAXqEncv+M8YFhEADh06RJcuXUhJSeGee+7hoYceItwx6odlkpOT6devH/Xr16dZs2YBps2/3J077riDb7/9lnfeeYcyZcoEHSlhRFKglpjZee6+JmZpRCQhrFmzhq5du7JixQqeffZZ+vbtm+NhvHHjxrF27Vrat29Peno6NWvWDCBt/jZy5Ejeeusthg0bRv369YOOk1AiuVC3EfCBmX1mZh+Z2cdm9lGsgolI/GVmZjJkyBAuuugiNmzYwNSpU7n//vtPeI6pXLlyTJ8+naysLNq1a8fevXvjnDh/W7duHffffz+tW7emd+/eQcdJOLnag7LQX+ddwKbYxhGRoHzyySfcdtttpKen86c//YkRI0Zwxhknf2h27dq1SUlJ4dprr+WGG25g1qxZlCih23TmxnPPPYe7M2bMGHU0yUGu9qA8dNB5hLtvOn6IcT4RibHMzEyeeOIJGjRowBdffEFKSgpvvvlmrorTMc2bN2fMmDHMmzeP22+/nawsXSp5Mrt372b8+PF07NiRM888M+g4CSmSc1CrzOwSd18RszQiEle7d+/m5ptvZu7cubRv354XXniBKlWq5Om9unTpwtatW3nwwQepVq0aTz31VJTTFiyvvvoqBw4c4N577w06SsKK6HEbwC1mtgk4ABihnSvd6kgkH1q3bh1t2rRh/fr1vPrqq9x+++2n/J4DBw5ky5YtPP3001SrVk3nVU7g6NGjvPjii1xxxRVcdNFFQcdJWJEUqJYxSyEicfWf//yHG264AYC5c+dy1VVXReV9zYwXXniB7du306dPH84880xuvPHGqLx3QZKamsoXX3zBs88+G3SUhJbrXnzh800VgTbhoaLOQYnkP6+99hrNmzfn9NNPZ/ny5VErTscULVqUiRMn0rhxYzp37kxaWlpU378geP755znrrLNo165d0FESWq4LlJndS+iGsaeHhzfMrFckGzOzVuFu6uvMbEAO8680s1VmlmlmNx43r4uZ/S88dIlkuyIS8uCDD3LHHXfQpEkTli5dSq1atWKyndKlS5OamkrlypV59NFHY7KN/MjdGTBgAP/5z3+49957KVYskoNYhZC752oAPgLKZhsvC3wUwfpFgfXAb4ASwIfAecct82vgd8DrwI3ZplcGNoR/Vgq/rvRz22vQoIGLyP9Zvny5A37bbbf5kSNH4rLNhx56yIsUKeJffvllXLaXyI4ePep33323A3733Xf70aNHg46UMIB0z+FzPJILdQ04mm38aHhabjUE1rn7Bnc/DEwGfrR/6+5fuPtH/PRxHi2Bue6e4e67gLlAqwi2LVLoDR48mMqVK/P888/H7Zv7sS7n48aNi8v2ElVmZiZdunRh1KhR9O/fnxEjRlCkSCQfv4VTJP9CY4FlZvawmT0MpAGvRrB+NWBztvEt4WlRW9fMuptZupmlf/PNNxFEEynYVq5cycyZM7nvvvs47bTT4rbdmjVr0qxZM1599dVCe23U999/z0033cQbb7zBE088wZAhQ3RRbi5F0kni74TuaJ4RHm5z92GxCpYX7j7a3ZPcPSmv13KIFESPPvooFStWpFeviE4bR0W3bt3YtGkT8+bNi/u2g3bgwAHatGnD9OnTGT58OAMHDgw6Ur4S0T6mu69y9+Hh4b8RbmsrkP35xdXD02K9rkih9sEHHzBjxgzuu+8+KlSoEPftX3fddVSuXJkxY8bEfdtBu/XWW5k3bx5jx44N5MtBfpfrA9FmVhL4E6GODD+s5+6Dc/kWK4A6ZlaTUHHpAHTK5bpzgCfMrFJ4vAWgryIiJ5GRkUFycjIVKlQI7KLZkiVLcuuttzJixAh27NjB6aefHkiOeEtNTWXq1KkMGTKErl27Bh0nX4pkD2oGoU4NmYTuJHFsyBV3zwSSCRWbT4EUd19tZoPNrC2AmV1iZluAm4CXzWx1eN0M4FFCRW4FMDg8TURO4MMPPyQpKYkVK1YwcuRIKlasGFiW7t274+60a9eOPXv2BJYjXvbv309ycjIXXHABffv2DTpO/pVT176cBuCT3C6bCIO6mUthNmHCBC9durRXq1bNly5dGnQcd3efNm2aFy9e3C+55BLftWtX0HFi6v7773fAFy9eHHSUfIEodDNfYmYXxKRKikhUHDlyhPvuu49bbrmFpKQkVq5cSaNGjYKOBYTORU2ZMoUPP/yQZs2akZFRMA+CLF++nGHDhnHnnXfy+9//Pug4+VokBepyYKUeWCiSmHbt2kXz5s0ZNmwYvXv3Zt68eRE9MiMe2rRpw7Rp0/jkk09o2rQp3377bdCRomrmzJk0bdqUM888kyFDhgQdJ9+LpEC1BuoQ6qDQBvhj+KeIJIAePXqwZMkS/vGPf/D8889TvHjxoCPl6Nprr2XGjBl8+umnXHPNNRSEaxbdneeff5527dpxzjnnkJaWRuXKlYOOle9FdLPYnIZYhhOR3PnnP/9JSkoKjzzyCJ07dw46zkm1bNmSmTNn8vnnn9OqVSsyMzODjpRnmZmZJCcn06dPH9q2bcv777+vBxBGie61IZLPbd++nZ49e3LppZfy5z//Oeg4udasWTPGjRvHqlWrGD9+fNBx8mTPnj388Y9/ZOTIkfTr148pU6ZQtmzZoGMVGCpQIvmYu9O9e3e+++47xo8fn+/ujn3zzTfTuHFjBg0axIEDub5qJSEsX76cxo0bM2/ePF555RWeeuop3V8vyiJ53MbHZjbBzPqbWWszq25mD8YynIicmLvzwAMPMHPmTJ588knq1q0bdKSImRnPPPMM27ZtY9iwhLpz2gnt27ePe++9l0aNGrFnzx7mzJlDt27dgo5VMOXU9zyngdCjLq4GegPjgd3A4tyuH+9B10FJQZaVleX9+/d3wHv16uVZWVlBRzol119/vZ922mn+9ddfBx3lZ7311lteo0YNNzPv2bOn7969O+hIBQInuA4qzwWAUI++8XldP9aDCpQUZA899JAD3qNHj3xfnNzd165d60WLFvWbb745bs+qisRXX33lN998swP+29/+VhfgRtmJClQkh/jOOW7P63+EHi4oInE0ePBgHnvsMbp168aIESMKxKMb6taty6OPPkpKSgrt2rVj//79QUf6wbZt27jsssuYPn06jz76KKtWrdIFuHESyRnVl82sFqEbvX4ElAI+MbMy7v5dTNKJyI88+eST/O1vf6NLly68/PLLBeqk/MCBA6lcuTI9e/akSZMmzJw5M/ALjXfs2EGzZs34+uuvWbBgAY0bNw40T2ETyXVQTdz9LKA9MBNYB5QGPjCztTHKJyJhL774In/5y1/o1KkTr776aoEqTsfcddddTJ8+ndWrV9O4cWM+//zzwLKsX7+eFi1asHHjRmbOnKniFAALHf47xTcxK+fuibNPDiQlJXl6enrQMUSi4ttvv+Xss8/myiuvJDU1Nd91J4/U8uXL+eMf/0hWVhZvvfVW3IrD9u3bSUlJYdKkSSxbtoySJUsyY8YMWrZsGZftF1ZmttLdk46fHpWvYIlWnEQKmmHDhnHgwAGeeeaZAl+cABo2bMiSJUuoVKkS11xzDcOHD+fo0aMx2Za7M3HiRJo2bUr16tXp06cPhw4dYsiQIXz++ecqTgGKyh5UItIelBQUu3fv5uyzz6ZZs2ZMmTIl6Dhx9c0333Drrbcye/ZsLrnkEl555RXq168ftffPysqiT58+vPDCC9SuXZuOHTvSsWNH6tWrF7VtyMnFdA9KRGLnxRdfZO/evTz00ENBR4m7KlWqMGvWLCZNmsSmTZto0KAB/fv357vvTr1f1uHDh+ncuTMvvPACffv25bPPPmPw4MEqTglEBUokge3fv5/nnnuOP/zhD1x00UVBxwmEmdGhQwc+/fRTunbtytNPP83555/Pu+++m6f327dvH+PGjePyyy9n0qRJPPnkkzz77LMFstNJfqffiEiCcnf++te/kpGRUSj3no5XuXJlxowZw4IFCyhevDgtW7ZkxIgRuVo3KyuL+fPnc+utt/KrX/2K2267jV27dvGPf/yDAQMGFIhryQqi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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "y_fit = data.flat[(data.energy> 7108)&(data.energy<7120)]-np.min(data.flat[(data.energy> 7108)&(data.energy<7120)])\n", "x_fit = data.energy[(data.energy> 7108)&(data.energy<7120)]\n", "\n", "plt.figure()\n", "plt.plot(x_fit,y_fit, 'k-')\n", "plt.xlabel(\"Energy, eV\")\n", "plt.ylabel(\"$\\mu$ normed flat\")\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will use a combination of two pseudo-voigt peaks for the contribition of Fe$^{2+}$ and Fe$^{3+}$, and an exponential background. We thus define functions for those below:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "def pv(x,A,F,L,m):\n", " \"\"\"pseudovoigt peak\"\"\"\n", " Lor = A/(1+((x-F)/L)**2)\n", " Gauss = A*np.exp(-np.log(2)*((x-F)/L)**2)\n", " \n", " return m*Gauss + (1-m)*Lor\n", "\n", "def bkg(x, a, b, xo):\n", " \"\"\"exponential background\"\"\"\n", " return a*np.exp(b*(x-xo))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can use `lmfit` to perform the fit. We define the parameters in a dictionary, as explained in the help of `lmfit`. \n", "\n", "Given that this spectrum was acquired in situ, it is a bit more noisy than a glass spectrum acquired at room temperature. Considering this, several tweaks can be introduced to make the fit more robust: (i) the pseudovoigt peaks will share the width and the gaussian/lorentzian ratio, (ii) we assume that the position of the second peak is 1.5 eV higher than that of the first.\n", "\n", "Note that we scale the X axis such that it is close to unity during the fit, by removing 7108 eV. This is invisible to the user, but this scaling helps fitting the exponential background." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[Variables]]\n", " A_1: 0.02300294 +/- 0.00388232 (16.88%) (init = 0.1)\n", " A_2: 0.08658881 +/- 0.00269839 (3.12%) (init = 0.1)\n", " F_1: 5.53273202 +/- 0.03714760 (0.67%) (init = 4.9)\n", " L_: 1.10649540 +/- 0.06072143 (5.49%) (init = 2)\n", " m_: 1.4679e-10 +/- 0.10557059 (71921634752.98%) (init = 0.5)\n", " a_: 0.04043026 +/- nan (nan%) (init = 0.52)\n", " b_: 0.51582160 +/- 0.01300768 (2.52%) (init = 0.55)\n", " xo_: 8.47706864 +/- nan (nan%) (init = 10.5)\n", "[[Correlations]] (unreported correlations are < 0.100)\n", " C(A_1, F_1) = 0.767\n", " C(A_1, L_) = -0.698\n", " C(A_2, m_) = -0.573\n", " C(A_1, A_2) = -0.514\n", " C(A_2, b_) = 0.485\n", " C(m_, b_) = -0.440\n", " C(L_, b_) = 0.410\n", " C(F_1, L_) = -0.404\n", " C(A_2, F_1) = -0.398\n", " C(A_1, b_) = -0.336\n", " C(L_, m_) = 0.309\n" ] }, { "data": { "text/plain": [ "Text(0, 0.5, '$\\\\mu(E)$ normed flat')" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from lmfit import Minimizer, Parameters, report_fit\n", "\n", "pfit = Parameters()\n", "pfit.add(name='A_1', value=0.1, min=0) # amplitude of peak 1\n", "pfit.add(name='A_2', value=0.1, min=0) # amplitude of peak 2\n", "pfit.add(name='F_1', value=4.9, min=0) # position of peak 1, scaled\n", "pfit.add(name='L_', value = 2.0, min=0) # half-width at half maximum of the peaks\n", "pfit.add(name='m_', value = 0.5, min=0, max=1) # gaussian/loretnzian ratio\n", "\n", "# parameters for the background.\n", "pfit.add(name='a_', value=0.52, min=0)\n", "pfit.add(name='b_', value=0.55, min=0)\n", "pfit.add(name='xo_', value=10.5, min=0., max=20.) #position of the background, scaled\n", "\n", "def residual(pars, x, data = None):\n", " peak1 = pv(x, pars['A_1'], pars['F_1'], pars['L_'], pars['m_'])\n", " peak2 = pv(x, pars['A_2'], pars['F_1']+1.5, pars['L_'], pars['m_'])\n", " background = bkg(x, pars['a_'], pars['b_'], pars['xo_'])\n", " \n", " model = peak1 + peak2 + background\n", " \n", " if data is None: # if we don't have data, the function only returns the direct calculation\n", " return model, peak1, peak2, background\n", " else:\n", " return model - data\n", "\n", "mini = Minimizer(residual, pfit, fcn_args=(x_fit-7108, y_fit))\n", "out = mini.leastsq()\n", "report_fit(out.params)\n", "\n", "# calculating the model given best parameters\n", "m_, p1_, p2_, b_ = residual(out.params, x_fit-7108)\n", "\n", "# plotting\n", "plt.figure()\n", "plt.plot(x_fit, y_fit, 'ko', label=\"data\")\n", "plt.plot(x_fit, m_, 'r-', label='best fit')\n", "plt.plot(x_fit, p1_, 'b:', label='peak 1')\n", "plt.plot(x_fit, p2_, ':', color=\"purple\", label='peak 2')\n", "plt.plot(x_fit, b_, '-.', color=\"orange\", label='background')\n", "plt.legend()\n", "plt.xlabel(\"Energy, eV\")\n", "plt.ylabel(\"$\\mu(E)$ normed flat\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here is the end of this example. Things can be complexified at will. Have a good time with Larch!" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.7" } }, "nbformat": 4, "nbformat_minor": 2 }