{ "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. First, we will import an iron foil reference from M.P. Ruffoni, R.F. Pettifer, Journal of Synchrotron Radiation 13 (2006) 489–493.\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "data = read_ascii('./Fe_foil_Ruffoni.DAT')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can access the energy:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([7040.00187, 7040.50541, 7041.00275, ..., 7859.00068, 7859.50661,\n", " 7860.00586])" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.energy = data.e_kev*1000\n", "data.energy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And the I0/I1:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([9.50123, 9.50123, 9.50123, ..., 9.50123, 9.50123, 9.50123])" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.i1" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([7214189., 7247749., 7252958., ..., 4084340., 4068329., 4070216.])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.i0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and calculate the absorbance spectrum:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "data.mu = data.i1/data.i0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now plot the data with Matplotlib:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, '$\\\\mu$')" ] }, "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.plot(data.e_kev, data.mu, label='mu')\n", "plt.xlabel(\"Energy, keV\")\n", "plt.ylabel(\"$\\mu$\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can try the mback algorithm to correct the spectrum." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "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= 600)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and we plot the result" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Normalised $\\\\mu$')" ] }, "execution_count": 9, "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$\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also normalize things with the preedge() function:" ] }, { "cell_type": "code", "execution_count": 10, "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= 600, # 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": 11, "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$\")\n", "\n", "plt.subplot(1,2,2)\n", "plt.plot(data.energy,data.flat,\"k-\")\n", "plt.xlabel(\"Energy, eV\")\n", "plt.ylabel(\"$\\mu$ 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 idea there can be 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 spectra acquired on a phonolite lava at 1630 °C in air." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Fe K-edge XANES spectrum of phonolite melt, 1630 °C')" ] }, "execution_count": 12, "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('./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$\")\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": 13, "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$\")\n", "\n", "plt.subplot(1,2,2)\n", "plt.plot(data.energy,data.flat,\"k-\")\n", "plt.xlabel(\"Energy, eV\")\n", "plt.ylabel(\"$\\mu$ 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 use a different approach, making use of the [PyMC3 library](https://docs.pymc.io/en/v3/) that allows developping Bayesian models.\n", "\n", "This approach follows the method used in Le Losq et al. (2019), source of the Fe K-edge XANES spectra shown previously.\n", "\n", "Bayesian peak-fitting of spectra provides a sample of representative models, with associated probabilities. It allows estimating the median values of model parameters and their errors without making any assumption about their distribution. In addition, existing information (range for model parameters, preferential values, etc.) can be integrated as the [model posterior probability](https://en.wikipedia.org/wiki/Posterior_probability) is calculated from the multiplication of the [model likelyhood](https://en.wikipedia.org/wiki/Likelihood_function) by the [model prior probability](https://en.wikipedia.org/wiki/Prior_probability).\n", "\n", "Here, we assume focus on the pre-edge peak between 7108 and 7120 eV, that we extract from the treated signal:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, '$\\\\mu$ 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": [ "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\")" ] }, { "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": 15, "metadata": {}, "outputs": [], "source": [ "from lmfit import Minimizer, Parameters, report_fit\n", "\n", "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", " 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", "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.4 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 definitely helps fitting the exponential background." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[Variables]]\n", " A_1: 0.02299972 (init = 0.1)\n", " A_2: 0.08659020 (init = 0.1)\n", " F_1: 5.53271867 (init = 4.9)\n", " L_: 1.10656721 (init = 2)\n", " m_: 7.2801e-10 (init = 0.5)\n", " a_: 0.03811686 (init = 0.52)\n", " b_: 0.51583980 (init = 0.55)\n", " xo_: 8.36295078 (init = 10.5)\n" ] }, { "data": { "text/plain": [ "Text(0, 0.5, '$\\\\mu$ normed flat')" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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g1Lx3k7aRfRbwwuysrIuGt78v//9L927d6ddu3ZERERg71C5f/9++vXrR8eOHenSpQsHDhzIc62NGzfSuXNnDh48SEJCAv3796dLly488MADmM1mTp8+TWxsLG3atOHBBx+kS5cuHD58mCeffJJ27drRvn175s+fD1ycc3n44YeZPXs2YOQcXnrpJbp06UL79u35559/AEhMTGTAgAF07tyZBx54gIrcEVTTSsOo+vUJAz4GtsbClGXG9tDQUO8lqhA6YHhBQcObP/zww2zcuJFdu3aRmprKt99+C8DIkSN56KGH2L59O+vXryckJCTnOuvXr2fChAksW7aMZs2a8fLLL3PdddexZcsWhg0bljOQmf2eo0ePZuvWrWzatIlt27axfft2fvzxR5588smcuTcupW7dumzZsoWJEycydepUAF5++WV69erF1q1bGTJkSJ57appWtMmNG3MSyO4C3ZsZ28rScCCOdJHUj32KPqbxTdDmP7nHNxtrLGmn4dfb8h7bb22Rl8s/vPm0adMIDw/njTfewGKxcObMGS6//HL69OnD0aNHGTZsGACBgYE51/j777+JiIhg5cqVNGrUCIBff/2VJUuWADBw4EBq166dc7zZbObKK6/MOe6uu+7C19eXBg0acO2117Jx40Zq1KhxyXTfeuutAHTt2pXFixcD8Msvv+T8Pnjw4Dz31DStCIcP02T7dnYNuZm3+y1nZ1wWjywyExUVVSanItABwwsKGt78wQcfZNOmTTRt2pRJkyaRlpZ2yeKdkJAQ0tLS2Lp1a07AuNTx1apVy/m9sOP8/PzyzNiXlpaWZ3+VKlUA8PX1JSsrq9Dn0TTNSZ98AiK0e28aNKpNWMYZbp4a7u1UFUoXSfVbW/Riz13Yj2821vg9sO7FxzohPj4+Z96LL7/8kl69egFGkU9KSgqLFi0CoEaNGjRp0oSlS5cCkJ6enjM9a61atfjuu+947rnncubH6NWrFwsWLABg5cqVnD17tsD79+7dm/nz55OdnU1CQgK//PILV1xxBWazmd27d5Oens65c+dYvXp1kc/Su3dvYmJiAFi+fHmh99Q0LZ/MTJg5EwYOhLAwCKgJ1ctusAAXAoZS6nVntmlFK2h48/Hjx9O+fXuGDh1K9+7dc4794osvmDZtGh06dKBnz56cOHEiZ1+DBg345ptveOihh/jjjz94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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "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$ normed flat\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.7" } }, "nbformat": 4, "nbformat_minor": 2 }