{ "cells": [ { "cell_type": "markdown", "id": "7c6099c5", "metadata": {}, "source": [ "## Interactive Tkinter dialog to plot spectra\n", "\n", "*Last update: June 2021*\n", "\n", "This tutorial shows how to create a basic interactive dialog to select files to read and plot XAS spectra.\n", "For this we will be using the [Tkinter](https://docs.python.org/3/library/tkinter.html) (Tk interactive) library of Python.\n", "\n", "The following steps are covered in this notebook:\n", "\n", "1. Creating a TKinter dialog to ask for filenames.\n", "2. Reading the files and plotting the contents through a specified backend.\n", "3. Wrapping both routines in a single Tk widget application.\n", "\n", "This tutorial assumes that the files that you want to visualize are available in your local machine.\n", "If no such files are available, you can download and uncompress the following example files:\n", "[p65_example_files.zip](p65_example_files.zip)" ] }, { "cell_type": "code", "execution_count": 1, "id": "677ac0f8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Python version : 3.9.4\n", "Numpy version : 1.20.3\n", "Scipy version : 1.6.3\n", "Lmfit version : 1.0.2\n", "H5py version : 3.2.1\n", "Matplotlib version : 3.4.2\n", "Araucaria version : 0.1.10\n" ] } ], "source": [ "from araucaria.utils import get_version\n", "print(get_version(dependencies=True))" ] }, { "cell_type": "markdown", "id": "ddc1162a", "metadata": {}, "source": [ "### Creating a Tkinter dialog to ask for filepaths\n", "\n", "As a first step we will create a dialog to request the filepaths for the files we want to visualize. We will use the [Tk](https://docs.python.org/3/library/tkinter.html#tkinter.Tk) class to create a top-level widget, and the [askopenfilenames()](https://docs.python.org/3/library/dialog.html#tkinter.filedialog.askopenfiles) function to deploy the open dialog window.\n", "\n", "Note that we assign the retrieved files paths to the `fpaths` variable, and then destroy the top-level widget.\n", "Lets run the code and inspect the results!" ] }, { "cell_type": "code", "execution_count": 2, "id": "5dc100cd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ ".../20K_GOE_Fe_K_240.00000.xdi\n" ] } ], "source": [ "from tkinter import Tk, filedialog\n", "root = Tk()\n", "fpaths = filedialog.askopenfilenames(initialdir = \"/\",title = \"Select scan file\")\n", "root.destroy()\n", "\n", "# printing filepahts\n", "for fpath in fpaths:\n", " print(fpath)" ] }, { "cell_type": "markdown", "id": "a27f40b0", "metadata": {}, "source": [ "
\n", " \n", " **Note**\n", " \n", " Your filepaths will vary according to the location of files in your local machine.\n", " \n", " If you want to access different files, just navigate and select them in the interactive Tk dialog.\n", " \n", "
" ] }, { "cell_type": "markdown", "id": "7cc5969b", "metadata": {}, "source": [ "### Reading files and plotting XAFS spectra\n", "\n", "Once the filepaths have been retrieved, we can use the functions available in the [io_read](../../io/io_read.rst) module of `araucaria`. Here we will use the [read_p65()](../../io/io_read.rst#araucaria.io.io_read.read_p65) function, since the spectra was aquired at the P65 beamline (PETRA III - DESY).\n", "\n", "
\n", " \n", " **Pro tip**\n", " \n", " You can modify the code to read a file from another source. For this you can check the functions available at the \n", " [io_read](../../io/io_read.rst) module.\n", "
\n", "\n", "Some notes about the code:\n", "\n", "- For convenience we create a template figure with the [fig_xas_template()](../../plot_module.rst#araucaria.plot.template.fig_xas_template) function of `araucaria`.\n", "- Instead of using the [pyplot()](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.html) interface of `matplotlib` to render the plot, we explicitly request the [FigureCanvasTkAgg](https://matplotlib.org/stable/api/backend_tk_api.html#matplotlib.backends.backend_tkagg.FigureCanvasTkAgg) backend class to create a canvas.\n", "- The canvas gets draw upon being instantiated, while the custom plot() function updates the axes by redrawing the artists." ] }, { "cell_type": "code", "execution_count": 3, "id": "1d03f0d1", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAa0AAAGkCAYAAACCWXr/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABIqElEQVR4nO3dd3iUZfr28e816YHQEzrSQu+EJhbUVbGBWFEBsWLBuuzadld3V1/1p7urriKLqFixrAUUld21ovSiAgJKr0LoNQnJ3O8fM4khppIyM0/Oz3HkIDPzzMz1JDAn9/3cxZxziIiIRAJfqAsQEREpLYWWiIhEDIWWiIhEDIWWiIhEDIWWiIhEjOhQF1AVGjRo4Fq2bBnqMkREpBQWLly4wzmXXNhj1SK0WrZsyYIFC0JdhoiIlIKZrS/qMXUPiohIxFBoiYhIxFBoiYhIxKgW17REIsn27dsZN24cK1aswO/3h7ockUrh8/no0KEDjz/+OCkpKaV+nkJLJMyMGzeOU045heeff56YmJhQlyNSKY4cOcIrr7zCuHHjePnll0v9PHUPioSZFStWMGLECAWWeFpMTAwjR45kxYoVZXpeWIWWmb1gZtvNbGkJx/Uxsxwzu6iqahOpKn6/X4El1UJMTEyZu8DDKrSAycDg4g4wsyjgUWBGVRQkIiLhI6xCyzn3FbCrhMNuAd4Btld+RSIiEk7CKrRKYmZNgWHAhFIce72ZLTCzBenp6ZVfnIiHbNy4kVNOOYWOHTvSuXNnnnzySQB27drF6aefTmpqKqeffjq7d+8G4IsvvuDcc8/Ne/4f/vAHzjzzTDIzMwt9/ezsbO69915SU1Pp0aMHPXr04KGHHsp7fNOmTQwdOpTU1FTatGnDbbfdRlZWVt571a5dO+95PXr04H//+1+R5xIVFXXUsevWrSvTz2L06NH8+9//zjv/nj178uKLLxZ67LfffsuAAQPo3Lkz3bp148033/zVMbfccgs1a9bMu+2c49Zbb6Vt27Z069aNRYsWFfraa9eupV+/fqSmpnLppZfm/TyKe/4nn3xC+/btadu2LY888kje/UX9HgEefvhh2rZtS/v27Zkx49g7tPL/nZg2bdpR718uzrmw+gJaAkuLeOxtoH/w+8nARaV5zd69ezuRSBEOf1+3bNniFi5c6Jxzbt++fS41NdUtW7bM/e53v3MPP/ywc865hx9+2P3+9793zjn3+eefu3POOcc559yDDz7oBg0a5A4dOlTk6991113uyiuvdIcPH857j/vvv98555zf73d9+vRxL7zwgnPOuezsbHf11Ve7cePG/eq9SqNGjRplOPNfu/LKK93bb7/t9uzZ49LS0tz48eOLPHblypXuxx9/dM45t3nzZteoUSO3e/fuvMfnz5/vRowYcVRN06dPd4MHD3Z+v9/Nnj3b9e3bt9DXvvjii92UKVOcc86NGTMmr46inp+dne1at27tVq9e7TIzM123bt3csmXLnHOuyN/jsmXLXLdu3VxGRoZbs2aNa926tcvOzj6WH1upf0+F/X0HFrgiPs8jbch7GvCGmQE0AM42s2zn3PshrUqkkvz5g2X8sGVfhb5mpya1uP+8zsUe07hxYxo3bgxAUlISHTt2ZPPmzUydOpUvvvgCgCuvvJJBgwbx6KOP5j3vb3/7Gx999BEzZswgISGh0Nc+dOgQzz33HOvWrSM+Pj7vPR544AEAPvvsM+Lj47nqqquAQEvpH//4B61ateLPf/5zeU49z8KFC7nzzjs5cOAADRo0YPLkyXnnW5gDBw5w1llncfnll3PjjTcWeVy7du3yvm/SpAkpKSmkp6dTp04dcnJy+N3vfsfrr7/Oe++9l3fc1KlTGTVqFGZG//792bNnD1u3bj2qHuccn332Ga+//joQ+Nk/8MAD3HjjjUU+f926dbRt25bWrVsDMHz4cKZOnUqnTp2K/D1OnTqV4cOHExcXR6tWrWjbti3z5s1jwIABebVkZ2czYMAAHnvsMQYNGsQ999yDz+fjoYce4pNPPuH222+nQYMG9OrVK+85kydPZsGCBTz99NOl/A0VLaK6B51zrZxzLZ1zLYF/AzcpsEQq17p161i8eDH9+vVj27ZteR+mjRs3Zvv2Xy4tf/PNN0yYMIGPP/74qO6vglatWkWLFi1ISkoq9PFly5bRu3fvo+6rVasWLVq0YNWqVQDMnDnzqC6/1atXF/l+hw8fzjtu2LBhHDlyhFtuuYV///vfLFy4kKuvvpr77ruv2J/BnXfeyQknnMAdd9xR7HH5zZs3j6ysLNq0aQPA008/zZAhQ34Vjps3b6Z58+Z5t5s1a8bmzZuPOmbnzp3UqVOH6OjoXx1T1POLe92ifo+lqSU6OprJkydz44038t///pdPPvmE+++/n4yMDK677jo++OADZs6cyc8//1zqn1VZhFVLy8ymAIOABma2CbgfiAFwzpV4HUvEa0pqEVW2AwcOcOGFF/LEE09Qq1atYo9t27Ytu3fv5j//+Q8XXVT62SgvvvgiTz75JDt37mTWrFk45wj2phwl//0nnngiH374YalePyEhgW+//Tbv9tKlS1m6dCmnn346ADk5OcW2sgBOPfVUpk6dyrhx40q1esPWrVsZOXIkL730Ej6fjy1btvD222/ntW4KnldBBc+/uGOKeqw0r3sstQB07tyZkSNHct555zF79mxiY2P59ttvadWqFampqQCMGDGCiRMnFvt+xyKsQss5d1kZjh1diaV4xqGsbL5Ymc7ZXYv/RylS0JEjR7jwwgu54ooruOCCCwBo2LBhXtfV1q1bj/oAb9iwIa+99hqnnXYa9evX55RTTin0ddu2bcuGDRvYv38/SUlJXHXVVVx11VV06dKFnJwcOnfuzDvvvHPUc/bt28fGjRtp06YNO3fuLNd5Oefo3Lkzs2fPLvVzhg8fzgknnMDZZ5/N559/XmQrMbfWc845hwcffJD+/fsDsHjxYlatWkXbtm2BQBdp27ZtWbVqFc2aNWPjxo15z9+0aRNNmjQ56jUbNGjAnj17yM7OJjo6+qhjinp+VlZWka9b1O+xNLXkWrJkCXXq1GHbtm1595UUihUhoroHpezufmcJN722iJ+27Q91KRJBnHNcc801dOzYkTvvvDPv/iFDhvDSSy8B8NJLLzF06NCjnteuXTveffddRowYcVTrJr/ExESuueYaxo4dS0ZGBhBo7eSOhjvttNM4dOhQ3tI+OTk5/Pa3v2X06NEkJiaW+9zat29Penp6XmgdOXKEZcuWlfi822+/ndNOO41hw4bl1VpQVlYWw4YNY9SoUVx88cV5959zzjn8/PPPrFu3jnXr1pGYmJjX1TlkyBBefvllnHPMmTOH2rVr/6rlZ2accsopeaMY8//si3p+nz59+Omnn1i7di1ZWVm88cYbDBkyJO85hf0ehwwZwhtvvEFmZiZr167lp59+om/fvr86z3fffZedO3fy1Vdfceutt7Jnzx46dOjA2rVr87pqp0yZUuLP9JgUNULDS1/hMBorVH7zty/ccXd96Bat3xXqUqSUwuHv68yZMx3gunbt6rp37+66d+/upk+f7nbs2OFOPfVU17ZtW3fqqae6nTt3Oud+PVJsxowZrnnz5m7VqlWFvn5WVpa76667XJs2bVyPHj3cgAED3IMPPugyMzOdc85t2LDBnXvuua5t27audevWbuzYsS4jIyPvvWrVqpVXV/fu3d3bb79d5LkUNnpw8eLF7sQTT3TdunVznTp1chMnTizy+bmjB3ONHj3aXXLJJS4nJ+dXx77yyisuOjr6qNoWL15cbE1+v9/ddNNNrnXr1q5Lly5u/vz5eY+dddZZbvPmzc4551avXu369Onj2rRp4y666KK8n0dxz58+fbpLTU11rVu3dg8++GDe/UX9Hp0LjP5s3bq1a9eunfvoo4/y7r/mmmvc/PnzXXp6uktNTXUbNmxwzjn35JNPulGjRjnnnPv4449d+/bt3cCBA91dd92V93fixRdfdDfffHOhP9+yjh40V0gfptekpaW56rpz8ZCnv+b7TXt58ao+nNK+9CspS+ikpaVpp22pNgr7+25mC51zaYUdr+5Bj4uPiQJgz6HCuzNERCJJWA3EkIqXGBsIrV0Hj4S4EqmOhg0bxtq1a4+679FHH+XMM8+s0PfZuXMnp5122q/u//TTT6lfv36pXuPmm2/mm2++Oeq+2267LW++WH5Llixh5MiRR90XFxfH3Llzy1C1HAuFlsfFRQca07sPqqUVKXw+H0eOHPHESu/5J9FWpvr16xc58KO0nnnmmVIf27Vr13K/nwQGwfh8ZevwU/egx+X4A9csdx4sfA04CT8dOnTglVde4cgRtY7Fu3I3gezQoUOZnqeWlscFM4udB9TSihSPP/4448aNY8KECWXea0gkUvh8Pjp06MDjjz9epucptDwut6W1affhEFcipZWSklKm7cdFqhN1D3qcPzilYeOuQyGuRESk/BRaHpcbWvszs8k4khPiakREykeh5XG53YMABzOzQ1iJiEj5KbQ8Lv91/ENZammJSGRTaHmcP98yXYfVPSgiEU6h5XE5+UJLLS0RiXQKLY/zO4gNropxWKElIhFOoeVxfr8jKS4wHe/wEQ3EEJHIptDyuBy/o2Z8ILTUPSgikU6h5XF+56gRq9ASEW9QaHmc3/3S0tI1LRGJdAotj/M7qBmnlpaIeINCy+P8fkdCcCPIw1kaiCEikU2h5XE5zhHtMxJiotTSEpGIp9DyOL9zRJmRGBulFTFEJOIptDzO7wczIyE2SgMxRCTiKbQ8LsfviPJBYqy6B0Uk8im0PM7vHD4zEmKjOaTuQRGJcAotj/M7h89nJMZEafSgiEQ8hZbH+R15AzHUPSgikU6h5XE5fofPIF4DMUTEAxRaHuf3/9I9qJaWiEQ6hZbHaZ6WiHhJdKgLkMqVExyIkRAVre5BEYl4aml5nN+BL9jSysrxk53jD3VJIiLHTKHlcf7gQIzE4KK5mqslIpEsrELLzF4ws+1mtrSIx68ws++DX7PMrHtV1xhpcpwjymf5VnpXaIlI5Aqr0AImA4OLeXwtcLJzrhvwV2BiVRQVqZxzuGD3YEJMsKWl0BKRCBZWAzGcc1+ZWctiHp+V7+YcoFmlFxXB/C7wZ+41LYBDWhVDRCJYuLW0yuIa4OOiHjSz681sgZktSE9Pr8KywkdOMLWifJAQG/j/iboHRSSSRWRomdkpBELrrqKOcc5NdM6lOefSkpOTq664MOJ3gdCyfC0tzdUSkUgWVt2DpWFm3YBJwFnOuZ2hriec5YZWlE/XtETEGyKqpWVmLYB3gZHOuR9DXU+4y72mFZW/paXQEpEIFlYtLTObAgwCGpjZJuB+IAbAOTcB+BNQHxhvZgDZzrm00FQb/nKvaZlBYvCallpaIhLJwiq0nHOXlfD4tcC1VVROxPP7C+se1OhBEYlcEdU9KGWT/5pWfGzgV52ZrWWcRCRyKbQ8LCff6MHYKB8+0zUtEYlsCi0Pc/kGYlhwVYwMDXkXkQim0PKw3IEYPgvcjo/RnloiEtkUWh6WF1rB1FJoiUikU2h5WP7uQYD4GB+ZRzQQQ0Qil0LLw3IHYviCv+WEWLW0RCSyKbQ8LHfIuy/Y0tJADBGJdAotD3MFQkvXtEQk0im0PCwnePkqf2hl6JqWiEQwhZaH/bIiRuB2vLoHRSTCKbQ8LP9+WgAJMT6FlohENIWWh+UOec8/EEPXtEQkkim0POyX0YOB2+oeFJFIp9DyMH+BllbuQIzcLUtERCKNQsvDfrmmFbgdH9xTS9uTiEikUmh5mN9/9DytGnGB0DqojSBFJEIptDysYPdgUnxgo+r9GQotEYlMCi0P8xdYezApLgaA/RlHQlWSiEi5KLQ8rODag2ppiUikU2h5WMF5WknxammJSGRTaHlYwXlauS2tfWppiUiEUmh5WO5AjNxlnGrltbQUWiISmRRaHlawpVUz75qWugdFJDIptDys4DytKJ+RGBullpaIRCyFlofldg9G5Ta1CFzXUktLRCKVQsvDCi7jBIHrWvsOq6UlIpFJoeVhrsA8LYD6NWPZcSAzVCWJiJSLQsvDCi7jBJCSFE+6QktEIpRCy8MKjh4ESE6KI32/QktEIpNCy8MKztMCSEmK41BWDgcydV1LRCKPQsvDXCEtrYa14gH4ee/hUJQkIlIuCi0Py/H/eiBGi/qJAKzbcSgkNYmIlIdCy8MKm6fVukENANbtPBiKkkREykWh5WGFzdOqkxhL3cQY1uxQaIlI5Amr0DKzF8xsu5ktLeJxM7OnzGyVmX1vZr2qusZIUtg8LYCWDWqwTqElIhEorEILmAwMLubxs4DU4Nf1wLNVUFPEKmyeFkCrBjVYq9ASkQgUVqHlnPsK2FXMIUOBl13AHKCOmTWumuoiT2HztABa1a/B1r0ZHM7KCUFVIiLHLqxCqxSaAhvz3d4UvO9XzOx6M1tgZgvS09OrpLhwU9g8LYAGSXEA7DmcVdUliYiUS6SFlhVynyvsQOfcROdcmnMuLTk5uZLLCk+FzdMCqBkX2FfrgLYoEZEIE2mhtQlonu92M2BLiGoJe4XN04J8m0FqVQwRiTCRFlrTgFHBUYT9gb3Oua2hLipc5Q3EKNDUSlJLS0QiVHSoC8jPzKYAg4AGZrYJuB+IAXDOTQA+As4GVgGHgKtCU2lkKKp7sEYwtA4W09Ka/v1WvvoxnT8P7Ux8TFSl1SgiUhZhFVrOuctKeNwBN1dRORHPX8Q8rdxrWkV1Dx7J8XPLlEX4HXRpVpuR/Y+r3EJFREop0roHpQyKmqeVFF989+DKn/fnPfeD73TJUETCh0LLwwpbxgl+6R4sanuSn/dmAHBqhxTmr9vFtn0ZlVekiEgZKLQ8zBXR0oqJ8hEX7SsytLYHN4m8amBLnIOPlmisi4iEB4WWh/0y5P3Xj9WMiy5yIEbuzsb9WtWnQ6MkXp2zvthBGyIiVUWh5WFFDcQASIyL4lARyzht359B3cQYYqN93HdOR9buOMjY1xflhaCISKgotDysqHlaAIkxxbe0UpICOxyfmJrMn87txOcr09VNKCIhp9DyMOdcoV2DEGhpHT5SVEsrk+Tg+oQAIwe0pE1yDZ75fFXe3C8RkVBQaHmY37lCuwYBasSW1NL6JbSifMaNg9qy4uf9fLGyei4+LCLhQaHlYX5X+PUsgMTYwq9pOedIL9DSAhjSvQnN6ibw0EfLyczWliYiEhoKLQ/zO/erOVq5asRFczDr1y2tfYezycrx/yq0YqN9/HVoF1ZtP8CkmWsro1wRkRIptDzMldTSyvx1i2n7/sBE4oKhBXBKhxQGtU/mxW/WaSShiISEQsvDcvxFD8QoqqWVO0crd/RgQRf0asaOA5ks3rC7wuoUESkthZaH+Z0rdLg7QEJMFBlH/L9qMeWuhlFYSwtgUPtkYqKM//6wrWKLFREpBYWWhxXXPVgjLrDdyKECra28llatwkOrVnwM/VvXV2iJSEgotDzMX9w8rdjAormHC4wg3L4/g7hoX95GkYU5vVND1uw4yJr0AxVWq4hIaSi0PKzYeVrBltbBAqGVvj+TlFpxWFHDDoGBbRsAMG/trgqqVESkdBRaHuZ3FBk+uS2tghOMt+/PJLlm4V2DuVo3qEG9GrHMX6fBGCJStRRaHlbcMk41gqFVcIJx/nUHi2JmpB1XlwXr1dISkaql0PIwv7+YeVp53YOFtLSKGDmYX5+W9Vi/8xDbtUGkiFQhhZaH5RQ7ECM4ejDfBOPM7Bz2Hj5y1LqDRUlrWReABevVRSgiVUeh5WHFzdPK7R7M39LacSALKHqOVn6dm9QmLtrHAl3XEpEqpNDysJKWcQI4lG8gRm5XX1FztPKLjfbRo3kdFuq6lohUIYWWhxU3T6tGXG5L65fuwdyJxck1ix+IkSutZV2Wbtn3qwnKIiKVRaHlYcVtTRIX7SMu2seeQ1l5920vYTWMgvq0rEeO36mLUESqjELLw4rbmsTMSE6Ky7uOBYGWlhnUrxFbqtfv37o+8TE+PluxvSLKFREpkULLw1wxK2IANKgZl9clCIGWVv0asURHle6vRXxMFAPbNODTFdtwTluViEjlU2h5WHHztIBgS+uX0Erfn0mDElbDKOjUjils3HWY5Vv3H3OdIiKlpdDysJxiugfh1y2t9P0ZpNQq3SCMXGd1aUxMlPHOok3HWqaISKkptDzMOUdUUcMHCbS0dh3KIjvHD5Ru3cGC6tWI5TcdG/L+4s1kZfvLVa+ISEkUWh5W3OhBCISWc7DzYBY5fsf2/Zk0rl22lhbAJWnN2Xkwiw+/31KeckVESqTQ8rDi5mkBNAkG1JY9h9lxIJMcv6PhMYTWye2S6dykFo/NWMn2/RnMWPYzr8/dwL6MI8dauohIoYre6U8iXnFbkwA0q5sIwKbdh/NaZI3LeE0LwOczHrmgGxf/axZ9H/o07/4Hp//AKR1SaFYngZEDjst7PxGRY6XQ8rDitiYBaFo3AQiEVkxwmHujY2hpAXRtVpvXr+vPOws30bdVPRrXTuCNeRuYv34XM5b+zIffb2XGHSdRs5gdkUVESqJPEA8rbudigJpx0dRNjGHT7kMkxJQvtAB6tahLrxZ18273bVUPgIXrd3Hhs7P552c/cc9ZHY/59UVEwuqalpkNNrOVZrbKzO4u5PHaZvaBmX1nZsvM7KpQ1BkpcvzFhxYEugg37T7Mlr0ZxEb5qJdYutUwyqL3cfW4JK0Zz89cy0/bNJ9LRI5d2ISWmUUBzwBnAZ2Ay8ysU4HDbgZ+cM51BwYBfzOziv+U9YjANa3ij2lWN4FNuw+xevsBWjWoUeRWJuV11+AOJMVHc8uUxRzIt7L8gcxsvt24h/nrdjFnzU4ys3OKeRURqe7CqXuwL7DKObcGwMzeAIYCP+Q7xgFJFhhdUBPYBWiJ8SI450pckqlZ3QQ+W7GdrBw/3ZrWqbRa6teM48nhPblq8nxum7KYv1/agwlfruaV2euPCrH2DZN47bp+ZV6ZQ0Sqh3AKrabAxny3NwH9ChzzNDAN2AIkAZc65wqd0Wpm1wPXA7Ro0aLCi40EJc3TAmhRL5HMbD8bdx3mwl7NKrWek9ol88CQzvzx/aX0+Mt/cA7O696E87o1JiE2ijXpB3noo+Xc++4S/jWyd7EjH0Wkegqn0CrsE6rgKqxnAt8CpwJtgP+a2Uzn3L5fPdG5icBEgLS0tGq5mmtxq7zn6t68Tt73A1rXr9yCgJH9jyMpLppFG3ZzYa9mR73/ianJZBzJ4eGPV/Dh91s5r3uTSq9HRCJL2FzTItCyap7vdjMCLar8rgLedQGrgLVAhyqqL+KUpqXVpUltTuuQwhmdGtKnZb0qqev8nk35y9AuRwVWrmtPbE1qSk2em7mmSmoRkcgSTqE1H0g1s1bBwRXDCXQF5rcBOA3AzBoC7QF9uhWhpHlaEJgY/PzoPkwclVZpgzDKIspnjOh/HN9v2svSzXtDXY6IhJmwCS3nXDYwFpgBLAfecs4tM7MbzOyG4GF/BY43syXAp8Bdzrkdoak4/JU0TytcDe3RhNgoH+8u2hzqUkQkzITTNS2ccx8BHxW4b0K+77cAZ1R1XZEqx1/8Mk7hqk5iLKd0SOaD77dw79kdSr0ppYh4nz4NPCywNUmoqzg2w3o2JX1/JrNW7wx1KSISRiL0I01KI1K7BwEGtU8hKT6a979VF6GI/EKh5WGlGT0YruJjoji7S2NmLP2Zw1laJUNEAhRaHlaaeVrh7PyeTTmYlcN/l28LdSkiEiYUWh7mIrilBdCvVT0a145n6mJ1EYpIgELLw0rauTjc+XzGkO5N+PLHdHYeyAx1OSISBhRaHhbJAzFyXZzWjBznmPiV5pCLiELL0/wROk8rv7YpSVzQsxkvzlrHpt2HQl2OiISYQsvD/BE8Tyu/357RDp/Bwx+vCHUpIhJiHvhIk6J4oXsQoEmdBG44uQ3Tv9/KrNVatUukOlNoeVhg5+LIDy2AMSe1oXm9BP7w3lIyjmjelkh1pdDysNKs8h4pEmKjeOj8rqzZcZCnPv0p1OWISIgotDwsklfEKMxJ7ZK5JK0Zz365ms9Xbg91OSISAgotD4v0eVqF+fOQLnRoVIs73/yWbfsyQl2OiFQxhZaH5fidZ65p5UqIjeLpy3ty+EgOd7/zPc65UJckIlWoxP20zKw0e7D7nXN7yl+OVKQcvyPaa00toE1yTX5/Zgf+8uEPTJm3kQt6NeXLH9OZvXonBzOzaZVcg4t6NSOlVnyoSxWRClaaTSC3BL+K+/SLAlpUSEVSYXL8jigPhhbA6ONb8vnK7dz73hLufW8JAFE+Iy7ax6GsHCbNXMtbY/rTNiUpxJWKSEUqTWgtd871LO4AM1tcQfVIBfI7h8+joeXzGf8a2ZtXZq9nf0Y2/VrXo2+resRFR7F86z5GvTCPKybN5e0xx9OifmKoyxWRClKaa1oDKugYqWLZHu0ezJUYG82Yk9sw7sz2nJiaTFx0FAAdG9fi1Wv6kZnt57qXF5Cd4w9xpSJSUUoMLedckUO0zKxRScdIaDjnIn5rkvJo3yiJh4d1ZeW2/by1YFOoyxGRClLe0YPPV0gVUuFy/IFRdV69plUag7s0Iu24ujzxvx+1ioaIR5QrtJxz51RUIVKxcpxCy8wYd2Z7tu/P5LW5G0JdjohUgNIMxADAzP5U2P3Oub9UXDlSUdTSCujfuj7Ht6nPs1+s4rK+zUmMLfVfeREJQ2VpaR3M95UDnAW0rISapALkhVY1vaaV352nt2PHgSxemb0+1KWISDmV+r+dzrm/5b9tZo8D0yq8IqkQ/uCAuere0gJIa1mPk9olM+HL1VzR/zhqxqm1JRKpynNNKxFoXVGFSMXKDqaWQivgztPbsfvQESZ/szbUpYhIOZQ6tMxsiZl9H/xaBqwEnqy80qQ8cgdieHVycVn1aF6H0zqkMPGrNezLOBLqckTkGJWlpXUucF7w6wygiXPu6UqpSsott3vQy5OLy+qO09uxLyObSV+tCXUpInKMSh1azrn1+b42O+eyK7MwKZ+87kENxMjTpWltzunWmH99tYaNuw6FuhwROQblmqeVuyKGhJ/clpa6B49239kdifYZY15ZyN7D6iYUiTRaEcOjcq9pqXvwaE3qJDB+RG9+2r6fC5+dxfx1u7Qnl0gE0YoYHpUTbGqppfVrJ7dLZvJVfTmQkc3FE2Yz6PEvuPe9JaxJPxDq0kSkBGUKLTOra2Z9zeyk3K/KKkzKJ3dhc13TKtzAtg34329P5qFhXWhUK553Fm7iN3//kif+96NaXiJhrCzLOF0L3AY0A74F+gOzgVMrpTIpl1+WcQpxIWGsZlw0V/Q7jiv6HceOA5k8+OEPPPG/nziS42fcGe0xBb5I2CnL0gC3AX2AOc65U8ysA/DnyilLyuuX0FJqlUaDmnH8/ZIeJMRG88znq3EOfnemgksk3JTlEy0jd98sM4tzzq0A2ldkMWY22MxWmtkqM7u7iGMGmdm3ZrbMzL6syPf3kl9WeQ9xIRHE5zMeOr8Ll/drwfgvVvPYjJXqKhQJM2VpaW0yszrA+8B/zWw3sKWiCjGzKOAZ4HRgEzDfzKY5537Id0wdYDww2Dm3wcxSKur9vSa3pVVdN4E8Vj6f8eDQLgCM/2I1Dvi9WlwiYaMsC+YOC377gJl9DtQGPqnAWvoCq5xzawDM7A1gKPBDvmMuB951zm0I1rS9At/fU/x5Q97V1Cqr3OAy4NkvVrP7YBZ/PLcTNbTQrkjIHdO/QudcZXTLNQU25ru9CehX4Jh2QIyZfQEkAU86514u7MXM7HrgeoAWLVpUeLHhLjsnd+3BEBcSoXw+469Du1ArIYYJX67mm9U7+NvFPejbql6oSxOp1kr8SDOzRRVxTCkU1v9S8IJCNNAbOAc4E/ijmbUr7MWccxOdc2nOubTk5OQKKC+y5La0NOT92Pl8xl2DO/DWmAH4zLhi0hy+WKnGvUgoleb/4R3zre5e2NcSoEEF1LIJaJ7vdjN+fc1sE/CJc+6gc24H8BXQvQLe23Nyr2lFRym0yqtPy3pMG3sCqSlJ3PjqIn7Ysi/UJYlUW6XpHuxQimNyylsIMB9INbNWwGZgOIFrWPlNBZ42s2gglkD34T8q4L09RwMxKlbthBgmX92Hc576mnFvf8fUsQOJ0dBMkSpX4r+6Aqu7F/W1qbyFBFeNHwvMAJYDbznnlpnZDWZ2Q/CY5QQGf3wPzAMmOeeWlve9veiXeVoKrYqSkhTPg+d34Yet+5jwxepQlyNSLYXVcCjn3EfARwXum1Dg9mPAY1VZVyT6ZZ6WQqsindm5Eed1b8JTn/3EWV0b0TYlKdQliVQr6t/wKLW0Ks8D53UiISaKB6b9oMnHIlWszKFlZjWCE4EljOWFlq5pVbj6NeMYd2Z7vl61g4+X/hzqckSqldIMefeZ2eVmNt3MtgMrgK3BZZQeM7PUyi9Tysqv7sFKdXnfFnRqXIv7py1j7yFtJilSVUrT0vocaAPcAzRyzjV3zqUAJwJzgEfMbEQl1ijHIHdysUKrckRH+fi/i7qx62AWD07/oeQniEiFKM1AjFucc98XvNM5twt4B3jHzGIqvDIpl9yBGBryXnm6NK3NmJNaM/6L1ZzXvQkntat+k9hFqlppWlqTc78J7qlFvtuJAM459Y+EGb8GYlSJW09LpU1yDe55dwn7MvTPQKSylSa08n/q3VTgsZkVWItUoOzcFTEUWpUqPiaK/7uoO9v2ZXDlC/M4kJkd6pJEPK00oZV/TG/BT0ANmQ9TuQMxfAqtStf7uLo8c0Uvvt+0lysmzWXPoaxQlyTiWaUJnUZmNtrMevLr0NIklTClIe9V68zOjXj2il4s37KPiyfMZtX2A6EuScSTShNaDwBpwBNAs+BQ93fM7CEqZqFcqQR5oaUFc6vMGZ0bMfnqPuw4kMlZT37FYzNWcChL3YUiFanE0YPOuYn5b5tZM6Ab0JXAKusShtTSCo3j2zTgP3eczCMfr+CZz1fz/uIt/O2S7vRvXT/UpYl4QmkmFx/1qeec2+Sc+8g596hzbkRhx0joae3B0ElOiuNvl3Tn7RsGEBft44pJc3n+67Va8kmkApRqcrGZ3WJmR23/a2axZnaqmb0EXFk55cmx0pD30OvTsh7TbjmB33RM4a8f/sAjH69QcImUU2lCazCB/bKmmNlWM/vBzNYCPwGXAf9wzk2uxBrlGGSrezAs1IyL5tkrejNqwHH866s13P3OkryuWxEpu9Jc08oAxgPjgytfNAAOO+f2VHJtUg65LS0NeQ89n8/485DO1EmI4anPVrEv4whPDO9BXLTWnRYpq1LPszKzJQRWxxgFDDCzZmZ2X2UVJuWT45wmFocRM+POM9rzx3M78fHSn7lm8gIOaiKySJmVZXLwycBzwGFgOLAUOKcyipLyy/Y7tbLC0DUntOLxi7sze81Oznv6a+as2RnqkkQiSqlDyzm3yzn3hXPuKefclUAfAte1JAz5/U7Xs8LURb2b8fLVfTmS42f4xDn87u3v1OoSKaWydA8etW+Wc+4nAvO1JAzl+LXuYDgb2LYB/7n9ZG4c1IZ3F2/mkn/NZtu+jFCXJRL2ytI9ONHMNpjZbDP7V3Co+9Lcld4lvOT4/eoeDHMJsVHcNbgDk0alsXbHQS6aMItdB7VuoUhxytI9eIpzrgVwKTAdWAUkAt+Z2YpKqk+OUY5zmqMVIU7pkMJr1/Zj275MbpmyiOwcf6hLEglbZV6l3Tm3wTk3zTn3V+fchc65VAJrE0oYyfFrA8hI0rNFXR46vwvfrNrJ/81YGepyRMJWaXYuLpFzTktah5kcv1/XtCLMxWnN+X7TXiZ+tYauTWtzXvcmoS5JJOxoPyyPyvFrCadI9MdzO5F2XF1+/+/vWb51X6jLEQk7Ci2P8juHT7/diBMb7WP8iF7USojmupcX8PNejSgUyU8fax6V43dEK7UiUkpSPBNHprHn0BEue26OgkskH32qeVSO36HewcjVvXkdXrq6L+n7M7n8uTls1xwuEUCh5Vk5fg15j3S9j6vL5Kv68PO+DC57bg47DmSGuiSRkFNoeVRgnpZ+vZEurWU9Xhjdh817DjNi0lx2a/KxVHP6VPOoQEsr1FVIRejfuj4TR6axZsdBRjw/lz2HFFxSfeljzaNytGCup5zULpmJI3vz0/YDXDFJwSXVl0LLo/xaxslzBrVPCQTXtgNc/txcNu46FOqSRKqcQsujsnMUWl40qH0KE0f1ZuOuQ5z95EzeWbgJ51yoyxKpMgotj8pxTmsPetSg9ilMv/VEOjRO4rdvf8eNry7S6vBSbSi0PMqvIe+e1qJ+Im9cP4B7zurAZyu2c/4z37Bq+/5QlyVS6cIqtMxssJmtNLNVZnZ3Mcf1MbMcM7uoKuuLJNkKLc+L8hljTm7Dm2P6cygrhwvGz2Lh+t2hLkukUoVNaJlZFPAMcBbQCbjMzDoVcdyjwIyqrTCyaCBG9dGzRV3eu+l46tWIZcSkuXyzakeoSxKpNGETWkBfYJVzbo1zLgt4AxhayHG3AO8A26uyuEijIe/VS/N6ibx1wwCOq5/IVZPn8+nybaEuSaRShFNoNQU25ru9KXhfHjNrCgwDJpT0YmZ2vZktMLMF6enpFVpoJNAyTtVPSlI8b1zfnw6Nkrjh1YV8snRrqEsSqXDhFFqFfcIWHMv7BHCXcy6npBdzzk10zqU559KSk5OPuajNew7z0ZLI+8ev0Kqe6iTG8uq1/ejatDY3v76YV+esD3VJIhUqnEJrE9A83+1mwJYCx6QBb5jZOuAiYLyZnV+ZRT3x3x8Z+/oi3lu8qTLfpsLlOIdPoVUt1YqP4eVr+nFSagP+8P5SHpi2jKxsf6jLEqkQ4RRa84FUM2tlZrHAcGBa/gOcc62ccy2dcy2BfwM3Oefer8yi/jK0C/1b1+fOt75jyrwNlflWFSqwn5ZCq7qqGRfNpCv7cO0JrZg8ax0XT5jFhp1aQUMiX9iElnMuGxhLYFTgcuAt59wyM7vBzG4IVV0JsVG8MLoPg9olc8+7S3j+67WhKqVMsnO0CWR1F+Uz/nBuJyaM6MXaHQc556mZEdnVLZJfdKgLyM859xHwUYH7Ch104ZwbXRU1AcTHRPGvkWnc9sZi/vrhDxzOymbsqalV9fbH5EiOn5gotbQEBndpTOcmtbllymJuem0Ro49vyR/O6Ui0tgGQCKS/taUUG+3jn5f1ZFjPpjz+nx95aPoPYb3mW7bfEa3QkqDm9RJ5a8wArh4Y6C4c9/Z3+P3h+/dXpChh1dIKd9FRPv52cXdqxUfz3My1HMjM5sHzu4blKL0jOX51D8pRYqN9/Om8TtSvGctjM1aSEBvN/xvWBdN8PokgCq0y8vmMB4Z0Jik+hqc/X8X+jGz+fkkPYqPDKyA0EEOKcvMpbTmYmc34L1ZTOyGGu8/qEOqSREpNoXUMzIxxZ7anVkI0/++jFRzIzObZK3qTEBsV6tLyZOc4XbOQIv3uzPbsz8hmwperqZsYw5iT24S6JJFS0adaOVx/UhseuaArX/6Yzsjn57L38JFQl5TniF8DMaRoZsafh3TmvO5NePjjFbw5P3Kmc0j1ptAqp+F9W/D0Zb34btMeLps4hx0HMkNdEjl+h3PompYUy+cz/nZxd04KTueY9l3Bufwi4UefahXgnG6NeW5UGmt2HOCSCbPZvOdwSOs5khNY/UCjB6UksdE+JozoRVrLetz2xmImzVwT1qNiRRRaFWRQ+xRevaYf6QcyufjZWaxOPxCyWrKDQ5nVPSilkRgbzctX9+WsLo14cPpyHpi2jBwNh5cwpdCqQGkt6/HG9f3JyvFzyYTZLN28NyR1ZOe2tNQ9KKUUHxPF05f14vqTWvPS7PWMeWUBh7KyQ12WyK/oU62CdW5Sm7fGDCA+JorLJs5h3tpdVV7DkRy1tKTsfD7j3rM78tehnflsxXaGT5zD9v0ZoS5L5CgKrUrQOrkmb98wgORacYx6YS6fr6za/Sqz/bnXtPTrlbIbOaAlE0em8dO2Awx7Zhartu8PdUkiefSpVkma1Eng7TEDaJtSk+teWsAHVTgyKzvY0tLkYjlWv+nUkDfH9Ccz288F42cxZ83OUJckAii0KlX9mnG8fl1/erWoy61vLK6yrU1yRw/GqKUl5dCtWR3eu+l4kpPiuPKFeXy6fFuoSxJRaFW2WvExvHR137ytTSZ8ubrS3zMrGFrhtrSURJ7m9RJ5+4bjad8oieteXsBLs9aFuiSp5vSpVgUSYgNbm5zXvQmPfLyCRz9ZUalzYTKOBEIrPka/Xim/ejViee3afgxqn8L905bxwLRleSNURaqaPtWqSGy0jycu7cEV/Vrw7BerufudJZX2D/9wVg4QGMYsUhGS4mN4blRa3k7IV7+0gH0Z4bNsmVQfCq0qFOUzHjy/C7ee2pY3F2zkhlcX5gVMRcrIVmhJxcvdCfmRC7oya9UOLhg/i/U7D4a6LKlmFFpVzMy484z2v8yFea7i1yvMPBIMrWiFllS84X1b8Mo1/dhxIJOhz3zD7NUaWShVR6EVIiMHtGTCiN6s/HkfF4yfxZoKXPYp95pWOG2VIt4yoE19pt48kPo1Yhn5/FzeqKKRsSIKrRA6o3MjplzXnwOZ2Vz47CwWrq+Y1TMycltaGoghlei4+jV47+aBHN+2AXe/u4S/fPCDBmhIpdOnWoj1bFGXd288ntoJMVz+3Fw+WfpzuV/zsLoHpYrUio/hhSvTuGpgS174Zi2XTpzDz3u19JNUHoVWGGjZoAbv3Hg8nZrU4sbXFvLiN2vL9XqHgoM71D0oVSE6ysf953XmiUt7sHzrPs5+aiZfVPHSZVJ9KLTCRP2acbx+bX9O79iQP3/wAw9++AP+Y9weYvfBLBJjozR6UKrU+T2bMm3sCaQkxTH6xfk8+skKdRdKhVNohZGE2CieHdGb0ce3ZNLXa7llyuK861NlsetgFnUTYyuhQpHitU2pyfs3D+Syvs159ovVjHphHrsOZoW6LPEQhVaYifIZ95/XifvO7sj0JVsZ+fxc9hwq2z/6nQezqF9ToSWhER8TxcMXdOPxi7uzYP1uho3/hrU7NJ9LKoZCKwyZGded1Jp/XtaT7zbu5YJnZ7Fx16ESn+f3OybNXMOcNTtpXjexCioVKdpFvZvxxvX92Z+RzbDx3zB/XdXvLSfeo9AKY+d1b8Kr1/Zj54Esho2fxfeb9hR7/NIte3lw+nIys/2c3C65aooUKUavFnV576bjqZcYyxWT5vLRkq2hLkkinEIrzPVtVY93bhxAXLSPS/81h89WFL09xLqdv7TGBrVXaEl4OK5+YHRs16a1ufn1Rbw2d32oS5IIptCKAG1Tknjv5uNpk1KDa19awOtzC199YH3wusH/G9aVlFrxVVmiSLHqBleKP6V9Cve9t5S//2dlpe50IN6l0IoQKUnxvHn9AE5ql8y97y3h0U9WkFNgSPzG3YdITorj8n4tQlSlSNHiY6L418jeXJLWjKc+W8Vv3/qOrGwNiZeyUWhFkBpx0UwalZY3nHjk83PZvv+X1Qe27s2gSW21sCR8xUT5ePTCbvz29Ha8u3gzo1+cx6Gs7FCXJRFEoRVhoqN8/L9hXfm/i7qxaMNuzn5yJq/P3UDGkRy27cugoboFJcyZGbeclsrfL+nOnDU7GfbMLLbuPRzqsiRCKLQikJlxSVpzpo09gaZ1Erj3vSUc/8hn/LjtAC3qaai7RIYLejVj8lV92bznMBeUYnSsCCi0Ilq7hkm8f/NAXr+uHz2a16FnizqMHHBcqMsSKbWT2iXz5pj++My4bOIcvvwxPdQlSZizcBrBY2aDgSeBKGCSc+6RAo9fAdwVvHkAuNE5911Jr5uWluYWLFhQ0eWKSAXZvi+DK1+cz4/b9vPAkM6M7K//fFVnZrbQOZdW2GNh09IysyjgGeAsoBNwmZl1KnDYWuBk51w34K/AxKqtUkQqQ0qteN4a05+T2yXzx/eXcu97SzSyUAoVNqEF9AVWOefWOOeygDeAofkPcM7Ncs7tDt6cAzSr4hpFpJIkxcfw3Kg0bhrUhtfnbmDEpLnsOJAZ6rIkzIRTaDUFNua7vSl4X1GuAT6u1IpEpEpF+YzfD+7AU5f15PvNexj69Dcs3bw31GVJGAmn0LJC7iv0gpuZnUIgtO4q7PHgMdeb2QIzW5Cerou7IpFkSPcm/PuG4/E7x0UTZjH9e61ZKAHhFFqbgOb5bjcDthQ8yMy6AZOAoc65nUW9mHNuonMuzTmXlpysdfhEIk2XprWZNvYEujSpzdgpi3hl9rpQlyRhIJxCaz6QamatzCwWGA5My3+AmbUA3gVGOud+DEGNIlKFkpPiePXafpzaPoU/Tl3GA9OWaTfkai5sQss5lw2MBWYAy4G3nHPLzOwGM7sheNifgPrAeDP71sw0jl3E4+Jjopg4Ko1rT2jF5FnrGPXCPNL3a4BGdRVW87Qqi+ZpiXjD2ws28sepS6kVH8M/L+tJv9b1Q12SVIKImKclIlKSi9Oa895NA0mMjeKy5+bwwtdrtcVJNaPQEpGI0rFxLT689UR+07Ehf/nwB+5481syjuSEuiypIgotEYk4NeOimTCiN3ee3o73v93CxRNmsza4Cap4m0JLRCKSz2fceloqz41KY8OuQ5z95Ew++O5Xs2TEYxRaIhLRTu/UkBm3n0TnJrW4Zcpi/vrhD2Rmq7vQqxRaIhLxGtWO5/Xr+nPlgON4/uu1XPKvOWzZo40lvUihJSKeEBvt489DuzBhRC9Wbz/Auf/8mpk/aQk3r1FoiYinDO7SmGljB5JcM45RL8zj2S9Wa1i8hyi0RMRzWifX5P2bB3JO18Y8+skKDYv3EIWWiHhSQmwU/7ysJ+POCAyLP/+Zb/hp2/5QlyXlpNASEc8yM8aemsrkq/qQvj+T857+mtfnbgh1WVIOCi0R8bxB7VP4+LYT6dOyHve+t4Q/vr+UI1otPiIptESkWkipFc9LV/VlzEmteWXOeq54bq5Wi49ACi0RqTZ8PuOeszvy5PAefL95D0Oe/prlW/eFuiwpA4WWiFQ7Q3s05Z0bj8c5uOjZWcxY9nOoS5JSUmiJSLXUuUlt3r95IK2SazDmlYXcMmUxfr/mc4U7hZaIVFuNasfz1pgB9GpRhw++28K1Ly9gX8aRUJclxVBoiUi1lhgbzTs3Hs9dgzvw5Y/pXDJhNtv2ZYS6LCmCQktEqj0z48ZBbXhxdB827DrEWU/OZM6anaEuSwqh0BIRCTqpXTJTbx5I3cQYRkyay6tz1oe6JClAoSUikk9qwyTevWkgJ6Q24A/vL+Wuf3+vdQvDiEJLRKSA2gkxPDcqjZsGteHNBRu5dOIcNmt/rrCg0BIRKURMlI/fD+7AhBG9WL51H2c/OZMPvtsS6rKqPYWWiEgxBndpzPRbTiA5KY5bpizmnnfVXRhKCi0RkRKkNkzik9tO5MZBbZgybyPDxs9i7Y6DoS6rWlJoiYiUQnSUj7sGd+CF0Wls3XuY8/75NdO+26JdkauYQktEpAxO7dCQ6beeSGrDmtw6ZTG3v/ktew5lhbqsakOhJSJSRk3rJPD2mAHc8Zt2TP9+K2c9OZPZqzUZuSootEREjkF0lI/bfpPK+zcPJCEmissnzeH/PlmhzSUrmUJLRKQcujStzYe3nsClac0Z/8VqLnp2Fus0SKPSKLRERMopMTaaRy7sxrNX9GLdzkOc89RM/r1wkwZpVAKFlohIBTmra2M+vu1Eujarzbi3v+OWKYvZe1hbnVQkhZaISAVqUieB167tz+/ObM8nS3/mnKdmsnzrvlCX5RkKLRGRChblM24+pS1v3zCArGw/Q5/5htfmrld3YQVQaImIVJKeLery0W0n0q9VPe57bym3TFnMfu2MXC5hFVpmNtjMVprZKjO7u5DHzcyeCj7+vZn1CkWdIiKl1aBmHC9d1ZffD27Px0t/5rx/fs3SzXtDXVbECpvQMrMo4BngLKATcJmZdSpw2FlAavDreuDZKi1SROQY+HzGTYPa8sb1/cnM9nPB+Fm8NGuduguPQdiEFtAXWOWcW+OcywLeAIYWOGYo8LILmAPUMbPGVV2oiMix6NOyHtNvPZETUhtw/7Rl3PTaIo0uLKNwCq2mwMZ8tzcF7yvrMQCY2fVmtsDMFqSnp1dooSIix6pejVgmjUrj3rM78N8ftnHOUzNZuH5XqMuKGOEUWlbIfQXbzqU5JnCncxOdc2nOubTk5ORyFyciUlF8PuP6k9rw1g0DALhowmwen7GSbC0BVaJwCq1NQPN8t5sBBbcJLc0xIiIRoVeLunxy+0lc1KsZT3++issnzWXbvoxQlxXWwim05gOpZtbKzGKB4cC0AsdMA0YFRxH2B/Y657ZWdaEiIhWlZlw0j13cnb9f0p0lm/Zy9pMz+fJHXdIoStiElnMuGxgLzACWA28555aZ2Q1mdkPwsI+ANcAq4DngppAUKyJSwS7o1YwPbjmBBjXjuPKFefz9vz+S49fowoKsOgy5TEtLcwsWLAh1GSIiJTqclcMf3l/KO4s2cXK7ZJ4c3oM6ibGhLqtKmdlC51xaYY+FTUtLREQgITaKxy/uxoPnd2HW6h2c9/TXLNuiyci5FFoiImHGzBjR/zjeGjOAI9mOYc/M4on/qbsQFFoiImGrZ4u6fHjrCQzu0ogn/vcTo1+cR/r+zFCXFVIKLRGRMNagZhxPDu/BIxd0Zd7aXZz91Ey+WbUj1GWFjEJLRCTMmRnD+7Zg2tgTqJ0Qw4jn51bbycgKLRGRCNG+URLTxg7kkt7NefrzVYx4vvpNRlZoiYhEkMTYaB69qBt/v6Q7327cwxn/+Ir3Fm+qNivGK7RERCLQBb2a8dGtJ9I2pSZ3vPkd1728kO37vd/qUmiJiESo1sk1eWvMAP5wTkdm/pTO6X//ivcXb/Z0q0uhJSISwaJ8xrUntuaj206kTXINbn/zW65/xbutLoWWiIgHtEmuyds3HM+9Z3fgyx/TOeMfX/HuIu9d61JoiYh4RFRwn66Pbj2R1g1qcOdb33Hjq4s8NSFZoSUi4jFtUwKtrrsGd+Czlds568mvmLHs51CXVSEUWiIiHhTlM24c1IYPg9udjHllIQ9N/4Gs7MiekKzQEhHxsHYNk5g6diAj+x/HczPXMmz8N6zafiDUZR0zhZaIiMfFRUfx1/O78NyoNLbuzeDcf87k1TnrI3KQhkJLRKSaOL1TQz657UT6tKzHH95fynUvL2DngcgapKHQEhGpRlJqxfPSVX3507md+OrHHZz5xEy+WLk91GWVmkJLRKSa8fmMq09oxdSxA6lfI5bRL87ngWnLyDiSE+rSSqTQEhGppjo2rsXUsQMZfXxLJs9ax3n//JpvN+4JdVnFUmiJiFRj8TFRPDCkM5Ov6sOBzGwuGP8Nj81YEbZD4xVaIiLCoPYpzLjjJC7s1YxnPl/Nhc/OYnV6+A2NV2iJiAgAteJjeOzi7kwY0ZuNuw9xzlMzeXn2Ovz+8Bkar9ASEZGjDO7SiBm3n0S/VvX509RljHphHlv2HA51WYBCS0RECtGwVjyTr+rD/xvWlUUbdnPmP77i3wtDv2q8QktERAplZlzerwWf3HYSHRvXYtzb33H9KwtDumq8QktERIrVon4iU67vzx/O6ciXP6Zz5hNf8fGSrSGpRaElIiIlyt0hefotJ9C0TgI3vraI299YzN5DR6q0DoWWiIiUWmrDJN696Xju+E07Pvx+K2c88WWVLgOl0BIRkTKJifJx229See+mgdROiGH0i/O5970lHMzMrvT3VmiJiMgx6dqsNtPGnsCYk1ozZd4GBj/5FfPW7qrU91RoiYjIMYuPieKeszvy1pgBbNx1mEv+NZu1Ow5W2vtFV9ori4hItdGnZT1m/v4UXp+3gePqJVba+yi0RESkQjSvl8hdgztU6nuoe1BERCJGWISWmdUzs/+a2U/BP+sWckxzM/vczJab2TIzuy0UtYqISOiERWgBdwOfOudSgU+DtwvKBn7rnOsI9AduNrNOVVijiIiEWLiE1lDgpeD3LwHnFzzAObfVObco+P1+YDnQtKoKFBGR0AuX0GronNsKgXACUoo72MxaAj2BucUcc72ZLTCzBenp6RVZq4iIhEiVjR40s/8BjQp56L4yvk5N4B3gdufcvqKOc85NBCYCpKWlhc8OZiIicsyqLLScc78p6jEz22ZmjZ1zW82sMVDoQlZmFkMgsF5zzr1bSaWKiEiYCpfuwWnAlcHvrwSmFjzAzAx4HljunPt7FdYmIiJhIlxC6xHgdDP7CTg9eBsza2JmHwWPGQiMBE41s2+DX2eHplwREQmFsFgRwzm3EzitkPu3AGcHv/8asCouTUREwki4tLRERERKpNASEZGIodASEZGIodASEZGIodASEZGIYc55f7EIM0sH1lfR2zUAdlTRe4VKdThH0Hl6jc4zchznnEsu7IFqEVpVycwWOOfSQl1HZaoO5wg6T6/ReXqDugdFRCRiKLRERCRiKLQq3sRQF1AFqsM5gs7Ta3SeHqBrWiIiEjHU0hIRkYih0BIRkYih0CqBmbXPtxXKt2a2z8xuN7N6ZvZfM/sp+GfdfM+5x8xWmdlKMzsz3/29zWxJ8LGngnuEhVwx5/iYma0ws+/N7D0zq5PvORF1jlD0eeZ7fJyZOTNrkO8+T52nmd0SPJdlZvZ/+Z7jmfM0sx5mNid43wIz65vvOZF4nncEf19LzWyKmcV76fOnzJxz+irlFxAF/AwcB/wfcHfw/ruBR4PfdwK+A+KAVsBqICr42DxgAIEtVj4Gzgr1OZVwjmcA0cH7H/XKORY8z+Dt5sAMApPQG3jxPIFTgP8BccHHUjx6nv/JrZPA1kZfROp5Ak2BtUBC8PZbwGivfv6U5kstrbI5DVjtnFsPDAVeCt7/EnB+8PuhwBvOuUzn3FpgFdDXzBoDtZxzs13gb9DL+Z4TTvLO0Tn3H+dcdvD+OUCz4PeRfo5w9O8S4B/A74H8I5O8dp43Ao845zIBnHPbg8d47TwdUCt4f21gS/D7SD3PaCDBzKKBRALn49XPnxIptMpmODAl+H1D59xWgOCfKcH7mwIb8z1nU/C+psHvC94fbvKfY35XE/jfGUT+OUK+8zSzIcBm59x3BY7x1HkC7YATzWyumX1pZn2C93vtPG8HHjOzjcDjwD3B+yPuPJ1zmwmcwwZgK7DXOfcfvPv5UyKFVimZWSwwBHi7pEMLuc8Vc3/YKOoczew+IBt4LfeuQp4eEecIR5+nmSUC9wF/KuzQQu6LyPMM3hUN1AX6A78D3gpe1/Daed4I3OGcaw7cATyfe2ghTw/r8wxeqxpKoKuvCVDDzEYU95RC7gvrcywrhVbpnQUscs5tC97eFmxyE/wzt6tlE4HrI7maEWjOb+KX7rX894eTgueImV0JnAtcEexWgMg+Rzj6PNsQ+ED4zszWEah5kZk1wlvnCYG633UB8wA/gcVVvXaeVwLvBr9/G8gdiBGJ5/kbYK1zLt05d4TAeR2PNz9/SkWhVXqXcXS32TQC/zgI/jk13/3DzSzOzFoBqcC8YBN+v5n1D/7vdlS+54SLo87RzAYDdwFDnHOH8h0XyecI+c7TObfEOZfinGvpnGtJ4B93L+fcz3joPIPeB04FMLN2QCyB1cC9dp5bgJOD358K/BT8PhLPcwPQ38wSg7WdBizHm58/pRPqkSCR8EXg4udOoHa+++oDnxL4B/EpUC/fY/cRGLWzknwjdIA0YGnwsacJrkgSDl9FnOMqAv3j3wa/JkTyORZ1ngUeX0dw9KDXzpNASL0arHsRcKpHz/MEYCGBUXRzgd6RfJ7An4EVwfpeITAy0FOfP2X50jJOIiISMdQ9KCIiEUOhJSIiEUOhJSIiEUOhJSIiEUOhJSIiEUOhJSIiEUOhJSIiEUOhJVJBzCynwP5Od4dBTS3N7LCZfVvCcW3NbEmB++LMbK2ZdQ6eT5bl22tMJBSiQ12AiIccds71qKgXy13M1jnnL+dLrS5FXWuA5mbmy/d+1wNfOueWAT2CazOKhJRaWiKVKNjSWW5mzwV3n/2PmSUEHxthZvOCrZh/mVlUvuPHE1hqqbmZ/dECO0j/N7hz7bjg8/9qZrfle6+HzOzWUtTUysymWmBX33lm1j4YVBuAlsFjEoDfAg9U9M9EpDwUWiIVJ6FA9+ClwftTgWecc52BPcCFZtYRuBQYGGwF5QBXBI9vD7zsnOsJJAMXAj2BCwisH5freYKLppqZj8CeUq9RDDOLASYBdzrn0giEUm435nKgQ/D7m4Fpzrl1ZfwZiFQqdQ+KVJxfdQ+aWUsCW0t8G7xrIYHWTB2gNzA/0AtIAoHtJb4C1jvn5gSPPwGY6pw7HHy9D3Jf2zm3zsx2mllPoCGw2Dm3s4Qazwc6A+8E3zcamBl8bDnQ3sy+IhBa/Ut95iJVRKElUvky832fQyCgDHjJOXdP/gODIXcw/10lvPYkYDTQCHihFLV0B+5zzj1fyGPLCWzlcRvwmsu3r5pIuFD3oEhofApcZGYpAGZWz8yOK+S4r4HzzCzezGoC5xR4/D1gMNAHmFGK990KnBnsTsTMugYHfEAgtPoCVwOPlfWERKqCWloiFSehwNDyT4AJhR3onPvBzP4A/CcYIEcIdMn9XOC4+WY2jcDeUOuBBcDefI9nmdnnwB7nXE4panwBOAVYbmaHgaXOudzt21cCXQm0xPYW9QIioaT9tETCnJnVdM4dMLNEAte8rnfOLQo+5iMwyvBi59xPhTy3JfChc65LBdSxDkhzzu0o72uJHCt1D4qEv4nBFtwi4J18gdWJwO7SnxYWWEE5QO2SJhcXx8xyW5AxQHnnjImUi1paIiISMdTSEhGRiKHQEhGRiKHQEhGRiKHQEhGRiKHQEhGRiKHQEhGRiKHQEhGRiPH/AQjcGe2ZRR0cAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from os.path import basename\n", "from araucaria.io import read_p65\n", "from araucaria.plot import fig_xas_template\n", "from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg\n", "\n", "# creating figure and axes instances\n", "figkws = {'figsize': (6,6)}\n", "fig, ax = fig_xas_template(panels='x', **figkws)\n", "ax.set_ylabel('$\\mu(E)$ [a.u.]')\n", "\n", "# creating canvas\n", "canvas = FigureCanvasTkAgg(fig)\n", "canvas.draw()\n", "\n", "def plot(fpaths):\n", " \"\"\"Plots XAFS spectra from filepaths.\n", " \"\"\"\n", " # removing previous artists\n", " for artist in ax.get_lines():\n", " artist.remove()\n", "\n", " # plotting new artists\n", " mode = 'mu' # transmision mode\n", " offset = 0.1 # offset for visualization\n", " for i, fpath in enumerate(fpaths):\n", " group = read_p65(fpath, scan=mode)\n", " ax.plot(group.energy, group.mu + i*offset, label=basename(fpath))\n", " ax.legend(edgecolor='k')\n", "\n", " # redrawing the figure\n", " canvas.draw()\n", " \n", "# calling the plotting function\n", "plot(fpaths)\n", "\n", "# deleting canvas\n", "del(canvas)" ] }, { "cell_type": "markdown", "id": "063f3024", "metadata": {}, "source": [ "### Wrapping routines in a single Tk widget application\n", "\n", "We now combine the previous steps to produce a single Tk widget application. Once again we use a [Tk](https://docs.python.org/3/library/tkinter.html#tkinter.Tk) instance for the toplevel widget, but we will attach it to an application that continously listens for user events:\n", "\n", "- We define a custom Application class with methods to create 3 widgets: (i) a plot button, (ii) a quit button, and (iii) the figure canvas. Note that upon instantiation the figure canvas gets created and displayed.\n", "- The Tk canvas is embedded in the widget using the [FigureCanvasTkAgg](https://matplotlib.org/stable/api/backend_tk_api.html#matplotlib.backends.backend_tkagg.FigureCanvasTkAgg) backend canvas. We also provide an interactive navigation toolbar with the [NavigationToolbar2](https://matplotlib.org/stable/api/backend_bases_api.html#matplotlib.backend_bases.NavigationToolbar2) class.\n", "- The [Button](https://tkdocs.com/shipman/button.html) widget is used for the buttons. In particular, the plot button displays the open dialog window and updates the plot with the selected files.\n", "\n", "Lets run this code to plot spectra through a widget application!" ] }, { "cell_type": "code", "execution_count": 4, "id": "af7ba477", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from os.path import basename\n", "from tkinter import Frame, Tk, Button, filedialog\n", "from araucaria.io import read_p65\n", "from araucaria.plot import fig_xas_template\n", "from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk\n", "\n", "class Application(Frame):\n", " def __init__(self, master=None):\n", " super().__init__(master)\n", " master.geometry('600x600')\n", " master.title('Tk interactive plot')\n", " self.master = master\n", " self.pack()\n", " self.create_widgets()\n", "\n", " def create_widgets(self):\n", " # plot button\n", " self.plot_button = Button(self)\n", " self.plot_button[\"text\"] = \"Select files and plot\"\n", " self.plot_button[\"command\"] = self.plot\n", " self.plot_button.pack()\n", "\n", " # quit button\n", " self.quit = Button(self, text=\"Quit\",\n", " command=self.master.destroy)\n", " self.quit.pack()\n", "\n", " # figure canvas\n", " figkws = {'figsize': (6,6)}\n", " self.fig, self.ax = fig_xas_template(panels='x', **figkws)\n", " self.ax.set_ylabel('$\\mu(E)$ [a.u.]')\n", " self.canvas = FigureCanvasTkAgg(self.fig, master = self.master)\n", " self.canvas.draw()\n", "\n", " # placing the canvas on the Tkinter window\n", " self.canvas.get_tk_widget().pack()\n", "\n", " # creating the Matplotlib toolbar\n", " self.toolbar = NavigationToolbar2Tk(self.canvas, self.master)\n", " self.toolbar.update()\n", "\n", " # placing the toolbar on the Tkinter window\n", " self.canvas.get_tk_widget().pack()\n", "\n", " def plot(self):\n", " self.fpaths = filedialog.askopenfilenames(initialdir = \"/\",\n", " title = \"Select scan file\")\n", " \n", " # removing previous artists and resetting prop cycle\n", " for artist in self.ax.get_lines():\n", " artist.remove()\n", " self.ax.set_prop_cycle(None)\n", "\n", " # plotting new artists\n", " mode = 'mu'\n", " offset = 0.1\n", " for i, fpath in enumerate(self.fpaths):\n", " group = read_p65(fpath, scan=mode)\n", " self.ax.plot(group.energy, group.mu + i*offset, label=basename(fpath))\n", " self.ax.legend(edgecolor='k')\n", " self.fig.tight_layout()\n", "\n", " # redrawing the figure\n", " self.fig.canvas.draw()\n", "\n", "root = Tk()\n", "app = Application(master=root)\n", "app.mainloop()" ] } ], "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.9.4" } }, "nbformat": 4, "nbformat_minor": 5 }