{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Channel Quality Assessment, Pruning, and Motion Artifact Detection\n", "\n", "This notebook sketches how to prune bad channels and detect motion artefacts in fNIRS data" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2024-09-02T16:02:05.267628Z", "iopub.status.busy": "2024-09-02T16:02:05.267246Z", "iopub.status.idle": "2024-09-02T16:02:06.783097Z", "shell.execute_reply": "2024-09-02T16:02:06.782594Z" } }, "outputs": [], "source": [ "import cedalion\n", "import cedalion.nirs\n", "import cedalion.sigproc.quality as quality\n", "import cedalion.xrutils as xrutils\n", "import cedalion.datasets as datasets\n", "import xarray as xr\n", "import matplotlib.pyplot as p\n", "\n", "from cedalion import units" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Loading raw CW-NIRS data from a SNIRF file and converting it to OD and CONC\n", "\n", "This notebook uses a finger-tapping dataset in BIDS layout provided by Rob Luke that is automatically fetched. \n", "You can also find it [here](https://github.com/rob-luke/BIDS-NIRS-Tapping)." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2024-09-02T16:02:06.785709Z", "iopub.status.busy": "2024-09-02T16:02:06.785193Z", "iopub.status.idle": "2024-09-02T16:02:07.145513Z", "shell.execute_reply": "2024-09-02T16:02:07.144963Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (channel: 28, wavelength: 2, time: 23239)> Size: 10MB\n",
       "<Quantity([[[0.0913686 0.0909875 0.0910225 ... 0.0941083 0.0940129 0.0944882]\n",
       "  [0.1856806 0.186377  0.1836514 ... 0.1856486 0.1850836 0.1842172]]\n",
       "\n",
       " [[0.227516  0.2297024 0.2261366 ... 0.2264519 0.2271665 0.226713 ]\n",
       "  [0.6354927 0.637668  0.6298023 ... 0.6072068 0.6087293 0.6091066]]\n",
       "\n",
       " [[0.1064704 0.1066212 0.1053444 ... 0.121114  0.1205022 0.1205441]\n",
       "  [0.2755033 0.2761615 0.2727006 ... 0.2911952 0.2900544 0.2909847]]\n",
       "\n",
       " ...\n",
       "\n",
       " [[0.2027881 0.1996586 0.2004866 ... 0.2318743 0.2311941 0.2330808]\n",
       "  [0.4666358 0.4554404 0.4561614 ... 0.4809749 0.4812827 0.4862896]]\n",
       "\n",
       " [[0.4885007 0.4802285 0.4818338 ... 0.6109142 0.6108118 0.613845 ]\n",
       "  [0.8457658 0.825988  0.8259648 ... 0.975894  0.9756599 0.9826459]]\n",
       "\n",
       " [[0.6304559 0.6284427 0.6287045 ... 0.6810626 0.6809573 0.6818709]\n",
       "  [1.2285622 1.2205907 1.2190002 ... 1.2729124 1.2727222 1.2755645]]], 'volt')>\n",
       "Coordinates:\n",
       "  * time        (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n",
       "    samples     (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238\n",
       "  * channel     (channel) object 224B 'S1D1' 'S1D2' 'S1D3' ... 'S8D8' 'S8D16'\n",
       "    source      (channel) object 224B 'S1' 'S1' 'S1' 'S1' ... 'S8' 'S8' 'S8'\n",
       "    detector    (channel) object 224B 'D1' 'D2' 'D3' 'D9' ... 'D7' 'D8' 'D16'\n",
       "  * wavelength  (wavelength) float64 16B 760.0 850.0\n",
       "Attributes:\n",
       "    data_type_group:  unprocessed raw
" ], "text/plain": [ " Size: 10MB\n", "\n", "Coordinates:\n", " * time (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n", " samples (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238\n", " * channel (channel) object 224B 'S1D1' 'S1D2' 'S1D3' ... 'S8D8' 'S8D16'\n", " source (channel) object 224B 'S1' 'S1' 'S1' 'S1' ... 'S8' 'S8' 'S8'\n", " detector (channel) object 224B 'D1' 'D2' 'D3' 'D9' ... 'D7' 'D8' 'D16'\n", " * wavelength (wavelength) float64 16B 760.0 850.0\n", "Attributes:\n", " data_type_group: unprocessed raw" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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KgqtW7dGUlKS0/ykpCR06NBB93Z27NiB+Ph4s7NHREREREREFHKGS9Lz8/MxceJEfPPNN0hOTkZubq7T8nPnzune1tChQ9G3b1+0adMG7du3x4wZM5CcnIwBAwYAkFXVT506hblz5wIAJk2ahNq1a6NJkybIzc3F/PnzsWjRIixatMjoYRARERERERGFHcNB+ujRo/H5559j6NChePPNNzFy5EgcO3YMS5cuxVtvvWVoW71790Z6ejrGjBmDlJQUNG3aFCtWrEBiYiIA9x7jc3NzMXz4cJw6dQqlS5dGkyZN8OOPP+Luu+82ehhEREREREREYcfwOOl169bF5MmT0b17d5QrVw47d+4smPfbb7/hq6++ClZeTcFx0omIiIiIiCiUgjpOempqKpr9/zGsY2JikJGRAQDo0aMHfvzxRz+yS0RERERERESAH0F6jRo1kJKSAgCoV68eVq1aBQD4448/2Is6ERERERERUQAMB+n3338/1qxZAwB46aWX8Oabb6J+/fp4/PHH8dRTT5meQSIiIiIiIqLiwnCbdFe///47fv31V9SrVw89e/Y0K19BwzbpREREREREFEpG4lDDvbu7atu2Ldq2bRvoZoiIiIiIiIiKPcPV3YmIiIiIiIgoOBikExEREREREYUJBulEREREREREYUJ3kH7o0KFg5oOIiIiIiIio2NMdpLdq1QrXXXcdXn31VWzevDmYeSIiIiIiIiIqlnQH6enp6Rg3bhzS09PRq1cvxMXFoX///li2bBmuXLkSzDwSERERERERFQt+jZMuhMCWLVuwbNkyLFu2DMePH0eXLl1w7733okePHqhWrVow8moKjpNOREREREREoWQkDvWr4zibzYYOHTrg/fffx/79+7Fz507ceuutmD17NmrWrIkpU6b4lXEiIiIiIiKi4syvknRv0tPTce7cOdSvX9/MzZqGJelEREREREQUSkbi0JJm77xy5cqoXLmy2ZslIiIiIiIiKvI4TjoRERERERFRmGCQTkRERERERBQmGKQTERERERERhQnDQfoTTzyBDRs2BCMvRERERERERMWa4SA9KysLXbt2Rf369fHee+/h1KlTwcgXERERERERUbFjOEhftGgRTp06hYEDB+Lbb79F7dq10a1bN3z33XfIy8sLRh6JiIiIiIiIigW/2qRXrlwZL730Enbs2IGtW7eiXr166Nu3LxISEjBkyBD8/fffZueTiIiIiIiIqMgLqOO4lJQUrFq1CqtWrUJERATuvvtu7Nu3D40bN8bEiRPNyiMRERERERFRsWA4SM/Ly8OiRYvQo0cPJCYm4ttvv8WQIUOQkpKCOXPmYNWqVZg3bx7GjBkTjPwSERERERERFVklja4QHx8Pu92ORx99FFu3bkXLli3d0tx5552oUKGCCdkjIiIiIiIiKj4MB+kTJ07EQw89hFKlSnlMU7FiRRw9ejSgjBEREREREREVN4aru69du1azF/dLly7hqaeeMiVTRERERERERMWRTQghjKwQERGBlJQUVKtWzWn+2bNnUb16dVy9etXUDJotMzMTsbGxyMjIQPny5a3ODhERERERkSny8/M5LLaFIiMjERERobnMSByqu7p7ZmYmhBAQQiArK8upunt+fj5WrFjhFrgTERERERFR8F28eBEnT56EwTJYMpHNZkONGjUQExMT0HZ0B+kVKlSAzWaDzWZDgwYNNDM0evTogDJDRERERERExuTn5+PkyZMoU6YMqlatCpvNZnWWih0hBP7991+cPHkS9evX91iirofuIH3t2rUQQqBz585YtGgRKlWqVLAsKioKiYmJSEhI8DsjREREREREZFxeXh6EEKhatSpKly5tdXaKrapVq+LYsWPIy8sLTZDesWNHAMDRo0dRq1YtPp0hIiIiIiIKI4zRrGXW+dcVpO/evRtNmzZFiRIlkJGRgT179nhM27x5c1MyRkRERERERFTc6ArSW7ZsidTUVFSrVg0tW7aEzWbT7JDAZrMhPz/f9EwSERERERERFQe6gvSjR4+iatWqBf8TERERERERkflK6EmUmJhYUL8+MTHR60RERERERETky9WrV/HGG2+gTp06KF26NK699lqMGTMGdru9IM0TTzxRMMqYMrVr185pOzk5ORg0aBCqVKmCsmXLomfPnjh58mSoD8c0uoJ0tTlz5uDHH38seP3KK6+gQoUK6NChA44fP25q5oiIiIiIiKho+uCDDzB9+nR88sknOHDgAMaNG4cPP/wQ//vf/5zS3XXXXUhJSSmYVqxY4bR88ODBWLJkCRYsWIBNmzbh4sWL6NGjR6Ftim04SH/vvfcKuvXfsmULPvnkE4wbNw5VqlTBkCFDTM8gERERERERGSAEcOmSNZNG32WebNmyBffeey+6d++O2rVr48EHH0TXrl2xbds2p3TR0dGoXr16waQeDjwjIwMzZ87E+PHj0aVLF7Rq1Qrz58/Hnj17sHr1agDAsWPHYLPZsHjxYnTq1AllypRBixYtsGXLloLtzJ49GxUqVMAPP/yAhg0bokyZMnjwwQdx6dIlzJkzB7Vr10bFihUxaNCgoAf/uodgU5w4cQL16tUDACxduhQPPvggnn32Wdx000247bbbzM4fERERERERGZGdDcTEWLPvixeBsmV1Jb355psxffp0HDp0CA0aNMCuXbuwadMmTJo0ySndunXrUK1aNVSoUAEdO3bEu+++i2rVqgEAtm/fjry8PHTt2rUgfUJCApo2bYrNmzfjzjvvLJg/cuRIfPTRR6hfvz5GjhyJRx99FP/88w9KlpRhcXZ2NiZPnowFCxYgKysLvXr1Qq9evVChQgWsWLECR44cwQMPPICbb74ZvXv3DvBEeWY4SI+JiUF6ejpq1aqFVatWFZSelypVCpcvXzY9g0RERERERFT0vPrqq8jIyECjRo0QERGB/Px8vPvuu3j00UcL0nTr1g0PPfQQEhMTcfToUbz55pvo3Lkztm/fjujoaKSmpiIqKgoVK1Z02nZcXBxSU1Od5g0fPhzdu3cHAIwePRpNmjTBP//8g0aNGgEA8vLyMG3aNNStWxcA8OCDD2LevHk4c+YMYmJi0LhxY3Tq1Alr164NryD9jjvuwNNPP41WrVrh0KFDBQe5b98+1K5d2+z8ERERERERkRFlysgSbav2rdPChQsxf/58fPXVV2jSpAl27tyJwYMHIyEhAf369QMAp2C4adOmaNOmDRITE/Hjjz+iV69eHrcthCjo/FzRvHnzgv/j4+MBAGlpaQVBepkyZQoCdEAG+rVr10aMqlZCXFwc0tLSdB+jPwwH6VOmTMEbb7yBEydOYNGiRahcuTIAWc1A/cSDiIiIiIiILGCz6a5ybqWXX34Zr732Gh555BEAQLNmzXD8+HGMHTu2IEh3FR8fj8TERPz9998AgOrVqyM3Nxfnz593Kk1PS0tDhw4dnNaNjIws+F8J4NU9yauXK2m05qnXCQbDQXqFChXwySefuM0fPXq0KRkiIiIiIiKioi87OxslSjj3ZR4REeE1CE5PT8eJEycKSsJbt26NyMhIJCUl4eGHHwYApKSkYO/evRg3blzwMh9EhoN0ALhw4QK2bt2KtLQ0pxNos9nQt29f0zJHRERERERERdM999yDd999F7Vq1UKTJk2wY8cOTJgwAU899RQA4OLFixg1ahQeeOABxMfH49ixY3j99ddRpUoV3H///QCA2NhY9O/fH8OGDUPlypVRqVIlDB8+HM2aNUOXLl2sPDy/GQ7Sly9fjj59+uDSpUsoV66cUz1/BulERERERESkx//+9z+8+eabeP7555GWloaEhAQ899xzeOuttwDIUvU9e/Zg7ty5uHDhAuLj49GpUycsXLgQ5cqVK9jOxIkTUbJkSTz88MO4fPkybr/9dsyePRsRERFWHVpAbEIYGMgOQIMGDXD33XfjvffeQxkDnQKEi8zMTMTGxiIjIwPly5e3OjtEREREREQBuXLlCo4ePYo6deqgVKlSVmen2PL2PhiJQ0t4Xarh1KlTePHFFwtlgE5EREREREQUzgwH6XfeeSe2bdsWjLwQERERERERFWuG26R3794dL7/8Mvbv349mzZq5dUnfs2dP0zJHREREREREVJwYDtKfeeYZAMCYMWPcltlsNuTn5weeKyIiIiIiIqJiyHCQHuyB24mIiIiIiIiKK8Nt0tWuXLliVj6IiIiIiIiIij3DQXp+fj7++9//4pprrkFMTAyOHDkCAHjzzTcxc+ZM0zNIREREREREVFwYDtLfffddzJ49G+PGjUNUVFTB/GbNmuHzzz83NXNERERERERExYnhIH3u3LmYMWMG+vTpg4iIiIL5zZs3x19//WVq5oiIiIiIiIiKE8NB+qlTp1CvXj23+Xa7HXl5eaZkioiIiIiIiIq22rVrw2azuU0vvPBCQZoDBw6gZ8+eiI2NRbly5dCuXTskJycXLM/JycGgQYNQpUoVlC1bFj179sTJkyetOBzTGA7SmzRpgo0bN7rN//bbb9GqVStTMkVERERERERF2x9//IGUlJSCKSkpCQDw0EMPAQAOHz6Mm2++GY0aNcK6deuwa9cuvPnmmyhVqlTBNgYPHowlS5ZgwYIF2LRpEy5evIgePXoU6qHBDQfpb7/9NgYOHIgPPvgAdrsdixcvxjPPPIP33nsPb731luEMTJ06FXXq1EGpUqXQunVrzQcAWn799VeULFkSLVu2NLxPIiIiIiIislbVqlVRvXr1gumHH35A3bp10bFjRwDAyJEjcffdd2PcuHFo1aoVrr32WnTv3h3VqlUDAGRkZGDmzJkYP348unTpglatWmH+/PnYs2cPVq9eDQA4duwYbDYbFi9ejE6dOqFMmTJo0aIFtmzZUpCP2bNno0KFCvjhhx/QsGFDlClTBg8++CAuXbqEOXPmoHbt2qhYsSIGDRoUkuDfcJB+zz33YOHChVixYgVsNhveeustHDhwAMuXL8cdd9xhaFsLFy7E4MGDMXLkSOzYsQO33HILunXr5lR9QUtGRgYef/xx3H777UazT0REREREVLQJAVy6ZM0khF9Zzs3Nxfz58/HUU0/BZrPBbrfjxx9/RIMGDXDnnXeiWrVqaNu2LZYuXVqwzvbt25GXl4euXbsWzEtISEDTpk2xefNmp+2PHDkSw4cPx86dO9GgQQM8+uijuHr1asHy7OxsTJ48GQsWLMDKlSuxbt069OrVCytWrMCKFSswb948zJgxA999951fx2dESX9WuvPOO3HnnXcGvPMJEyagf//+ePrppwEAkyZNws8//4xp06Zh7NixHtd77rnn8NhjjyEiIsLpTSIiIiIiIir2srOBmBhr9n3xIlC2rOHVli5digsXLuCJJ54AAKSlpeHixYt4//338c477+CDDz7AypUr0atXL6xduxYdO3ZEamoqoqKiULFiRadtxcXFITU11Wne8OHD0b17dwDA6NGj0aRJE/zzzz9o1KgRACAvLw/Tpk1D3bp1AQAPPvgg5s2bhzNnziAmJgaNGzdGp06dsHbtWvTu3dvw8RlhuCT92muvRXp6utv8Cxcu4Nprr9W9ndzcXGzfvt3pqQcAdO3a1e2ph9qsWbNw+PBhvP3227r2k5OTg8zMTKeJiIiIiIiIwsfMmTPRrVs3JCQkAJAdkwPAvffeiyFDhqBly5Z47bXX0KNHD0yfPt3rtoQQsNlsTvOaN29e8H98fDwA+SBAUaZMmYIAHZCBfu3atRGjetgRFxfntE6wGC5JP3bsmGY9/JycHJw6dUr3ds6ePYv8/HzExcU5zdd66qH4+++/8dprr2Hjxo0oWVJf1seOHYvRo0frzhcREREREVGhVqaMLNG2at8GHT9+HKtXr8bixYsL5lWpUgUlS5ZE48aNndJed9112LRpEwCgevXqyM3Nxfnz551K09PS0tChQwen9SIjIwv+VwJ45UGA63IljdY89TrBojtIX7ZsWcH/P//8M2JjYwte5+fnY82aNahdu7bhDLg+4dB66qHs47HHHsPo0aPRoEED3dsfMWIEhg4dWvA6MzMTNWvWNJxPIiIiIiKiQsFm86vKuVVmzZqFatWqFVRHB4CoqCjccMMNOHjwoFPaQ4cOITExEQDQunVrREZGIikpCQ8//DAAICUlBXv37sW4ceNCdwAm0x2k33fffQBkUN2vXz+nZZGRkahduzbGjx+ve8dVqlRBRESEW6l5WlqaW+k6AGRlZWHbtm3YsWMHBg4cCEA++RBCoGTJkli1ahU6d+7stl50dDSio6N154uIiIiIiIhCw263Y9asWejXr59bbemXX34ZvXv3xq233opOnTph5cqVWL58OdatWwcAiI2NRf/+/TFs2DBUrlwZlSpVwvDhw9GsWTN06dLFgqMxh+4gXSnWr1OnDv744w9UqVIloB1HRUWhdevWSEpKwv33318wPykpCffee69b+vLly2PPnj1O86ZOnYpffvkF3333HerUqRNQfoiIiIiIiCi0Vq9ejeTkZDz11FNuy+6//35Mnz4dY8eOxYsvvoiGDRti0aJFuPnmmwvSTJw4ESVLlsTDDz+My5cv4/bbb8fs2bMRERERysMwlU0IP/vIN8HChQvRt29fTJ8+He3bt8eMGTPw2WefYd++fUhMTMSIESNw6tQpzJ07V3P9UaNGYenSpdi5c6fufWZmZiI2NhYZGRkoX768SUdCRERERERkjStXruDo0aOoU6cOSpUqZXV2ii1v74ORONSvIdjWrFmDNWvWIC0tza3h/BdffKF7O71790Z6ejrGjBmDlJQUNG3aFCtWrChoY5CSkuJzzHQiIiIiIiKiosJwSfro0aMxZswYtGnTBvHx8W6dvC1ZssTUDJqNJelERERERFSUsCQ9PFhWkj59+nTMnj0bffv2NboqEREREREREXlRwugKubm5bmPOEREREREREVHgDAfpTz/9NL766qtg5IWIiIiIiIioWDNc3f3KlSuYMWMGVq9ejebNmyMyMtJp+YQJE0zLHBEREREREelj4cBdBPPOv+Egfffu3WjZsiUAYO/evU7LXDuRIyIiIiIiouBSxgTPzc1F6dKlLc5N8ZWbmwsAAY/RbjhIX7t2bUA7JCIiIiIiIvOULFkSZcqUwb///ovIyEiUKGG4VTMFyG63499//0WZMmVQsqRfI50XCGxtIiIiIiIispTNZkN8fDyOHj2K48ePW52dYqtEiRKoVatWwDXMdQXpvXr1wuzZs1G+fHn06tXLa9rFixcHlCEiIiIiIiIyJioqCvXr1y+ock2hFxUVZUotBl1BemxsbMHTgNjY2IB3SkREREREROYqUaIESpUqZXU2KEA2Ucy6AMzMzERsbCwyMjJQvnx5q7NDRERERERERZyROJQ9ChARERERERGFCQbpRERERERERGGCQToRERERERFRmGCQTkRERERERBQmGKQTERERERERhQldQ7BNnjxZ9wZffPFFvzNDREREREREVJzpGoKtTp06+jZms+HIkSMBZyqYOAQbERERERERhZKROFRXSfrRo0dNyRgRERERERERecY26URERERERERhQldJuquTJ09i2bJlSE5ORm5urtOyCRMmmJIxIiIiIiIiouLGcJC+Zs0a9OzZE3Xq1MHBgwfRtGlTHDt2DEIIXH/99cHIIxEREREREVGxYLi6+4gRIzBs2DDs3bsXpUqVwqJFi3DixAl07NgRDz30UDDySERERERERFQsGA7SDxw4gH79+gEASpYsicuXLyMmJgZjxozBBx98YHoGiYiIiIiIiIoLw0F62bJlkZOTAwBISEjA4cOHC5adPXvWvJwRERERERERFTOG26S3a9cOv/76Kxo3bozu3btj2LBh2LNnDxYvXox27doFI49ERERERERExYLhIH3ChAm4ePEiAGDUqFG4ePEiFi5ciHr16mHixImmZ5CIiIiIiIiouLAJIYTVmQilzMxMxMbGIiMjA+XLl7c6O0RERERERFTEGYlD/RonHQByc3ORlpYGu93uNL9WrVr+bpKIiIiIiIioWDMcpB86dAj9+/fH5s2bneYLIWCz2ZCfn29a5oiIiIiIiIiKE8NB+pNPPomSJUvihx9+QHx8PGw2WzDyRURERERERFTsGA7Sd+7cie3bt6NRo0bByA8RERERERFRsWV4nPTGjRtzPHQiIiIiIiKiIDAcpH/wwQd45ZVXsG7dOqSnpyMzM9NpIiIiIiIiIiL/GB6CrUQJGde7tkUvLB3HcQg2IiIiIiIiCqWgDsG2du1avzNGRERERERERJ4ZDtI7duwYjHwQERERERERFXuGg/Tdu3drzrfZbChVqhRq1aqF6OjogDNGREREREREVNwYDtJbtmzpdWz0yMhI9O7dG59++ilKlSoVUOaIiIiIiIiIihPDvbsvWbIE9evXx4wZM7Bz507s2LEDM2bMQMOGDfHVV19h5syZ+OWXX/DGG28EI79ERERERERERZbhkvR3330XH3/8Me68886Cec2bN0eNGjXw5ptvYuvWrShbtiyGDRuGjz76yNTMEhERERERERVlhkvS9+zZg8TERLf5iYmJ2LNnDwBZJT4lJSXw3BEREREREREVI4aD9EaNGuH9999Hbm5uwby8vDy8//77aNSoEQDg1KlTiIuLMy+XRERERERERMWA4eruU6ZMQc+ePVGjRg00b94cNpsNu3fvRn5+Pn744QcAwJEjR/D888+bnlkiIiIiIiKioswmhBBGV7p48SLmz5+PQ4cOQQiBRo0a4bHHHkO5cuWCkUdTZWZmIjY2FhkZGShfvrzV2SEiIiIiIqIizkgcargkHQBiYmIwYMAAvzJHRERERERERNp0BenLli1Dt27dEBkZiWXLlnlN27NnT1MyRkRERERERFTc6KruXqJECaSmpqJatWooUcJzX3M2mw35+fmmZtBsrO5OREREREREoWR6dXe73a75PxERERERERGZx/AQbEREREREREQUHLqD9N9//x0//fST07y5c+eiTp06qFatGp599lnk5OSYnkEiIiIiIiKi4kJ3kD5q1Cjs3r274PWePXvQv39/dOnSBa+99hqWL1+OsWPHBiWTRERERERERMWB7iB9586duP322wteL1iwAG3btsVnn32GoUOHYvLkyfjmm2+CkkkiIiIiIiKi4kB3kH7+/HnExcUVvF6/fj3uuuuugtc33HADTpw4YW7uiIiIiIiIiIoR3UF6XFwcjh49CgDIzc3Fn3/+ifbt2xcsz8rKQmRkpPk5JCIiIiIiIiomdAfpd911F1577TVs3LgRI0aMQJkyZXDLLbcULN+9ezfq1q0blEwSERERERERFQe6xkkHgHfeeQe9evVCx44dERMTgzlz5iAqKqpg+RdffIGuXbsGJZNERERERERExYFNCCGMrJCRkYGYmBhEREQ4zT937hxiYmKcAvdwlJmZidjYWGRkZKB8+fJWZ4eIiIiIiIiKOCNxqO7q7orY2Fi3AB0AKlWq5FeAPnXqVNSpUwelSpVC69atsXHjRo9pN23ahJtuugmVK1dG6dKl0ahRI0ycONHwPomIiIiIiIjCke7q7sGwcOFCDB48GFOn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mDVrVkEa3m9Ii69rh/cc0vLUU08VxEVVq1YVt99+e0GALkTRvN/YhBAidOX2REREREREROQJ26QTERERERERhQkG6URERERERERhgkE6ERERERERUZhgkE5EREREREQUJhikExEREREREYUJBulEREREREREYYJBOhEREREREVGYYJBOREREREREFCYYpBMRERVh69atg81mw4ULF6zOChEREenAIJ2IiKiIuO222zB48GCneR06dEBKSgpiY2OtyRSAOnXqYOXKlZbtn4iIqDApaXUGiIiIKHiioqJQvXp1y/a/e/dupKeno1OnTpblgYiIqDBhSToREVER8MQTT2D9+vX4+OOPYbPZYLPZcOzYMbfq7rNnz0aFChXwww8/oGHDhihTpgwefPBBXLp0CXPmzEHt2rVRsWJFDBo0CPn5+QXbz83NxSuvvIJrrrkGZcuWRdu2bbFu3Tqf+fr+++9x5513Ijo6WnP5qFGjUKtWLURHRyMhIQEvvviiGaeDiIio0GJJOhERURHw8ccf49ChQ2jatCnGjBkDAKhatSqOHTvmljY7OxuTJ0/GggULkJWVhV69eqFXr16oUKECVqxYgSNHjuCBBx7AzTffjN69ewMAnnzySRw7dgwLFixAQkIClixZgrvuugt79uxB/fr1PeZr2bJleOmllzSXfffdd5g4cSIWLFiAJk2aIDU1Fbt27Qr8ZBARERViDNKJiIiKgNjYWERFRaFMmTI+q7fn5eVh2rRpqFu3LgDgwQcfxLx583DmzBnExMSgcePG6NSpE9auXYvevXvj8OHD+Prrr3Hy5EkkJCQAAIYPH46VK1di1qxZeO+99zT3c+rUKezatQt333235vLk5GRUr14dXbp0QWRkJGrVqoUbb7wxgLNARERU+LG6OxERUTFTpkyZggAdAOLi4lC7dm3ExMQ4zUtLSwMA/PnnnxBCoEGDBoiJiSmY1q9fj8OHD3vcz7Jly3DTTTehUqVKmssfeughXL58Gddeey2eeeYZLFmyBFevXjXpKImIiAonlqQTEREVM5GRkU6vbTab5jy73Q4AsNvtiIiIwPbt2xEREeGUTh3Yu1q2bBnuvfdej8tr1qyJgwcPIikpCatXr8bzzz+PDz/8EOvXr3fLDxERUXHBIJ2IiKiIiIqKcurszSytWrVCfn4+0tLScMstt+ha5+LFi1i7di2mTJniNV3p0qXRs2dP9OzZEy+88AIaNWqEPXv24Prrrzcj60RERIUOg3QiIqIionbt2vj9999x7NgxxMTEeKxmblSDBg3Qp08fPP744xg/fjxatWqFs2fP4pdffkGzZs0025yvXLkS9evXx7XXXutxu7Nnz0Z+fj7atm2LMmXKYN68eShdujQSExNNyTcREVFhxDbpRERERcTw4cMRERGBxo0bo2rVqkhOTjZt27NmzcLjjz+OYcOGoWHDhujZsyd+//131KxZUzP9999/77WqOwBUqFABn332GW666SY0b94ca9aswfLly1G5cmXT8k1ERFTY2IQQwupMEBERUdGRn5+PatWq4aeffmJv7URERAaxJJ2IiIhMlZ6ejiFDhuCGG26wOitERESFDkvSiYiIiIiIiMIES9KJiIiIiIiIwgSDdCIiIiIiIqIwwSCdiIiIiIiIKEwwSCciIiIiIiIKEwzSiYiIiIiIiMIEg3QiIiIiIiKiMMEgnYiIiIiIiChMMEgnIiIiIiIiChMM0omIiIiIiIjCxP8DlbFjUjXi3BAAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# get example finger tapping dataset\n", "\n", "rec = datasets.get_fingertapping()\n", "rec[\"od\"] = cedalion.nirs.int2od(rec[\"amp\"])\n", "\n", "# Plot some data for visual validation\n", "f,ax = p.subplots(1,1, figsize=(12,4))\n", "ax.plot( rec[\"amp\"].time, rec[\"amp\"].sel(channel=\"S3D3\", wavelength=\"850\"), \"r-\", label=\"850nm\")\n", "ax.plot( rec[\"amp\"].time, rec[\"amp\"].sel(channel=\"S3D3\", wavelength=\"760\"), \"r-\", label=\"760nm\")\n", "p.legend()\n", "ax.set_xlabel(\"time / s\")\n", "ax.set_ylabel(\"Signal intensity / a.u.\")\n", "\n", "display(rec[\"amp\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calculating Signal Quality Metrics and applying Masks\n", "\n", "To assess channel quality metrics such as SNR, channel distances, average amplitudes, sci, and others, we use small helper functions. \n", "As input, the quality functions should also expect thresholds for these metrics, so they can feed back both the calculated quality metrics as well as a mask. The masks can then be combined and applied - e.g. to prune channels with low SNR.\n", "The input and output arguments are based on xarray time series, quality parameters / instructions for thresholding. \n", "The returned mask is a boolean array in the shape and size of the input time series. It indicates where the threshold for our quality metric was passed (\"True\") and is False otherwise.\n", "Masks can be combined with other masks, for instance to apply several metrics to assess or prune channels. At any point in time, the mask can be applied using the \"apply_mask()\" function available from cedalion's the xrutils package. \n", "\n", "If you are a user who is mainly interested in high-level application, you can skip to the Section \"***Channel Pruning using Quality Metrics and the Pruning Function***\" below. The \"prune_ch()\" function provides a higher abstraction layer to simply prune your data, using the same metrics and functions that are demonstrated below. \n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Channel Quality Metrics: SNR" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2024-09-02T16:02:07.147698Z", "iopub.status.busy": "2024-09-02T16:02:07.147353Z", "iopub.status.idle": "2024-09-02T16:02:07.184554Z", "shell.execute_reply": "2024-09-02T16:02:07.184088Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mask collapsed to channel dimension\n", "channels that were masked according to the SNR threshold: ['S4D4' 'S5D7' 'S6D8' 'S8D8']\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (channel: 24, wavelength: 2, time: 23239)> Size: 9MB\n",
       "<Quantity([[[0.0913686 0.0909875 0.0910225 ... 0.0941083 0.0940129 0.0944882]\n",
       "  [0.1856806 0.186377  0.1836514 ... 0.1856486 0.1850836 0.1842172]]\n",
       "\n",
       " [[0.227516  0.2297024 0.2261366 ... 0.2264519 0.2271665 0.226713 ]\n",
       "  [0.6354927 0.637668  0.6298023 ... 0.6072068 0.6087293 0.6091066]]\n",
       "\n",
       " [[0.1064704 0.1066212 0.1053444 ... 0.121114  0.1205022 0.1205441]\n",
       "  [0.2755033 0.2761615 0.2727006 ... 0.2911952 0.2900544 0.2909847]]\n",
       "\n",
       " ...\n",
       "\n",
       " [[0.187484  0.1868235 0.1866562 ... 0.1735965 0.1736705 0.1738339]\n",
       "  [0.2424386 0.241503  0.2408491 ... 0.22303   0.2229887 0.2234081]]\n",
       "\n",
       " [[0.2027881 0.1996586 0.2004866 ... 0.2318743 0.2311941 0.2330808]\n",
       "  [0.4666358 0.4554404 0.4561614 ... 0.4809749 0.4812827 0.4862896]]\n",
       "\n",
       " [[0.6304559 0.6284427 0.6287045 ... 0.6810626 0.6809573 0.6818709]\n",
       "  [1.2285622 1.2205907 1.2190002 ... 1.2729124 1.2727222 1.2755645]]], 'volt')>\n",
       "Coordinates:\n",
       "  * time        (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n",
       "    samples     (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238\n",
       "  * channel     (channel) object 192B 'S1D1' 'S1D2' 'S1D3' ... 'S8D7' 'S8D16'\n",
       "    source      (channel) object 192B 'S1' 'S1' 'S1' 'S1' ... 'S7' 'S8' 'S8'\n",
       "    detector    (channel) object 192B 'D1' 'D2' 'D3' 'D9' ... 'D15' 'D7' 'D16'\n",
       "  * wavelength  (wavelength) float64 16B 760.0 850.0\n",
       "Attributes:\n",
       "    data_type_group:  unprocessed raw
" ], "text/plain": [ " Size: 9MB\n", "\n", "Coordinates:\n", " * time (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n", " samples (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238\n", " * channel (channel) object 192B 'S1D1' 'S1D2' 'S1D3' ... 'S8D7' 'S8D16'\n", " source (channel) object 192B 'S1' 'S1' 'S1' 'S1' ... 'S7' 'S8' 'S8'\n", " detector (channel) object 192B 'D1' 'D2' 'D3' 'D9' ... 'D15' 'D7' 'D16'\n", " * wavelength (wavelength) float64 16B 760.0 850.0\n", "Attributes:\n", " data_type_group: unprocessed raw" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Here we assess channel quality by SNR\n", "snr_thresh = 16 # the SNR (std/mean) of a channel. Set high here for demonstration purposes\n", "\n", "# SNR thresholding using the \"snr\" function of the quality subpackage\n", "snr, snr_mask = quality.snr(rec[\"amp\"], snr_thresh)\n", "\n", "# apply mask function. In this example, we want all signals with an SNR below the threshold to be replaced with \"nan\". \n", "# We do not want to collapse / combine any dimension of the mask (last argument: \"none\")\n", "data_masked_snr_1, masked_elements_1 = xrutils.apply_mask(rec[\"amp\"], snr_mask, \"nan\", \"none\")\n", "\n", "# alternatively, we can \"drop\" all channels with an SNR below the threshold. Since the SNR of both wavelength might differ\n", "# (pass the threshold for one wavelength, but not for the other), we collapse to the \"channel\" dimension.\n", "data_masked_snr_2, masked_elements_2 = xrutils.apply_mask(rec[\"amp\"], snr_mask, \"drop\", \"channel\")\n", "\n", "# show some results\n", "print(f\"channels that were masked according to the SNR threshold: {masked_elements_2}\")\n", "\n", "# dropped:\n", "data_masked_snr_2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Channel Quality Metrics: Channel Distance" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2024-09-02T16:02:07.186670Z", "iopub.status.busy": "2024-09-02T16:02:07.186319Z", "iopub.status.idle": "2024-09-02T16:02:07.218801Z", "shell.execute_reply": "2024-09-02T16:02:07.218293Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "channel distances are: Size: 224B\n", "\n", "Coordinates:\n", " * channel (channel) object 224B 'S1D1' 'S1D2' 'S1D3' ... 'S8D8' 'S8D16'\n", " source (channel) object 224B 'S1' 'S1' 'S1' 'S1' ... 'S7' 'S8' 'S8' 'S8'\n", " detector (channel) object 224B 'D1' 'D2' 'D3' 'D9' ... 'D7' 'D8' 'D16'\n", "mask collapsed to channel dimension\n", "channels that were masked according to the SD Distance thresholds: ['S1D9' 'S2D10' 'S3D11' 'S4D12' 'S5D13' 'S6D14' 'S7D15' 'S8D16']\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (channel: 20, wavelength: 2, time: 23239)> Size: 7MB\n",
       "<Quantity([[[0.0913686 0.0909875 0.0910225 ... 0.0941083 0.0940129 0.0944882]\n",
       "  [0.1856806 0.186377  0.1836514 ... 0.1856486 0.1850836 0.1842172]]\n",
       "\n",
       " [[0.227516  0.2297024 0.2261366 ... 0.2264519 0.2271665 0.226713 ]\n",
       "  [0.6354927 0.637668  0.6298023 ... 0.6072068 0.6087293 0.6091066]]\n",
       "\n",
       " [[0.1064704 0.1066212 0.1053444 ... 0.121114  0.1205022 0.1205441]\n",
       "  [0.2755033 0.2761615 0.2727006 ... 0.2911952 0.2900544 0.2909847]]\n",
       "\n",
       " ...\n",
       "\n",
       " [[0.2225884 0.2187791 0.2195495 ... 0.2564863 0.2551258 0.2560233]\n",
       "  [0.3994258 0.3917637 0.389261  ... 0.4304597 0.430814  0.4331249]]\n",
       "\n",
       " [[0.2027881 0.1996586 0.2004866 ... 0.2318743 0.2311941 0.2330808]\n",
       "  [0.4666358 0.4554404 0.4561614 ... 0.4809749 0.4812827 0.4862896]]\n",
       "\n",
       " [[0.4885007 0.4802285 0.4818338 ... 0.6109142 0.6108118 0.613845 ]\n",
       "  [0.8457658 0.825988  0.8259648 ... 0.975894  0.9756599 0.9826459]]], 'volt')>\n",
       "Coordinates:\n",
       "  * time        (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n",
       "    samples     (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238\n",
       "  * channel     (channel) object 160B 'S1D1' 'S1D2' 'S1D3' ... 'S8D7' 'S8D8'\n",
       "    source      (channel) object 160B 'S1' 'S1' 'S1' 'S2' ... 'S7' 'S8' 'S8'\n",
       "    detector    (channel) object 160B 'D1' 'D2' 'D3' 'D1' ... 'D7' 'D7' 'D8'\n",
       "  * wavelength  (wavelength) float64 16B 760.0 850.0\n",
       "Attributes:\n",
       "    data_type_group:  unprocessed raw
" ], "text/plain": [ " Size: 7MB\n", "\n", "Coordinates:\n", " * time (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n", " samples (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238\n", " * channel (channel) object 160B 'S1D1' 'S1D2' 'S1D3' ... 'S8D7' 'S8D8'\n", " source (channel) object 160B 'S1' 'S1' 'S1' 'S2' ... 'S7' 'S8' 'S8'\n", " detector (channel) object 160B 'D1' 'D2' 'D3' 'D1' ... 'D7' 'D7' 'D8'\n", " * wavelength (wavelength) float64 16B 760.0 850.0\n", "Attributes:\n", " data_type_group: unprocessed raw" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Here we assess channel distances. We might want to exclude very short or very long channels\n", "sd_threshs = [1, 4.5]*units.cm # defines the lower and upper bounds for the source-detector separation that we would like to keep\n", "\n", "# Source Detector Separation thresholding\n", "ch_dist, sd_mask = quality.sd_dist(rec[\"amp\"], rec.geo3d, sd_threshs)\n", "# print the channel distances\n", "print(f\"channel distances are: {ch_dist}\")\n", "\n", "# apply mask function. In this example, we want to \"drop\" all channels that do not fall inside sd_threshs \n", "# i.e. drop channels shorter than 1cm and longer than 4.5cm. We want to collapse along the \"channel\" dimension.\n", "data_masked_sd, masked_elements = xrutils.apply_mask(rec[\"amp\"], sd_mask, \"drop\", \"channel\")\n", "\n", "# display the resultings\n", "print(f\"channels that were masked according to the SD Distance thresholds: {masked_elements}\")\n", "data_masked_sd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Channel Quality Metrics: Mean Amplitudes" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2024-09-02T16:02:07.220812Z", "iopub.status.busy": "2024-09-02T16:02:07.220428Z", "iopub.status.idle": "2024-09-02T16:02:07.245627Z", "shell.execute_reply": "2024-09-02T16:02:07.245111Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mask collapsed to channel dimension\n", "channels that were masked according to the amplitude threshold: ['S1D1' 'S1D9' 'S3D2' 'S6D8' 'S7D6']\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (channel: 23, wavelength: 2, time: 23239)> Size: 9MB\n",
       "<Quantity([[[0.227516  0.2297024 0.2261366 ... 0.2264519 0.2271665 0.226713 ]\n",
       "  [0.6354927 0.637668  0.6298023 ... 0.6072068 0.6087293 0.6091066]]\n",
       "\n",
       " [[0.1064704 0.1066212 0.1053444 ... 0.121114  0.1205022 0.1205441]\n",
       "  [0.2755033 0.2761615 0.2727006 ... 0.2911952 0.2900544 0.2909847]]\n",
       "\n",
       " [[0.5512474 0.5510672 0.5476283 ... 0.6179242 0.6188702 0.6187721]\n",
       "  [1.125532  1.1238331 1.1119423 ... 1.1817728 1.1819598 1.1832658]]\n",
       "\n",
       " ...\n",
       "\n",
       " [[0.2027881 0.1996586 0.2004866 ... 0.2318743 0.2311941 0.2330808]\n",
       "  [0.4666358 0.4554404 0.4561614 ... 0.4809749 0.4812827 0.4862896]]\n",
       "\n",
       " [[0.4885007 0.4802285 0.4818338 ... 0.6109142 0.6108118 0.613845 ]\n",
       "  [0.8457658 0.825988  0.8259648 ... 0.975894  0.9756599 0.9826459]]\n",
       "\n",
       " [[0.6304559 0.6284427 0.6287045 ... 0.6810626 0.6809573 0.6818709]\n",
       "  [1.2285622 1.2205907 1.2190002 ... 1.2729124 1.2727222 1.2755645]]], 'volt')>\n",
       "Coordinates:\n",
       "  * time        (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n",
       "    samples     (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238\n",
       "  * channel     (channel) object 184B 'S1D2' 'S1D3' 'S2D1' ... 'S8D8' 'S8D16'\n",
       "    source      (channel) object 184B 'S1' 'S1' 'S2' 'S2' ... 'S8' 'S8' 'S8'\n",
       "    detector    (channel) object 184B 'D2' 'D3' 'D1' 'D3' ... 'D7' 'D8' 'D16'\n",
       "  * wavelength  (wavelength) float64 16B 760.0 850.0\n",
       "Attributes:\n",
       "    data_type_group:  unprocessed raw
" ], "text/plain": [ " Size: 9MB\n", "\n", "Coordinates:\n", " * time (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n", " samples (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238\n", " * channel (channel) object 184B 'S1D2' 'S1D3' 'S2D1' ... 'S8D8' 'S8D16'\n", " source (channel) object 184B 'S1' 'S1' 'S2' 'S2' ... 'S8' 'S8' 'S8'\n", " detector (channel) object 184B 'D2' 'D3' 'D1' 'D3' ... 'D7' 'D8' 'D16'\n", " * wavelength (wavelength) float64 16B 760.0 850.0\n", "Attributes:\n", " data_type_group: unprocessed raw" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Here we assess average channel amplitudes. We might want to exclude very small or large signals\n", "amp_threshs = [0.1, 3]*units.volt # define whether a channel's amplitude is within a certain range\n", "\n", "# Amplitude thresholding\n", "mean_amp, amp_mask = quality.mean_amp(rec[\"amp\"], amp_threshs)\n", "\n", "# apply mask function. In this example, we want drop all channels that do not fall inside the amplitude thresholds. \n", "# We collapse to the \"channel\" dimension.\n", "data_masked_amp, masked_elements = xrutils.apply_mask(rec[\"amp\"], amp_mask, \"drop\", \"channel\")\n", "\n", "# display the results\n", "print(f\"channels that were masked according to the amplitude threshold: {masked_elements}\")\n", "data_masked_amp\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Channel Pruning using Quality Metrics and the Pruning Function\n", "\n", "To prune channels according to quality criteria, we do not have to manually go through the steps above. Instead, we can create quality masks for the metrics that we are interested in and hand them to a dedicated channel pruning function. The prune function expects a list of quality masks alongside a logical operator that defines how these masks should be combined." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2024-09-02T16:02:07.247614Z", "iopub.status.busy": "2024-09-02T16:02:07.247446Z", "iopub.status.idle": "2024-09-02T16:02:07.288573Z", "shell.execute_reply": "2024-09-02T16:02:07.288030Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mask collapsed to channel dimension\n", "List of pruned channels: ['S1D1' 'S1D9' 'S2D10' 'S3D2' 'S3D11' 'S4D4' 'S4D12' 'S5D7' 'S5D13' 'S6D8'\n", " 'S6D14' 'S7D6' 'S7D15' 'S8D8' 'S8D16']\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (channel: 13, wavelength: 2, time: 23239)> Size: 5MB\n",
       "<Quantity([[[0.227516  0.2297024 0.2261366 ... 0.2264519 0.2271665 0.226713 ]\n",
       "  [0.6354927 0.637668  0.6298023 ... 0.6072068 0.6087293 0.6091066]]\n",
       "\n",
       " [[0.1064704 0.1066212 0.1053444 ... 0.121114  0.1205022 0.1205441]\n",
       "  [0.2755033 0.2761615 0.2727006 ... 0.2911952 0.2900544 0.2909847]]\n",
       "\n",
       " [[0.5512474 0.5510672 0.5476283 ... 0.6179242 0.6188702 0.6187721]\n",
       "  [1.125532  1.1238331 1.1119423 ... 1.1817728 1.1819598 1.1832658]]\n",
       "\n",
       " ...\n",
       "\n",
       " [[0.3463254 0.3424951 0.3408207 ... 0.3929267 0.3941368 0.3945422]\n",
       "  [0.6978315 0.6875081 0.6857653 ... 0.7259991 0.7271688 0.7292138]]\n",
       "\n",
       " [[0.2225884 0.2187791 0.2195495 ... 0.2564863 0.2551258 0.2560233]\n",
       "  [0.3994258 0.3917637 0.389261  ... 0.4304597 0.430814  0.4331249]]\n",
       "\n",
       " [[0.2027881 0.1996586 0.2004866 ... 0.2318743 0.2311941 0.2330808]\n",
       "  [0.4666358 0.4554404 0.4561614 ... 0.4809749 0.4812827 0.4862896]]], 'volt')>\n",
       "Coordinates:\n",
       "  * time        (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n",
       "    samples     (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238\n",
       "  * channel     (channel) object 104B 'S1D2' 'S1D3' 'S2D1' ... 'S7D7' 'S8D7'\n",
       "    source      (channel) object 104B 'S1' 'S1' 'S2' 'S2' ... 'S6' 'S7' 'S8'\n",
       "    detector    (channel) object 104B 'D2' 'D3' 'D1' 'D3' ... 'D7' 'D7' 'D7'\n",
       "  * wavelength  (wavelength) float64 16B 760.0 850.0\n",
       "Attributes:\n",
       "    data_type_group:  unprocessed raw
" ], "text/plain": [ " Size: 5MB\n", "\n", "Coordinates:\n", " * time (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n", " samples (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238\n", " * channel (channel) object 104B 'S1D2' 'S1D3' 'S2D1' ... 'S7D7' 'S8D7'\n", " source (channel) object 104B 'S1' 'S1' 'S2' 'S2' ... 'S6' 'S7' 'S8'\n", " detector (channel) object 104B 'D2' 'D3' 'D1' 'D3' ... 'D7' 'D7' 'D7'\n", " * wavelength (wavelength) float64 16B 760.0 850.0\n", "Attributes:\n", " data_type_group: unprocessed raw" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# as above we use three metrics and define thresholds accordingly\n", "snr_thresh = 16 # the SNR (std/mean) of a channel. \n", "sd_threshs = [1, 4.5]*units.cm # defines the lower and upper bounds for the source-detector separation that we would like to keep\n", "amp_threshs = [0.1, 3]*units.volt # define whether a channel's amplitude is within a certain range\n", "\n", "# then we calculate the masks for each metric: SNR, SD distance and mean amplitude\n", "_, snr_mask = quality.snr(rec[\"amp\"], snr_thresh)\n", "_, sd_mask = quality.sd_dist(rec[\"amp\"], rec.geo3d, sd_threshs)\n", "_, amp_mask = quality.mean_amp(rec[\"amp\"], amp_threshs)\n", "\n", "# put all masks in a list\n", "masks = [snr_mask, sd_mask, amp_mask]\n", "\n", "# prune channels using the masks and the operator \"all\", which will keep only channels that pass all three metrics\n", "amp_pruned, drop_list = quality.prune_ch(rec[\"amp\"], masks, \"all\")\n", "\n", "# print list of dropped channels\n", "print(f\"List of pruned channels: {drop_list}\")\n", "# display the new data xarray\n", "amp_pruned" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Motion Artefact Detection\n", "The same xarray-based masks can be used for indicating motion-artefacts. The example below shows how to checks channels for motion artefacts using standard thresholds from Homer2/3. The output is a mask that can be handed to motion correction algorithms" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Detecting Motion Artifacts and generating the MA mask" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2024-09-02T16:02:07.290438Z", "iopub.status.busy": "2024-09-02T16:02:07.290276Z", "iopub.status.idle": "2024-09-02T16:02:07.391285Z", "shell.execute_reply": "2024-09-02T16:02:07.390750Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/runner/micromamba/envs/cedalion/lib/python3.11/site-packages/xarray/core/variable.py:338: UnitStrippedWarning: The unit of the quantity is stripped when downcasting to ndarray.\n", " data = np.asarray(data)\n", "/home/runner/micromamba/envs/cedalion/lib/python3.11/site-packages/xarray/core/variable.py:338: UnitStrippedWarning: The unit of the quantity is stripped when downcasting to ndarray.\n", " data = np.asarray(data)\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (channel: 28, wavelength: 2, time: 23239)> Size: 1MB\n",
       "array([[[ True,  True,  True, ...,  True,  True,  True],\n",
       "        [ True,  True,  True, ...,  True,  True,  True]],\n",
       "\n",
       "       [[ True,  True,  True, ...,  True,  True,  True],\n",
       "        [ True,  True,  True, ...,  True,  True,  True]],\n",
       "\n",
       "       [[ True,  True,  True, ...,  True,  True,  True],\n",
       "        [ True,  True,  True, ...,  True,  True,  True]],\n",
       "\n",
       "       ...,\n",
       "\n",
       "       [[ True,  True,  True, ...,  True,  True,  True],\n",
       "        [ True,  True,  True, ...,  True,  True,  True]],\n",
       "\n",
       "       [[ True,  True,  True, ...,  True,  True,  True],\n",
       "        [ True,  True,  True, ...,  True,  True,  True]],\n",
       "\n",
       "       [[ True,  True,  True, ...,  True,  True,  True],\n",
       "        [False, False, False, ...,  True,  True,  True]]])\n",
       "Coordinates:\n",
       "  * time        (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n",
       "    samples     (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238\n",
       "  * channel     (channel) object 224B 'S1D1' 'S1D2' 'S1D3' ... 'S8D8' 'S8D16'\n",
       "    source      (channel) object 224B 'S1' 'S1' 'S1' 'S1' ... 'S8' 'S8' 'S8'\n",
       "    detector    (channel) object 224B 'D1' 'D2' 'D3' 'D9' ... 'D7' 'D8' 'D16'\n",
       "  * wavelength  (wavelength) float64 16B 760.0 850.0
" ], "text/plain": [ " Size: 1MB\n", "array([[[ True, True, True, ..., True, True, True],\n", " [ True, True, True, ..., True, True, True]],\n", "\n", " [[ True, True, True, ..., True, True, True],\n", " [ True, True, True, ..., True, True, True]],\n", "\n", " [[ True, True, True, ..., True, True, True],\n", " [ True, True, True, ..., True, True, True]],\n", "\n", " ...,\n", "\n", " [[ True, True, True, ..., True, True, True],\n", " [ True, True, True, ..., True, True, True]],\n", "\n", " [[ True, True, True, ..., True, True, True],\n", " [ True, True, True, ..., True, True, True]],\n", "\n", " [[ True, True, True, ..., True, True, True],\n", " [False, False, False, ..., True, True, True]]])\n", "Coordinates:\n", " * time (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n", " samples (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238\n", " * channel (channel) object 224B 'S1D1' 'S1D2' 'S1D3' ... 'S8D8' 'S8D16'\n", " source (channel) object 224B 'S1' 'S1' 'S1' 'S1' ... 'S8' 'S8' 'S8'\n", " detector (channel) object 224B 'D1' 'D2' 'D3' 'D9' ... 'D7' 'D8' 'D16'\n", " * wavelength (wavelength) float64 16B 760.0 850.0" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# we use Optical Density data for motion artifact detection\n", "fNIRSdata = rec[\"od\"]\n", "\n", "# define parameters for motion artifact detection. We follow the method from Homer2/3: \"hmrR_MotionArtifactByChannel\" and \"hmrR_MotionArtifact\".\n", "t_motion = 0.5*units.s # time window for motion artifact detection\n", "t_mask = 1.0*units.s # time window for masking motion artifacts (+- t_mask s before/after detected motion artifact)\n", "stdev_thresh = 4.0 # threshold for standard deviation of the signal used to detect motion artifacts. Default is 50. We set it very low to find something in our good data for demonstration purposes.\n", "amp_thresh = 5.0 # threshold for amplitude of the signal used to detect motion artifacts. Default is 5.\n", "\n", "# to identify motion artifacts with these parameters we call the following function\n", "ma_mask = quality.id_motion(fNIRSdata, t_motion, t_mask, stdev_thresh, amp_thresh)\n", "# it hands us a boolean mask (xarray) of the input dimension, where False indicates a motion artifact at a given time point.\n", "\n", "# show the masks data\n", "ma_mask" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The output mask is quite detailed and still contains all original dimensions (e.g. single wavelengths) and allows us to combine it with a mask from another motion artifact detection method. This is the same approach as for the channel quality metrics above.\n", "\n", "Let us now plot the result for an example channel. Note, that for both wavelengths a different number of artifacts was identified, which can sometimes happen:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2024-09-02T16:02:07.393187Z", "iopub.status.busy": "2024-09-02T16:02:07.393018Z", "iopub.status.idle": "2024-09-02T16:02:07.464400Z", "shell.execute_reply": "2024-09-02T16:02:07.463943Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p.figure()\n", "p.plot(ma_mask.sel(time=slice(0,250)).time, ma_mask.sel(channel=\"S3D3\", wavelength=\"760\", time=slice(0,250)), \"b-\")\n", "p.plot(ma_mask.sel(time=slice(0,250)).time, ma_mask.sel(channel=\"S3D3\", wavelength=\"850\", time=slice(0,250)), \"r-\")\n", "p.xlabel(\"time / s\")\n", "p.ylabel(\"Motion artifact mask\")\n", "p.show() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our example dataset is very clean. So we artificially detected motion artifacts with a very low threshold. Plotting the mask and the data together (we have to rescale a bit to make both fit): " ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2024-09-02T16:02:07.466216Z", "iopub.status.busy": "2024-09-02T16:02:07.466051Z", "iopub.status.idle": "2024-09-02T16:02:07.545639Z", "shell.execute_reply": "2024-09-02T16:02:07.545200Z" } }, "outputs": [ { "data": { "image/png": "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byIiIhAbGxuw7R85cgSZmZlo0aJFwNJARMZiDhARWcZzzz2HLVu24KOPPoLNZoPNZsPp06fdisAWLlyIokWL4rvvvkO1atUQHR2Nbt264dq1a1i0aBEqVqyIYsWK4dVXX0V2drZj/bdu3cJ//vMf3HXXXShYsCAaNWqEzZs3e03Xt99+i9atWyMyMlL28zFjxqB8+fKIjIxEXFwcBgwYYMTuICITMQeIiCzjo48+wvHjx5GYmIixY8cCAEqVKoXTp0+7zXv9+nVMmzYNy5Ytw5UrV9ClSxd06dIFRYsWRXJyMk6ePImuXbvigQceQPfu3QEAzz//PE6fPo1ly5YhLi4OK1euRJs2bXD06FHcfffdiulatWoVBg4cKPvZV199hSlTpmDZsmWoVasW0tLScPjwYd93BhGZigEQEVlGTEwMIiIiEB0d7bXI6/bt25g1axYqV64MAOjWrRs+/fRT/O9//0OhQoVQs2ZNtGjRAps2bUL37t3x559/YunSpfjrr78QFxcHABg2bBjWrFmDBQsW4L333pPdzrlz53D48GE8+uijsp+npKQgNjYWjzzyCPLnz4/y5cvj3nvv9WEvEJE/sAiMiIJSdHS0I/gBgDJlyqBixYooVKiQ07T09HQAwIEDByAIAqpWrYpChQo5/rZs2YI///xTcTurVq3C/fffj+LFi8t+/vjjj+Pff/9FpUqV0KdPH6xcuRJZWVkGfUsiMgtzgIgoKOXPn9/pvc1mk52Wk5MDAMjJyUF4eDj279+P8PBwp/mkQZOrVatWoVOnToqfx8fH4/fff8f69evx448/ol+/fvjwww+xZcsWt/QQkXUwACIiS4mIiHCquGyUevXqITs7G+np6WjatKmqZa5evYpNmzZhxowZHucrUKAAOnbsiI4dO+KVV15B9erVcfToUdSvX9+IpBORCRgAEZGlVKxYEbt378bp06dRqFAhxaInrapWrYoePXqgV69emDRpEurVq4eMjAxs3LgRtWvXlq3js2bNGtx9992oVKmS4noXLlyI7OxsNGrUCNHR0fj0009RoEABVKhQwZB0E5E5WAeIiCxl2LBhCA8PR82aNVGqVCmkpKQYtu4FCxagV69eGDp0KKpVq4aOHTti9+7diI+Pl53/22+/9Vj8BQBFixbF3Llzcf/996NOnTrYsGEDVq9ejRIlShiWbiIynk0QBCHQiSAisprs7GyULl0aP/zwA1t1EeVBzAEiIpKRmZmJwYMHo2HDhoFOChGZgDlAREREFHKYA0REREQhhwEQERERhRwGQERERBRyGAARERFRyGEARERERCGHARARERGFHAZAREREFHIYABEREVHIYQBEREREIef/Ad2+42xK/7CIAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p.figure()\n", "p.plot(fNIRSdata.sel(time=slice(0,250)).time, fNIRSdata.sel(channel=\"S3D3\", wavelength=\"760\", time=slice(0,250)), \"r-\")\n", "p.plot(ma_mask.sel(time=slice(0,250)).time, ma_mask.sel(channel=\"S3D3\", wavelength=\"850\", time=slice(0,250))/10, \"k-\")\n", "p.xlabel(\"time / s\")\n", "p.ylabel(\"fNIRS Signal / Motion artifact mask\")\n", "p.show() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Refining the MA Mask\n", "At the latest when we want to correct motion artifacts, we usually do not need the level of granularity that the mask provides. For instance, we usually want to treat a detected motion artifact in either of both wavelengths or chromophores of one channel as a single artifact that gets flagged for both. We might also want to flag motion artifacts globally, i.e. mask time points for all channels even if only some of them show an artifact. This can easily be done by using the \"id_motion_refine\" function. The function also returns useful information about motion artifacts in each channel in \"ma_info\"" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2024-09-02T16:02:07.547592Z", "iopub.status.busy": "2024-09-02T16:02:07.547426Z", "iopub.status.idle": "2024-09-02T16:02:07.591052Z", "shell.execute_reply": "2024-09-02T16:02:07.590588Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (channel: 28, time: 23239)> Size: 651kB\n",
       "array([[ True,  True,  True, ...,  True,  True,  True],\n",
       "       [ True,  True,  True, ...,  True,  True,  True],\n",
       "       [ True,  True,  True, ...,  True,  True,  True],\n",
       "       ...,\n",
       "       [ True,  True,  True, ...,  True,  True,  True],\n",
       "       [ True,  True,  True, ...,  True,  True,  True],\n",
       "       [False, False, False, ...,  True,  True,  True]])\n",
       "Coordinates:\n",
       "  * time      (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n",
       "    samples   (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238\n",
       "  * channel   (channel) object 224B 'S1D1' 'S1D2' 'S1D3' ... 'S8D8' 'S8D16'\n",
       "    source    (channel) object 224B 'S1' 'S1' 'S1' 'S1' ... 'S7' 'S8' 'S8' 'S8'\n",
       "    detector  (channel) object 224B 'D1' 'D2' 'D3' 'D9' ... 'D7' 'D8' 'D16'
" ], "text/plain": [ " Size: 651kB\n", "array([[ True, True, True, ..., True, True, True],\n", " [ True, True, True, ..., True, True, True],\n", " [ True, True, True, ..., True, True, True],\n", " ...,\n", " [ True, True, True, ..., True, True, True],\n", " [ True, True, True, ..., True, True, True],\n", " [False, False, False, ..., True, True, True]])\n", "Coordinates:\n", " * time (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n", " samples (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238\n", " * channel (channel) object 224B 'S1D1' 'S1D2' 'S1D3' ... 'S8D8' 'S8D16'\n", " source (channel) object 224B 'S1' 'S1' 'S1' 'S1' ... 'S7' 'S8' 'S8' 'S8'\n", " detector (channel) object 224B 'D1' 'D2' 'D3' 'D9' ... 'D7' 'D8' 'D16'" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# refine the motion artifact mask. This function collapses the mask along dimensions that are chosen by the \"operator\" argument.\n", "# Here we use \"by_channel\", which will yield a mask for each channel by collapsing the masks along either the wavelength or concentration dimension.\n", "ma_mask_refined, ma_info = quality.id_motion_refine(ma_mask, 'by_channel')\n", "\n", "# show the refined mask\n", "ma_mask_refined" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now the mask does not have the \"wavelength\" or \"concentration\" dimension anymore, and the masks of these dimensions are combined:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2024-09-02T16:02:07.592894Z", "iopub.status.busy": "2024-09-02T16:02:07.592728Z", "iopub.status.idle": "2024-09-02T16:02:07.676957Z", "shell.execute_reply": "2024-09-02T16:02:07.676539Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
channelma_fractionma_count
0S1D10.097379105
1S1D20.05585464
2S1D30.04010548
3S1D90.07014189
4S2D10.02216128
5S2D30.04143947
6S2D40.02689420
7S2D100.091484100
8S3D20.01325418
9S3D30.03588846
10S3D110.095142101
11S4D30.02392525
12S4D40.04230029
13S4D120.06644058
14S5D50.08137293
15S5D60.04802357
16S5D70.04406454
17S5D130.135075126
18S6D50.03162834
19S6D70.03765246
20S6D80.03773834
21S6D140.08675187
22S7D60.06226671
23S7D70.04815252
24S7D150.122079126
25S8D70.02883134
26S8D80.03076719
27S8D160.05503752
\n", "
" ], "text/plain": [ " channel ma_fraction ma_count\n", "0 S1D1 0.097379 105\n", "1 S1D2 0.055854 64\n", "2 S1D3 0.040105 48\n", "3 S1D9 0.070141 89\n", "4 S2D1 0.022161 28\n", "5 S2D3 0.041439 47\n", "6 S2D4 0.026894 20\n", "7 S2D10 0.091484 100\n", "8 S3D2 0.013254 18\n", "9 S3D3 0.035888 46\n", "10 S3D11 0.095142 101\n", "11 S4D3 0.023925 25\n", "12 S4D4 0.042300 29\n", "13 S4D12 0.066440 58\n", "14 S5D5 0.081372 93\n", "15 S5D6 0.048023 57\n", "16 S5D7 0.044064 54\n", "17 S5D13 0.135075 126\n", "18 S6D5 0.031628 34\n", "19 S6D7 0.037652 46\n", "20 S6D8 0.037738 34\n", "21 S6D14 0.086751 87\n", "22 S7D6 0.062266 71\n", "23 S7D7 0.048152 52\n", "24 S7D15 0.122079 126\n", "25 S8D7 0.028831 34\n", "26 S8D8 0.030767 19\n", "27 S8D16 0.055037 52" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# plot the figure\n", "\n", "p.figure()\n", "p.plot(fNIRSdata.sel(time=slice(0,250)).time, fNIRSdata.sel(channel=\"S3D3\", wavelength=\"760\", time=slice(0,250)), \"r-\")\n", "p.plot(ma_mask_refined.sel(time=slice(0,250)).time, ma_mask_refined.sel(channel=\"S3D3\", time=slice(0,250))/10, \"k-\")\n", "p.xlabel(\"time / s\")\n", "p.ylabel(\"fNIRS Signal / Refined Motion artifact mask\")\n", "p.show() \n", "\n", "# show the information about the motion artifacts: we get a pandas dataframe telling us \n", "# 1) for which channels artifacts were detected, \n", "# 2) what is the fraction of time points that were marked as artifacts and\n", "# 3) how many artifacts where detected \n", "ma_info" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we look at the \"all\" operator, which will collapse the mask across all dimensions except time, leading to a single motion artifact mask" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2024-09-02T16:02:07.678745Z", "iopub.status.busy": "2024-09-02T16:02:07.678588Z", "iopub.status.idle": "2024-09-02T16:02:07.713190Z", "shell.execute_reply": "2024-09-02T16:02:07.712767Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (time: 23239)> Size: 23kB\n",
       "array([False, False, False, ...,  True,  True,  True])\n",
       "Coordinates:\n",
       "  * time     (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n",
       "    samples  (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238
" ], "text/plain": [ " Size: 23kB\n", "array([False, False, False, ..., True, True, True])\n", "Coordinates:\n", " * time (time) float64 186kB 0.0 0.128 0.256 ... 2.974e+03 2.974e+03\n", " samples (time) int64 186kB 0 1 2 3 4 5 ... 23234 23235 23236 23237 23238" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# \"all\", yields a mask that flags an artifact at any given time if flagged for any channel, wavelength, chromophore, etc.\n", "ma_mask_refined, ma_info = quality.id_motion_refine(ma_mask, 'all')\n", "\n", "# show the refined mask\n", "ma_mask_refined" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2024-09-02T16:02:07.714888Z", "iopub.status.busy": "2024-09-02T16:02:07.714740Z", "iopub.status.idle": "2024-09-02T16:02:07.799268Z", "shell.execute_reply": "2024-09-02T16:02:07.798765Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAYAAABB4NqyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAACKKUlEQVR4nO2dd3gUVffHv5uQQightIRIS2gCAYSgSAdfadIUkIgICsj7C6iUiAUBUVARRNqrgFRBFPBVkGKkiHQQqdKLUoIheQMBAiGQQDK/P4bdzO7O7E65szuzez7Ps8/u3rnlTLtz5txz7rVwHMeBIAiCIAjCjwjwtgAEQRAEQRCehhQggiAIgiD8DlKACIIgCILwO0gBIgiCIAjC7yAFiCAIgiAIv4MUIIIgCIIg/A5SgAiCIAiC8DuKeFsAI1JQUIArV66gRIkSsFgs3haHIAiCIAgZcByH27dvIzo6GgEBrm08pACJcOXKFVSqVMnbYhAEQRAEoYLLly+jYsWKLvOQAiRCiRIlAPAHsGTJkl6WhiAIgiAIOdy6dQuVKlWyPcddQQqQCNZhr5IlS5ICRBAEQRAmQ477CjlBEwRBEAThd5ACRBAEQRCE30EKEEEQBEEQfgcpQARBEARB+B2kABEEQRAE4XeQAkQQBEEQhN9BChBBEARBEH4HKUAEQRAEQfgdpAARBEEQBOF3kAJEEARBEITf4XUFaPbs2YiJiUFoaCji4+Oxc+dOybxpaWl48cUXUatWLQQEBGDEiBGi+X788UfUqVMHISEhqFOnDlavXq2T9ARBEARBmBGvKkArV67EiBEjMGbMGBw+fBgtW7ZEp06dkJKSIpo/NzcX5cqVw5gxY9CgQQPRPHv37kVCQgL69euHP//8E/369UPv3r2xb98+PXeFIAiCIAgTYeE4jvNW402aNEGjRo0wZ84cW1rt2rXx7LPPYtKkSS7LtmnTBo899hhmzJhhl56QkIBbt27hl19+saV17NgRERERWL58uSy5bt26hfDwcGRlZZliMdScnBxcvXpVdFtERITTPuTk5CAzMxMVK1aUtWCckPz8fPzzzz+Ijo5GUFCQapndkZubi/T0dERGRiI0NFRR2Vu3buHGjRuqyhqdgoICXLt2DeXLl/e2KLqTk5ODsLAwTXXcuHEDt27dsktjfe1euXIF9+/fBwBUqlQJAQHu3ys5jsPly5dh7X5LlCiB0qVL27ZnZmYiOzvbZR0BAQF293BeXh7S0tLs8lgsFlSqVEnxfe4JxPqtRx55BEWK0Brd7hBeH47XgRasfacYjteoKziOQ1ZWFkqVKiW6/fr167h9+zZCQkIQFRWlVlxRFD2/OS+Rm5vLBQYGcqtWrbJLHzZsGNeqVSu35Vu3bs0NHz7cKb1SpUrctGnT7NKmTZvGVa5cWbKue/fucVlZWbbP5cuXOQBcVlaWvJ3xIpmZmVypUqU4AKKfkJAQ7vjx47b8169ft+X/97//rbi9Fi1acAC4OnXqcPn5+Sx3xUZubi5XuXJlDgAXHR3N5eTkyC576tQpLjQ0lAPAVahQQVFZM9CxY0cOADdr1ixvi6IrQ4YM4QBwBw4cUF3Hzp07uSJFijjdE7Vr12Z27Y4bN86u7i5dusgql5CQYFcuMDCQ27x5M8dxHJecnMwFBARI3tPCz0svvcRxHMfl5eVxsbGxonn69u3LZF9ZcvXqVdF+q0GDBlxBQYG3xTM069evd7o+XnnlFc31nj592tZ3in0CAwO5TZs2yaqrT58+XGBgILdx40anbRs3buQCAwM5AFzTpk01y+1IVlaW7Oe314bArl27hvz8fERGRtqlR0ZGIj09XXW9VquBkjonTZqE8PBw26dSpUqq2/c0f/31F27evAkACA0NtftYLBbk5ubi+PHjovn379+vuL1du3YBAE6ePIm7d+9qll+MjIwM2zDolStXnN5qXXHs2DHcu3cPAO8zlpqaqouM3mLDhg0AgGXLlnlZEn2xWoUnTJiguo7Dhw/jwYMHCAgIQGhoKEJCQgAAp06dwp07d5jI+ccffwAAAgMDAci/p6zlgoODERAQgPz8fBw5cgQAcOjQIRQUFNjkFvtYLVjW9q5fv47z588DgGQeI3Hu3Dm7fst6bv7880+bNY0Q5+DBg7brg+U5tvadFovF6XpzvEbdsXz5cuTn52Pu3LlO2w4dOoT8/HwA/PXvTbzuBO1otuM4TrMpT2mdo0ePRlZWlu1z+fJlTe17g6pVq+Lu3bt2nzZt2nhbLILwOr169cLdu3dtD1w9SEpKUlVux44deOmll0S3DRo0yOmetn62bNkiWac1z2+//aZKJk8SGxuLu3fv4n//+5+3RTEdgwcPxsaNG5nX26JFC6frrV+/fqrqKigokNw2YMAAbNu2TaWUbPDaYGvZsmURGBjoZJnJyMhwsuAoISoqSnGdISEhtjcQgiAIgiB8H69ZgIKDgxEfH4/NmzfbpW/evBnNmjVTXW/Tpk2d6ty0aZOmOgmCIAiC8C286m6flJSEfv36oXHjxmjatCnmzZuHlJQUJCYmAuCHplJTU7F06VJbGesYZHZ2Nq5evYojR44gODgYderUAQAMHz4crVq1wuTJk9G9e3esWbMGv/76q813hSAIgiAIwqsKUEJCAjIzMzFhwgSkpaUhLi4OycnJqFKlCgDeidVxTqCGDRvafh88eBDfffcdqlSpgosXLwIAmjVrhhUrVmDs2LEYN24cqlWrhpUrV6JJkyYe2y9PwsmYxUCYR+q3Xm2zqFdJO1rKEr6Fq3PP6rpQe72J5bOmqbnePbGvLDGbvEbC1bXDul5vteMpvD7hwtChQzF06FDRbV9//bVTmpyD16tXL/Tq1UuraARBsOLUKeC994D33wcELzG+ghHn2SEII2OEe8brChDBBrGLyQgXGEEAADp1Ai5dApKTgdxcjzZtvQ/0vB/U1m2xWCTLuqpTThkz3P+eODe+iqtrR2u9ctJ8Aa+HwRME4QdcusR/5+V5Vw6CIIiHkAJEEARBEITfQQoQQRAEQRB+BylAJoeiwNiVJXwLigJTJpMnMZu8RoKiwNhBChBBEIRGfNVJlCD0wgj3DClAPoI/ee4ThBIoCsy4UBSYeigKTDukABEEQRAE4XeQAkQQBEEQhN9BCpDJISdodmXNhK/ulyNa9tOfnKC15jESZpPX0+jlBK22baX5jXR+SQEiCILQiLd9JIz0UJGD2eT1B/zxnJAC5CP4k+Ma4T/nlsV+euJY6eEEraY9szpBE8oxgxO0Gkd+T0IKEEEQfoEROlwlmE1eLfjTvhLGQbECtGzZMsltb731liZhCIIgCIIgPIFiBej111/H+vXrndJHjhzpUjkiCIIgCIIwCooVoBUrVuCll17Cjh07bGlvvPEGvv/+e2zdupWpcIR7KAqMXVnCQ3AckJwMXL6sczMUBaa0PiNgNnk9jZmiwPSqgxVFlBbo2LEj5s6di2effRabNm3CokWLsGbNGmzduhU1a9bUQ0aCIHyJdeuA7t353wbqDLXgbR8WIz1U5GA2ef0BT58Tb98zgAoFCABeeOEF3LhxAy1atEC5cuWwfft2VK9enbVshAIoCowwDVu2eLQ5igIzLmaQ0aiYIQrM6MhSgJKSkkTTy5cvj4YNG2L27Nm2tGnTprGRjCAI38RLb/9m68TNJq8W/GlfCeMgSwE6fPiwaHq1atVw69Yt23a6iAmCcMvSpd6WgCAIQp4CRM7NBEEwIyvL2xIQBEFonwjx1q1b+Omnn3D69GkW8hAKoSgwdmUJ38KfosA8sa8sMZu8RkKvKDBPRRQa6fwqVoB69+6NL774AgBw9+5dNG7cGL1790a9evXw448/MheQIAjC6NDwP0Eowwj3jGIFaMeOHWjZsiUAYPXq1eA4Djdv3sSsWbPw0UcfMReQkIc/ee4ThBKs94Ge94MeUWBq1lEyaxSYGWQ1GhQFph3FClBWVhZKly4NANiwYQN69uyJsLAwdO7cGefOnWMuIEEQBEEQBGsUK0CVKlXC3r17cefOHWzYsAHt27cHANy4cQOhoaHMBSQIgiAIgmCN4okQR4wYgb59+6J48eKoUqUK2rRpA4AfGqtXrx5r+Qg3kBM0u7Jmwlf3yxEt++lPTtBa8xgJs8nracy0FIY3ZZWDYgVo6NChaNKkCVJSUtCuXTsEBPBGpNjYWPIBIgiC8AJGeqjIwWzy+gP+eE5ULYURHx+P+Ph4u7TOnTszEYggCPeYyinx7FnVRc2yn2aRkyA8iRpHfk+iSgH6559/sHbtWqSkpCAvL89uGy2F4R38yXOfMBm1anm1eYoCMy4UBaYeigLTjmIFaMuWLejWrRtiYmJw5swZxMXF4eLFi+A4Do0aNdJDRoIgCIIgCKYojgIbPXo03nzzTRw/fhyhoaH48ccfcfnyZbRu3RrPP/+8HjISBGFW7t71tgQEQRCiKFaATp06hZdffhkAUKRIEdy9exfFixfHhAkTMHnyZOYCEq6hKDB2ZQkduHHDa01TFJgymYyC2eT1NGaKAtOrDlYoVoCKFSuG3NxcAEB0dDT+/vtv27Zr166xk4wgCPPjJxYgb/tIGOmhIgezyesPePqcePueAVT4AD355JPYvXs36tSpg86dO+PNN9/EsWPHsGrVKjz55JN6yEjIwJ8c1wgTUVDgbQk8ch/o4QStpj2zOkETyiEnaO0oVoCmTZuG7OxsAMAHH3yA7OxsrFy5EtWrV8f06dOZC0gQhInJz9e/jbQ0/uMmCMNsnbjZ5NWCP+0rYRwUK0CxsbG232FhYZg9ezZTgQiC8CE8YQGKjua/jx0D4uL0b48gCJ9A1TxAVrKzs1Hg0MGVLFlSk0AEQfgQnrAAWdmzhxQggiBko9gJ+sKFC+jcuTOKFSuG8PBwREREICIiAqVKlUJERIQeMhIuoCgwdmUJHfCkD5CCc09RYMbFbPJ6GooCY4diC1Dfvn0BAIsWLUJkZCSN3RIEIU5WFrB7t7el8Aje7geN9FCRg9nk9QcoCkwGR48excGDB1HLy9PbE/b4k+c+YRKaNQNOnvRcexIdOEWBGRczyGhUKApMO4qHwB5//HFcvnxZD1kIgvAl5Cg/HnzrNFsnbjZ5teBP+0oYB8UWoAULFiAxMRGpqamIi4tDUFCQ3fb69eszE44gCB+noAAIDGRTFw2rEAShAMUK0NWrV/H3339jwIABtjSLxQKO42CxWJDvyagPgiDMDSlABEF4CcUK0MCBA9GwYUMsX76cnKANgCejwDwVYUVRYH6EjlFi/hQF5ol9ZYnZ5DUSekWBeSqi0EjnV7ECdOnSJaxduxbVq1fXQx6CIPyJ0FA+WozF/GFe7FjpRZAglGGEe0axE/RTTz2FP//8Uw9ZCA34k+c+4WOEh7Opx8eiwFzV6WtRYGaQ1WhQFJh2FFuAunbtipEjR+LYsWOoV6+ekxN0t27dmAlHEARBEAShB4oVoMTERADAhAkTnLaREzRBEIrR2QJEEAQhhmIFyHHtL8K7kBM0u7IEQ5T0E1FRuojgT07QWvMYCbPJ62loKQx2KPYBIgiCcEleHlC7tvz8SjvEv//mPwCQmqq+HoZ420fCSA8VOZhNXn+AlsIgTIs/Oa4RBmfXLuDsWfb13rsHtGkD7NvH/791C6hYsXC7jzlBq2nPrE7QhHLICVo7ZAEiCIItSic2lPvm+eOPhcoPAFy5orgeM3XkZpJVK/60r4RxIAWIIAi2BOjUrTx4YP//0Uf1aYcgPAnHAcuXA6dPe1sSv4MUIIIg2KJUAeI4/vPll8D27dL5irgZsRdahwjCLGzYALz4ojK/OYIJihWgwMBAZGRkOKVnZmYikNWaPoRsKAqMXVmCEWqGwLZsAV5/nffxkcKdArRihUO1FAWmtD4jYDZ5NXPihKLsFAXGDsUKkJTwubm5CA4O1iwQQRAmR6kC9PffQLt27vM5TLpqJLztw2Kkh4oczCavrpQpU/g7J8drYvhjFJhsBWjWrFmYNWsWLBYLFixYYPs/a9YsTJ8+Ha+99hoeVTEmP3v2bMTExCA0NBTx8fHYuXOny/zbt29HfHw8QkNDERsbi7lz5zrlmTFjBmrVqoWiRYuiUqVKGDlyJO7du6dYNjPhT577hMHRyxLszgIkAUWBGRczyKg7wjmzrl4F7t+XVYyiwLQju0eZPn06AF5LnDt3rt1wV3BwMKpWrSqqjLhi5cqVGDFiBGbPno3mzZvjq6++QqdOnXDy5ElUrlzZKf+FCxfwzDPPYPDgwVi2bBl2796NoUOHoly5cujZsycA4Ntvv8W7776LRYsWoVmzZjh79ixeeeUVu30gCEJH9OosVSpAQiwWi2msD7760BHDn/bViby8wt9VqwI1awJnznhNHH9Cdo9y4cIFAEDbtm2xatUqREREaG582rRpGDRoEF599VUAvOVm48aNmDNnDiZNmuSUf+7cuahcuTJmzJgBAKhduzYOHDiAqVOn2hSgvXv3onnz5njxxRcBAFWrVkWfPn3wxx9/SMqRm5uL3Nxc2/9bt25p3jeCIBijV3QZQXgToQIE6DOHFiGK4h5l69atTJSfvLw8HDx4EO3bt7dLb9++Pfbs2SNaZu/evU75O3TogAMHDuD+Q7NhixYtcPDgQZvCc/78eSQnJ6Nz586SskyaNAnh4eG2T6VKlbTsGkH4N3otl0PL8BC+iKMCRHgMxQpQr1698Omnnzqlf/bZZ3j++edl13Pt2jXk5+cjMjLSLj0yMhLp6emiZdLT00XzP3jwANeuXQMAvPDCC5g4cSJatGiBoKAgVKtWDW3btsW7774rKcvo0aORlZVl+1y+fFn2fngbigJjV5ZghF6KisKFlikKTJlMRsFs8mpm0ybnNIXXLkWBqUOxArR9+3ZRa0rHjh2xY8cOxQI4jv1yHOdyPFgsvzB927Zt+PjjjzF79mwcOnQIq1atwvr16zFx4kTJOkNCQlCyZEm7D0EQKtGrg5OjAD0cTvc03vZhMdJDRQ5mk1c3jh4Ffv3VOV3gkuEpKApMBtnZ2aLh7kFBQYp8Z8qWLYvAwEAna09GRoaTlcdKVFSUaP4iRYqgzMNQwnHjxqFfv3549dVXUa9ePTz33HP45JNPMGnSJJ9eyd6fPPcJgyN1ny1bpi3MV44CtHAhH0kjgKLAjIsZZNSVw4fF0+/edVuUosC0o1gBiouLw8qVK53SV6xYgTp16siuJzg4GPHx8di8ebNd+ubNm9GsWTPRMk2bNnXKv2nTJjRu3BhBD+cIycnJQYCDs2RgYCA4jqO3DoLwBGIKUP/+QN++QNGi6uuVOwTmuGSGADN15GaSVSv+tK92SE37IkMBIrSjOK503Lhx6NmzJ/7++2889dRTAIAtW7Zg+fLl+O9//6uorqSkJPTr1w+NGzdG06ZNMW/ePKSkpCAxMREA75uTmpqKpUuXAgASExPxxRdfICkpCYMHD8bevXuxcOFCLF++3FZn165dMW3aNDRs2BBNmjTBX3/9hXHjxqFbt240UzVBeAIxBYjFJIY+bMEl/JSFC8XTfXzeOqOgWAHq1q0bfvrpJ3zyySf44YcfULRoUdSvXx+//vorWrduraiuhIQEZGZmYsKECUhLS0NcXBySk5NRpUoVAEBaWhpSUlJs+WNiYpCcnIyRI0fiyy+/RHR0NGbNmmULgQeAsWPHwmKxYOzYsUhNTUW5cuXQtWtXfPzxx0p31RSQEzS7sgQjxBQVtXP4nD/P1xcQIN8C1KwZMHMmOUErlMkomE1eXahWDdi6VXRpGHKCZoeqXqlz584uw8qVMHToUAwdOlR029dff+2U1rp1axw6dEiyviJFimD8+PEYP348E/kIglCIWAendpmc48eBb78F+vWTrwBdvAh07w548KXH20M4RnqoyMFs8nqFtm31CygQgZygCdPiT45rhIHJzBRf0FQ4BHb5MvDGG/LrtC4WqTAM3go5QRsXM8hoVMgJWjuKLUD5+fmYPn06vv/+e6SkpCDPYRKn69evMxOOIAiTMWWKeHr58oW/K1YEFARMIC+PfxNWqQARBEGIodgC9OGHH2LatGno3bs3srKykJSUhB49eiAgIAAffPCBDiISBGEasrOd0ypXdrb4uHqjdDTFT58OPP88EydoM73JmklWrfjTvhLGQbEC9O2332L+/PkYNWoUihQpgj59+mDBggV4//338fvvv+shI0EQZkHMSrNuHRAWZp/mal0vMV+EH38kCxBBEExRrAClp6ejXr16AIDixYsjKysLANClSxf8/PPPbKUj3EJRYOzKEgwQU1LElB1Xb/xSlh61S2Fcu8b7Jolt0whFgbHHbPJ6GooCY4diBahixYpIS0sDAFSvXh2bHq5jsn//foSEhLCVjiAIcyGmpIgpO64sQIwUIBtr1vBhxTri7SEcIz1U5GA2ef0BigKTwXPPPYctW7YAAIYPH45x48ahRo0a6N+/PwYOHMhcQEIe/uS5TxiUI0eAxYud08WuQ1fX5sMXLCdGjFAjFSwA8NBSrRcUBaYOM8hoVCgKTDuKo8CEK8H36tULlSpVwu7du1G9enV069aNqXAEQZiIhg3F05UOgV28yEQcJ7ZsgcVEs0n76kNHDH/aV8I4yLIANWrUCDdu3AAATJgwATmCBQ2bNGmCpKQkUn4IghBH6RCYi7W8FOFo0n/6aVpOgyAIG7IUoFOnTuHOnTsA+DD4bLFQV4IgCDGUDoHdv8+m3T172NRDEIRPImsI7LHHHsOAAQPQokULcByHqVOnonjx4qJ533//faYCEq6hKDB2ZQmdELP2uLIALVnCpFlu3z7pbRQFZljMJq+noSgwdshSgL7++muMHz8e69evh8ViwS+//IIiIosbWiwWUoAIgrBH6RDYihVs2vXgcJe3fViM9FCRg9nk9Qf8MQpMlgJUq1YtrHjYKQUEBGDLli0oL5zanvA6/uS5T5gMpUNgrLh5k29K/5YoCkwlZpDRqFAUmHYUR4EVkBMhQRBKUBoFpiNm6sZ99aEjhj/tK2EcZClAa9euRadOnRAUFIS1a9e6zEvRYARB2OEtCxBBEIQLZClAzz77LNLT01G+fHk8++yzkvksFgvyab0ej0JO0OzKmglT7ZdSHyABWvbSVVlygjYuZpPX05jJCdqbsspBVi9UUFBg8/kpKCiQ/JDyQxB+yO3bQJcu0tuVRoGZEBrCIZCdDZw+zbbOUaPY1kfYobgXWrp0KXJzc53S8/LysHTpUiZCEcrxJ8c1wmDn9rPPAFcLIZcu7ZwmU34We+kPTtDWt2qzOEGLyWt66tYFatcGdu9mV+fnn0tuYu0E7eqcaLm+1WzzFIoVoAEDBthWgBdy+/ZtDBgwgIlQBEGYiKtXXW8PC3NOY9H5vfWW9joIghUpKfz3f//rXTkI2ShWgDiOE9Xc/vnnH4SHhzMRiiAIE+Fq6Yr/+z/xdBZDYFOmACdPKiri/XdO+RjhDZlQgVxXEFpRwevIDoNv2LChzeT2r3/9y24ixPz8fFy4cAEdO3bURUiCIAyMVIdfvTowd674NlYP99q1gR9+AHr1YlMfQWhFrgLUt6++chBuka0AWaO/jhw5gg4dOtgthREcHIyqVauiZ8+ezAUkXENRYOzKEiqR6vBdzRnG0glaot+hKDBlMhkFs8nrhFwFyM2UMlKYKQpMrzpYIVsBGj9+PPLz81GlShV06NABFSpU0FMugiDMglSH7+pBwDoKLCYGuHBBfv7Ro4Fvv2XWPA1XETbmzQP+/hvYuBEIDPS2NIbFCPeMol4oMDAQiYmJuHfvnl7yECqhKDDCa6hRgFhfm+vXSzcllvjdd0ybpygwZfhkFJiQLVuAvXt1bcIMUWBGR/FrWL169XD+/Hk9ZCEIwowYQQGqU4epRYcgNHP/vvS2w4c9JwchiWIF6OOPP8aoUaOwfv16pKWl4datW3YfgiD8iLQ04MYN8W2uosOECtDOnWxkKeJ+RN9O7TKQL4IYvvrWLYXP7a8rH7hGjeTXY/Dr1MwoXgzVGunVrVs3uwvWGh5Ps0EThJ9w7RoQHa2urNAHiJWfhNJ6CgrIR4Ngw3PPOaexWjg8P1+Wck8oR/FR3bp1qx5yECqhKDB2ZQmFHDnierurY6+HAuTgWO0yCgwAxowBPv1UU5MUBcYes8mLe/eAn35yTtdJAaIoMHYoVoBat26thxwEQZgNLUMWtWsX/mYVEaa0nsmTgRdeAB57THPT3h6+MdJDRQ5mk9clV66Ip7NUgDyAp8+Jt+8ZQIUCZCUnJwcpKSnIy8uzS69fv75moQjl+JPnPmEQ3CkcrjrUChWAo0eBkiWBzExd5XF5FzCajdfbUWBi6Wa4/80go1uuXxdP11kBYh0FJqxXTpovoFgBunr1KgYMGIBffvlFdDv5ABGEn6BFAQKAevX475s3mYgjxwLk1I0HBbFpWwd89aEjhcViMadlyMEIYENKAVK6j/RM1Q3FtucRI0bgxo0b+P3331G0aFFs2LABS5YsQY0aNbBW5cyWBEGYEHcPaLkdvbeGwAByLiW0IxXublWANm/mh3yt8wIpVWhIAdINxXf/b7/9hjVr1uDxxx9HQEAAqlSpgnbt2qFkyZKYNGkSOnfurIechATkBM2urJkwxH55QAFStJfCeuLiwB0/7r5ejRYgcoJmj9nkdWsBat+e/27TBsjNVT405qAAmckJ2puyykHxK9OdO3dQvnx5AEDp0qVx9epVAPwEiYcOHWIrHUEQxoWV5UaPKLDgYHllGA0z+dtwFSHAnQXIilVRUmrRcTWfFqEJxT1YrVq1cObMGQDAY489hq+++gqpqamYO3curQ/mRfzJcY0wyLn1gAVI0V4K6wkJkVcHI0dVbztB01IYXuLePeC338S3SV1bSq+5y5dFk82wFIarckY496p8gNLS0gDwC6Ru2LABlStXxqxZs/DJJ58wF5AgCIOi1QnaihoL0Pvvu5ZHrgWIVaQO4V9YrT6DBwOffy6eZ8wY4H//c05Xes1Nn64sPyEbxT5Affv2tf1u2LAhLl68iNOnT6Ny5cooW7YsU+EIgjAwrBQgpUNpH37oXgGScG52euc0sIOpEd6QPYkp9vfuXWDYMGDpUuDcOWDZMum8584BCQnO6UqvOeGcWQRTNA/ih4WFoVGjRqT8EOKsWgV07AhkZHhbEoI1rIbAlDoiR0WJpwsVILl1kgWIkMvVq0Dx4sCCBbw/z6xZ7sts3+6cplQBItcS3WDkxUh4C8NHgfXsCWzcCIwapW87DMoSCvGWAiRFzZqFv2vVcr8UBqBZAaIoMPYYVt4fflB3vQiHeB88ABo0UFb+//7PbrZpM0WB6VUHK0gBIjwDWYDMyddfA1Onim9jNWQh11/HHZGRwJ9/AufPAxMmAA0bui/DaAjMFMM3hDbu3bP/r+ZB/scfQGqq8nIa16wzIka4Z2gWMB/B8FFgNNRgTgYM4L+7dwdq1FBW1tMWIAAQLsXTtStw+DBFgRkQU0aB5eba/1ejAKkNaRcpZ4YoMKNDFiDCM5ACZG7Elqtw9wCQ+4BQagFi2RnTdUnIxVEBkoPjtapWAaLrVBdUWYBu3ryJP/74AxkZGShwODH9+/dnIhjhYxho3JdQgVgHzEoB8uB6XBQFZlyY7e+pU7yD8nvvAZUqsakTYKMASczpY0fZssC1a/ZpBr5OzYxiBWjdunXo27cv7ty5gxIlSjiZXEkBIkShNxhzo6cCpPTBRxYg30brw/6JJ4DsbODwYeD339nItGsXMGmSfZqc69tisd+fV15xXyY11W4iTwC85aiggN3s6wQAFUNgb775JgYOHIjbt2/j5s2buHHjhu1z/fp1PWQkXGD4KDArCh40FAUmjlf3xdp2ZmZhh25w5cHV8aIoMOPCdeigrYLsbP6b5dJMLVs6p8k5rnKUOce5gsSGhL/+GihXDjh1iqLAGKJYAUpNTcWwYcMQFhamhzyEr2LwhyUhgrCjKijgI6zKli1c3JGVBcibUBSYcbBeL6dOqa9DuDApK2vJ+fNs6pFixQp5+a5fB0aM0FUUT2KEe0bxFdKhQwccOHBAD1kIDRjec5/GsI1PQQGweTPf0QLOCpB1CMC69pG3FCCF1zVFgRkPXaLAJk+2HzpiVXe1amzqcYU1wlLM0iTE4fxSFJg2FPsAde7cGW+99RZOnjyJevXqIcjBgbFbt27MhCN8CLIAGZ/584HERCAmhn/rFSowHAesXGmfXw8FqGFD3nfDFa1bK69XCq2K+Z07bOQgtPPuu/b/9X5os1Twt2wBFi3i7z9X+Kgi4i0UK0CDBw8GAEyYMMFpm8ViQT696RNikAJkfH74gf++cIH/drQACcnIADZscF3fRx/Jb3vrVn7oY8gQ1538uXNA9ery63XAqWYt1+XJk8CZM+rLu8Hwb91XrgAlSvAfBjDfXxb1uVJy1ChARYvy64lZiY3lvytVAsaPd1/e6NeEyVCsADmGvRPehZyg2ZU1OlrOnSwcV2UXtnHjhv22evVcz+69ejU/eaJc2rThPw447aUC5Ud3J+gDB5zk8xsn6D/+AJo04a8ZtXPbSMBMWhY+QK6uj3/+UV6fUPkBgOPHlZUPCDCVE7Q3ZZUDxdQRnsGIinN+vjkcdT2FowIktOb27Gm/zd3SJrVrm+NtlZyglZOdzSs/gLF9+1icE1fK3erV2usvWlRZfn+6zjyAKgVo+/bt6Nq1K6pXr44aNWqgW7du2LlzJ2vZCAUY3nHNaApQdjZvdnZ8sJsEXc6tUAHKzQVq1VJfFyP5WNRi6dJFeiM5QSvHcS2r5GTFVXhkKQy9FSCtCJdtkYvJnKBdlTPC80mxArRs2TI8/fTTCAsLw7Bhw/D666+jaNGi+Ne//oXvvvtODxkJX8BoCtC6dUBaGpu3OF9BOGSwdSuQkqK+LgN0bjaqVuUdTMXYv9+jovgEjlYfo4Zms7gG79/XXocUZcsqL2Ok+8oHUOwD9PHHH2PKlCkYOXKkLW348OGYNm0aJk6ciBdffJGpgISPYDQFiHCmCMO1kVl11KGhzqtws2TjRunV7t3hr8OnjgpQWhr7NjhO+zXEwgdITwuQmj6RZoJmiuKjef78eXTt2tUpvVu3brhgjR4hCEdIATI+wiGwiRO9J4eQVq3Y1PNwug6nR6qWYT6dFSAjDBGI4ngvW2de1ojd/rI4tkYfAvMHBTo11TmAwkAoVoAqVaqELVu2OKVv2bIFlVguPEfIgqLAVJY16sPFBbpHTwjfLvfs0VYXK+fY0FCgXTtVRe2OV69eQJ06hdusPzQuxOqXUWBi53bBAmbVcwCbFyYzK0DWKSkcyc83VRQYDhwAOnXSVoeOqFoLbNiwYRgyZAi++eYbLFu2DImJiRg+fDhGjRqlWIDZs2cjJiYGoaGhiI+Pd+tMvX37dsTHxyM0NBSxsbGYO3euU56bN2/itddeQ4UKFRAaGoratWsjWYWjHsEQsgAZH8coMC1oUYAcQ4OVRsqIERoKHDzonK5mhW8RDGut0QOxe3nwYLbKgj8oQK72sWdP8ZcQufeVdeb2HTvUycaSfftEk41wzyge9B8yZAiioqLw+eef4/vvvwcA1K5dGytXrkR3JfN+AFi5ciVGjBiB2bNno3nz5vjqq6/QqVMnnDx5EpUrV3bKf+HCBTzzzDMYPHgwli1bht27d2Po0KEoV64cej6M5snLy0O7du1Qvnx5/PDDD6hYsSIuX76MEowm6zIqho8CM3K4LMFjFAWobl37/xrXHbTdB44rbAO8E/zff/PLHeTmiudR0oaKcqaLApM6tyosV5IyKrUSiK3XZXQfIHf7WKyYc5pAaXJ57Xz3HfDee/LasYlDS2HI4rnnnsNzzz2nufFp06Zh0KBBePXVVwEAM2bMwMaNGzFnzhxMsq47JGDu3LmoXLkyZsyYAYBXvA4cOICpU6faFKBFixbh+vXr2LNnj22ZjipVqriUIzc3F7mCN8Fbt25p3jfCAR+9gXwKlgoQS4sfCwsQIH0NdugArFoFNGgADB8OPOxf3GIgU75HkTq3LI+H0uvn4kXnNKNbgDQqQC45caLw9717vAWUcMJrLuV5eXk4ePAg2ltXln5I+/btsUfC/2Dv3r1O+a2Ls95/GK64du1aNG3aFK+99hoiIyMRFxeHTz75xOUSHZMmTUJ4eLjtQ75MOuCvDwszYRQLkCMMO2/RR+LffwPvv8//njlTfmX+6gQtdW41Kr12+3vnjrLoP7FjZXQFyN3xErN8yr2vhHI3bUoWeAlkKUClS5fGtWvXAAAREREoXbq05Ecu165dQ35+PiIjI+3SIyMjkZ6eLlomPT1dNP+DBw9s8p0/fx4//PAD8vPzkZycjLFjx+Lzzz/Hxx9/LCnL6NGjkZWVZftcvnxZ9n4QhM/AMsQ2IoJdXQ4vPbqg45pePoeIdR4AW6tfuXL8R26dYsqO2YfASpVyTpOryAjnLzpyBAgPB5YulSuZ3yBrCGz69Ok2H5rp06czfTMRG8tWMnuk47hlQUEBypcvj3nz5iEwMBDx8fG4cuUKPvvsM7xvfctzICQkBCEqx/69jWmiwDy0nhdFgWmAxTFZvJjvfGNitNdlpXt3YM0axTPnyloLzMrp08rlEqtHbjklUWAu5sTxeBTYqVPSMz8zUoBs0mZnAzk5QPHi6ioyuwWoaFFg2jQgKcmujKwoMMcJHO/cAV5+GejSBVBgqHDbjpfqYIUsBejll1+2/X7llVeYNFy2bFkEBgY6WXsyMjKcrDxWoqKiRPMXKVIEZcqUAQBUqFABQUFBCBSY82vXro309HTk5eUhODiYifyEQgx00RMSsDhH/fuzn6zNYgG6dWNbpxKuXQPGjAFefRV4/HHRLLoNV33xBfDJJ8CWLfz6at5GMJWAE1qun4ICcYXA2xYgPWeClnO8Ond2UoBkISV3mTKG6YuNMMSr+AoJDAxEhshCiJmZmXZKhzuCg4MRHx+PzZs326Vv3rwZzZo1Ey3TtGlTp/ybNm1C48aNbQ7PzZs3x19//WW3av3Zs2dRoUIFn1Z+DOm5L7xODHLTETry22+GnKlW833w+uvAvHnAE0/YpwuuadVRYNnZsPz8s3SGN97gZ1oeNsy+nDejwKRQMdeXTcZx48StLXIsMPn54o7rRrcAyekTHZ+pDRrYfrqMAlOhuPljFJji3krKfJWbm6tYwUhKSsKCBQuwaNEinDp1CiNHjkRKSgoSExMB8L45/fv3t+VPTEzEpUuXkJSUhFOnTmHRokVYuHCh3fxDQ4YMQWZmJoYPH46zZ8/i559/xieffILXXntN6a4SWpGw5HmNy5f5Sbk2bLBPJ+WMDWaINFEzHcaxY+LpLK6bL74ATp4srO/gQSAvzzmfER5A7pQBLUNgn3wini7nQf7118BPPzmnG10BknO8HBUgMb8gMfS0XPkQssPgZ82aBYDXBBcsWIDignHZ/Px87NixA48++qiixhMSEpCZmYkJEyYgLS0NcXFxSE5OtoWtp6WlIUWwIGNMTAySk5MxcuRIfPnll4iOjsasWbNsIfAAP1P1pk2bMHLkSNSvXx+PPPIIhg8fjnfeeUeRbARjjKBkJCbyys+GDcD8+YXpLNYd8gW0niONsyp7AosaC5WeETTCIf3z54HGjYGSJQE4vHWzXKdNLe6WvNAaBSaWKOdBLqWg+qICJPcYu8pH/Z0N2XfV9OnTAfAWoLlz59oNdwUHB6Nq1aqiszK7Y+jQoRg6dKjotq+//toprXXr1jh06JDLOps2bYrff/9dsSxmxLBO0HfuOBa2/5+WBvz+O+/b4XCT6+YELVy0cfDgwt8FBYYcunFEy7nzCDo8pLXspyInaFcIHyY5OXbhyWL1uAvksJNNcN1xDx2xObF5yCSUS486Qd++7Xo7aydoQJ4CIuV6ofWeLigAjh7VVocr5JwXx+AcuU7QrigoUD3lheJnBoM69ER2j2Vd6LRt27ZYtWoVIliGuRK+x/XrrrfXrcsvkjd3LvB//+cZmaSgZTrYYAILkCqE10exYsC5c0D16nZZVPtICB9EruowggUoJ8f1dj0ebHIsQFKKjlYrx7BhwJdfaqvDFXKOl+OwMou+SoMC5GsoVpG3bt1qU344jjOUNmd6jh7lx7NVHFPDOa45vrk57pN1hWAHp3ZdkToeJlSADOmUqIMCxGI/NdfheH18+SW/TpNgnSXVTtABAYVDP451CNt1OLZS7enqBO1uKFDFfeRWRjkKkNTDXOv+K1V+4uOV5deoAKldRsXdeWL5LHFVygh9mCob4dKlS1GvXj0ULVoURYsWRf369fHNN9+wls3/aNAAGDBA3KHPbDh2llI3u9o5PtTgQwqQLmh9mfHVt0rH66NIEaB5c0DY56k9dsJjZnWGtrJuXeFvN8qlR15E3d0nKqLA3KJlCMzTD1il50DO8XI876wsQCL4ozFDsQI0bdo0DBkyBM888wy+//57rFy5Eh07dkRiYqLNT4jQyP793pZAO3IdRz25SC2rhRd9kfnzgQULtNUhFr3kC8h56Li7hubMAcT6R1cPaaH/ibeHwK5cAerVc51HjxcJLRYgo/v1yTlejtfH9OnajzP1dzYU31X/+c9/MGfOHLvw9O7du6Nu3br44IMPMHLkSKYC+iV6Rh54CrIAmYt//1tb+Z49AYVRoN5Asdm9Tx9++gQhU6cqq+PePcAa6NG3L1C+fOGD/bvvJIvZSept/6oPPnCfR+ODVXUUmFksQG3aANu2yc8vxbx5/Lfa54Q3+ruRI8VfALyMYhU5LS1NdKLCZs2aIU0YZUOoR8EcDoaNAnO8yaTyirzZemQpDCEmUYB0M1GzCPP+4QfDhdZqjgLLyQFWrHDdhvVHbq50u8IH1cMFPjmRY845fNvh7aUwBPsniR5RYAI/K0nMogA5yqnyvNhKCRRzxVFgKlF9LQkmqjTSUJtiBah69er4/vvvndJXrlyJGjVqMBHKL/nvfwt/+6IFKC0NeOEFYPVq+3RPdlJkARKHJk0TR8G1aXnzTemNBurwVSNHSdbjPnrnHeD4cdd5li0TT/eGAnTggPT2unXt/2s9Xo7716ABb2m8ccN5GhKW7TLCCE7QiofAPvzwQyQkJGDHjh1o3rw5LBYLdu3ahS1btogqRoRMevcu/K3igWS4KDCxDnPlSv4jnPrfCOP0SjuEU6d4f5l33uGHM8yOr/ruPET1faBAcbFYoxrd1eMgiwWuI2Uk2/N0FJhOCpDl9GmgXz/XmXbuBOLipLefOSOe7o2+JT4e+PRT4N13nbf17w9UqACMHs3/1zpkKIwCy8vjfcaOHuX9zVzhwSgwo6P4CunZsyf27duHsmXL4qeffsKqVatQtmxZ/PHHH3juuef0kNH3cbeSrxlx1WF27lz425OdlFSHo7QjatCAX6V54EDtMrGG45QrNL5wvemBHsdFpweJ7sMKchQgNUPVmZnSFhwrrpRLVxw/zq9+7imLh3WfpJaECQzkFaPoaP5/p07a2hNeS0rOv0ReZkOlf/2lvR4PoSq0ID4+HsvcXbSEfBw7F18cApPCkwqQlExyOsizZ4HFi4E33yx8MBoxWu+ll4BVq/hlFSpUkFfGxy1Aqhkzhk09LB4s3h5Gk3M/Z2Xp07bYzNhW3N27P/8MHDrELzHiKaQUIKvC8scfwNq1vEVIC2qVab0Uwr17AYmFzI2KAcYfCKfOxRfeyOUqQJ40rWpRgBo25E3bwiU0jMh33/GOtgsXyst/6lThG6kfoMiUz2oWYBdDYK4w1KCDnHtEYkkjuajaXzn9jJ5ruQlxZwGyvuw98ggwZAg/q7gWjKYAmTACXLYCFBgYKOtDqMBxMT9fjAKTQuQm1i0KTIsCZF0GYN8+YeWy5WKBy+Nw9y7/ZmlFrmXtjTe0CQV4djZvBaiOAhs8WPa5FV3raMgQW7QXAPvry2IBHjwQL+dKNqs8GzfyD09rNJmnosDkKBHC608DTtK6etB7SrmRgzsFiNHLnu34COozRBSYzD7HSFFgsofAOI5DlSpV8PLLL6Nhw4Z6yuR/CB2gAe+bu1lgxCEwqRv/0iX5VhCjKfm3bwMvv+wcXedu3SaWOKyLZXoWLAASEhQVsXu0zZsHxMbyTvKA/f28eTOvwKilY0f+W+ohqxfeVDRcKQ7u1hz0JB5SgETr85AC5BKFfaMRHKtlK0D79u3DokWLMHPmTMTExGDgwIHo27cvLYrKgsxM+/9HjvAXtBJzudE89+V2mJMm8c6ADRroKw8gfeO/9Rawa5e8OoymAH32mbPyAwAff8xPnjd+vOvyLBRQb89S7AZV90G7dsracEwQTp4ovO5eecWpnCzpHB5wltRUh838dq9GgSnAJq+czK72g4UFkxUeVoAsAQHqzrEbJ2jVzxIjRPQqRLbEjz/+OObMmYO0tDQkJSVh9erVqFixIl544QVsNqgJ3LT8/TewaJG3pdCG3A7z1i3gscd0FcWGlExKrCWXLhX+NoKlztUb8AcfAN268cNjUrDolI2mFBoB4XFl8cbteK398w//feeO/CHzO3f4yMXkZOXtG9UCtHWr5+SQi1ABEt4bau814ezRLNDLAuTLCpCV0NBQvPTSS9iyZQuOHz+OjIwMdOzYEdeNZIr0BWbO9LYE2jDS2LwVqRu/aFHPysGS4GDX29et49f5EmP+fGDTJu0yGNwCJMRjVlG1wxPCKlxt3Lu3sO6//5ZX4aef8pGMwmko5CL3fnY1EaAbJPfXAEMlsrCe55CQwrT16wt/q1UQWrcG/vMf5/S5c4H//U95fawUoLw8fo4maxSpPyhAAPDPP//go48+Qrt27XDmzBm89dZbKFmyJGvZ/AexG1xmh2NYJ2gNCpBuTtBCx1QhYWGy6/cmoufOnQIESIcna13/y4qOHZ8Wh0nNS2HIaUMqzY0FSLUTtFgZNxYg23FwXNNMCXLv5/Pn1bfxEKc9XbDAWL4+UogpQMKXAy2KnOAeszs+iYnOae5g5QT92mtAq1bA8OH8fxFLsOh1bgTL+UNk91x5eXlYuXIl2rdvjxo1auDQoUOYMWMGLl++jE8//RRFTPQWaArMPheQQaZbt/Htt4CD34QNTw3B6YEcBUis42XZCZnwzY81TkeY9RAYAFy4IJ7uiWkzvGnRTU8HevRwTj9+3PWSD1b0sCCNGuX8AiH2UsJiCAyQvsdOnlReF6vrccEC/nvuXP76MIOS6oBsraVChQooUaIEXn75ZcyePRvlHy4BkJ2dbZePLEGMOHtWUXbTOkErheOA06f5yCMlK2S/9JL0tsqVtcvlYWznVq0CxFJB1VEBYnENe+I+cKkAuVA2FTlBx8aKt3f/vu1ecOkEreU46HQ/y5Zo+3bn/23ayCurRtl3V2b8eODixcKV2YVlhBYgVgqQCGqXUXG3b6qeJV27AgcPOpdT2I6nkd1z3bhxAykpKZg4cSJq1aqFiIgIu0+pUqUoIow1GRnelkA9eilAS5YAdeoAzz/Prs7du/k1dMyIHAVIDJbnR9jhEzx6WICkuH9f3rCCJxSgyZNl+QGpGgb5/PPC3z/8IL+cmrZcWeCffBIoXpxfn+zaNeftwvtB+HKg5fiztNhKXI+ahqZ++UV9WS8i2wK01Yje9r7A8ePSPhpXrph3sU29FKCpU/nvNWvY1WldpLWgQFknlZvLTga1qLUAsTo/69d7fk4aVgQF6Td8xFoBcqWg37+vvyO/3Ovl0CHg8ceBHTuAli3ZyjBqFL8UjVLUHH9XC7QK6ytTpvC32BCY8LgZXAGSxT//ALVrA199xU4eLyJbAWrdurWecvgvjz8uvc3MflV6DoHpxa1bQHi4/Py3b+sni1zkDAPqqQCpiSjyIjaz+/DhvBNnzZp6NVT4m0UU2KFD0hn37gU6dFDVhmyUPjT79eOHiBSg24CImmt95Urpbe6ORblyQK1a/DVQtmxhupahYpZWRC11rVrFf/uIPkDei95GKjIJkKUA+V0UmJubV0sEmdOElAZD9NzJeatU6wPUtm3hbyWKIUN0iwL797+BGjVU122rRyqNdRSYq/bdLNoqeq24WmBUDKX3s7thURdDTC73XzgPl1xYKA/Cdc4c67Ou6WVVCgICgBMn+CWOWEWBCdrUHFml9J46c8YWzq/0bvSZKDDCCyhx8jUaZrQAGVwBEkXtW6Wc86OjA6ev4XR0hOfFKBGRwnPYuLGyIVyl97Mrf9AjR3jrmxqqVgVu3FBW5uOPleUX62OEx87xWPz5J+/7NG1aYVpgIK/8sPIB8qYF6F//4vdRKxrmiNILUoCMjIKHm+GiwPTq9PVUgDwRTswIi8XCO8mfOeM+8+jRwIgR9mlKFaApU5y3yWlbIxQFJqO9ChUEzcpcCuPcOX5iRLkoVYBc+aY1bGhTYlSdmVOngC++kJ9/82Zlw9XuFCDHvq1aNeDtt4ESJZzL6egErToKzE3f7HTdpKaqHp60K+fg7mGqKDDCCxjIVKgYvSxAer5NG+VNXS6RkcCMGfLyOs4sLuf8CDtvoVNonz78DLR6+c94Er2srJ6MAuvYUV0U2MaN8ttQej+7kUdTz2b1Q1GCq+VghBQUiM85pPZ8CsvpaQFSIpMeUWAmhRQgI2PmC1Jph3niBD+xlrsbWc9jYjYFSAtKLUBCZejdd+2jX8yM2Fs7CzypAMm91xwfwEqGT5Xez3rus5phX7kTy+7bJx5hqnZIU1hOTydoJdZrb/ZzBnumyQoz6iGmEUuwSo12TohjsItFEUo7zLg4/jskhJ/kUAo9JjWzQgqQPUIFSPjbxMfJyexevLg+M9jqvRaYEE8M3XrgnMveXzXKt9xjJGUpEp5PwZCjW4w4D5A3nyuugn68gCyVNDw83PYpWbIktmzZggMCh6aDBw9iy5YtCPdSpIjPIqPTMXwUWGSkojawf7/rdtyZ1sXKyjV/G1zhZGqilvNAk7IAGfw4WXEZBWbdZo3uadhQXRtSaUIFU+8oMLlrgTk+gOXeF7m5yqOvtETvucvgSpGoVk08vWpV4PBhGY1LtG6xAL/+CjzzDLBokft6rOjgBO3q2pGFBoVZ852fk2OooTZZFqDFixfbfr/zzjvo3bs35s6di8CHHWR+fj6GDh1Ky2CwxkAXimKsDwDWPhZqjoncG97xQVVQAOzapfrhKArHGSOiSksUmJmvS0dGjQIaNQKaNNEU6u90Rt0oQEyRe33/9pv9f7mh8F27KpMH0PcacTUpb9u2wN9/i2976SV+qN0Vrs7Vv/7Ff5RgxCiwl17iJ+CVswi0q/mQ1JCTY/tpSifoRYsWYdSoUTblBwACAwORlJSERUo0Y8I9CjoRw0aBsZ7MUU3HmpcnL59jJzN7Nj+3ByvFPj8faNEC6NLFe0rEnDl8WLBSBUiIyRQgl/dBYCDQrp3mcyyqAF26xK+OrncUmEABkowCy8gA/vrLvhK5CtDmzcoFlHmNqOqhNmxwUaGLGuWE/UspGmoVEB2doFVHgV24AHz4oeRmu+vmhRdsbTFBrtXRQyh+Oj148ACnTp1CrVq17NJPnTqFAhP7BhgSMx9P6wOWtQIkPCZ5ebxJ+skngY8+ki6j1gI0Z45y+VzJsG4dsGcP/z8vz/NraN2/r2zIxzGU+emngdRUoEED9rL5Glu3AtOne6atvDz3wwqnTzunaZnJvH5918tz6BkFphY5jtBScst1onaElQLE+qVDZE4ejwxNCSxARkCxBWjAgAEYOHAgpk6dil27dmHXrl2YOnUqXn31VQwYMEAPGf0XgzmMKUKvITCh5eL774EtW9xPdPbss/Lq7t6dj0SzwvJmffZZoGfPwv/Z2ezqloswFP7mTff5Ha0imzbxpnMzL9HiKY4ckZ9XuJbac88pb0uOgi/2ANfyNu4uosnxYfrrr8D77+s3PYYVoZJRr579NlfH6epV4PXXpZccUSu3p8LglXL6NB/NKbaYq56Y3QI0depUREVFYfr06UhLSwMAVKhQAW+//TbeVLNQHSFNfDx/47nobAzvBK1UAeI41+1cuVL4W2TBQtGy+/fLazs3Fxg8GHj1Vf4/SwUoOdn+f3a24mgWLecOAL/qvRU5HXqpUvb/LRaP+y+xXgrDat5n9bar1iHVLk9wMHDvnpMTtJwjLdsJWsqCUVCgLjxb6XXQrh3/LeWkjML91XRmXCkcrqw4//d/wOrV0tv1VtzcwdIJGuD70cmTgbNnFc2rpHkpDIM5QSu+8gMCAvD2228jNTUVN2/exM2bN5Gamoq3337bzi+IkEnVqq63S60Ub3T0GgKTYt8+9nXKeVtRezN7YyFV4YNSzhulknBfP0eTWigcalSjjOzZA/zwg+s8Ug9/tf2LUguQFbkLpLrbHzk4KkCuFEV3Sz2wsABpefDrpTT88Yc+9Uph9iEwgPcD+vXXX7F8+XLbG9WVK1eQ7Q2zvtlxtyCjzGEwwzlB6zUEJsWTT/Jmdke0mI7v3HGfR239Gu8VVef2558Lf8txCB04kI96+eQT5W0xwrRLYSgoZxEqQEWLqmvv4VIlkk7QUgqQ3AABJwHc7LFWJ+iePZ2XX5FVoUoLkDtYKEBaYOkE7QbRZ4nauhwTBC+VpowCu3TpEurVq4fu3bvjtddew9WrVwEAU6ZMwahRo5gL6LPcu8df1O46CoONmcpi82Zg4kT+tyf9Rdatc04T6/Q++EBefXKUm9RU3m9j0ybpPGLKhrfXHZNzXYWG8krl6NH6y+PPCF8ShP5ACnCrbkgp3ErW1BLi7uF18CCQkODcvz38L0s90vqAdLRSeUMBEqLFitO7t/b23eA0NDVoEPtGzG4BGj58OBo3bowbN26gqOBt5bnnnsOWLVuYCuez5OQAMTFAs2buH7I//ugZmVjSvn3hbzEFKCKCDwdnjZi1SUzRYBnFNHIk8NNPQIcO4ttzcoDoaOd0b0f4Gawj8muESo9MC5Ai7t8H+vYV3+YqehIQX2vOYpE3VPf998DJk+7zSaFGARKWcZTx7l1eCZkxw3lOJHd42wJUvz6QkgJUqcKmPjnoMa2NFiVUBxQrQLt27cLYsWMR7BAiW6VKFaSmpjITzKf56y8gPZ33W3F3zN5+2zMy6YWYUlK5Mj9k5Ym2xG44lsNy7hwId+wQX2rB2wqQGS2LDGBmdpdSKNRQrFjh7/r1bT+ZDRCovdZSU3kF35GgIPkPdgWWTluN1okXtSpAYuU3buT3yXFCQ3dtqVWApGZTV0OlSnykGks8PQxlIAdoQIUCVFBQgHyRi+Gff/5BCb0WFvQ1hMpjRob7/N9/L7nJsFFgVsSUjcBAlzeeZDvu2itSxLmsmI+Dp/ySLl7kQ3/FUPFQsjt3WhUokyhArKPAWNQLwLaIKpMosIcKEAcA8fHgnnpKthiK21KC1ESJgYHyH+YSQ2CiPOwXuc8+4/+ztgAB/MSUalCrAEVE8FGlAwYAZcuqq0PIyJFsosBsBRU+A5RW75hQUGDuKLB27dphhsAsarFYkJ2djfHjx+OZZ55hKZvvIryZ5JgEExL0k0VvpBQgKVzdHImJrtsSUwr0tgC5on596RB8rQrMQ9871ZhEATIsDg9ExY9q4YNaOCFmQAAQG8v/VrAItY0rV9xHNMlF6l508wIjqw4xrMN/1rrVKEDCCXrFyqt9+GoZupk/n91wEutIa09bor1t+XZAsQI0ffp0bN++HXXq1MG9e/fw4osvomrVqkhNTcXkyZP1kNH3EF4EjJxhDRcFZkXMB0itAjRvnuu2PvmEH3ISolQBYnnMXIW6FxTwD6tZs+QvSSDAonRxSkdM4gNkqCgw61w2gHYFSFDOIrweZcoqlcty/75NcdK831IPq6AgZkPzLiVUI39iIjBmDLBtm3h5OZGdYnh7HiARJKPAgoPtr1VXuJgry7EtNTiVE7RnhOeT4hCd6OhoHDlyBMuXL8ehQ4dQUFCAQYMGoW/fvnZO0YQL1ChAly551gFOLY4dhVILkFbWr7f/L3Z8XSlAnjLP5ucDrVrxCzfu3w98841n2rVCFiDl9OxZuC4Wywei8CXB3RCOBHZXrZxZvu0KSyzQ6+pe6NaNd8qtXNl13RLHSZcosDJl+Hvb6tgtdvzeeUdZnVYMqAC5ZMMGef2scIJFT/R9ZrcAAUDRokUxcOBAfPHFF5g9ezZeffVVUn6UILyZ5N5Ynp6yXA15eUDNmvZpSi1AUqi9OZUqQFb0XoakoKBw1WpHpc0TrF3r+TZ9Aesaat27s6tTeD2yeEC4u1dKl7b/L9UHSclirb9SJeDMGaBjR+m2nniCn3FYDY0aKcu/a5f9f61Ox0KMpADJiaCVu+/uzjFrDKYAqZqk5ezZs9i2bRsyMjKcFkB9X8rpkyhEzUVgAHOhW9ascXYylFKAlO6PWouFWgXoxg3lbVk7jfx8YPhw13mF14A3nAJNMgTGGpdm9ylT7Id2RoywDwPnOH7m3Dt3+Ac/K4T3iMTK7opwdz1dvWr/ErJuHe+v5rhMhVQ9wvSaNflj9Oij0u29+64s2Zz2t0ULfoqJGjWAunWl6weAXr2cZZBz/NLTgfBw9/mMFL7tzplaSX8i9Sw6cUJ+HUpYvtxQL/OKFaD58+djyJAhKFu2LKKiopxmHiUFSAZq3iYkbmbdosA4jjf3160LPPKIaH67/3PmFK40LkTFEJhoO67W6RHmdfwv9qDXSwGqVQs4d05eXmEnIFMhNlL0hBlQHAX21lu8FXPsWP6/46SEHMcrK+HhtvtRdRSYsP2HChAH2K/sLuMBLtoWxwErV9osi04RZ47WAauzteMxkWsdqFWLDy+XmgtLIXbHRq6lTUxWd1aQixf5+dgqV3bfJxjIAsSJXBd2Z0RJPyGWl+OcF5IVa0cNv/+uvQ6GKFaAPvroI3z88cd4R+1YKmE4M6AoyclAly78bzk31BtviKeLdSxqZod+6SXlZQBxy5G7zm7fPnXzFMlVfgD7WVbNcD34CyqVTE32WeELgXDaBrUWoIIC4IUXxLe5i6R0rEeMr792ThNOfuoK6wzxrBFTUNwdP+vSMCkpLhdplazfW7AcDRA7xx7qj4zgBK14kPTGjRt4/vnn9ZDFf9BhCIx5FJjYulqukPIBEyo7L73EOyqKzS5rhbWVQ40CpMckja4wgmXntdf0ezh5GUX3gdwHncMDU1MUmFA+oQLkYqhDMgrMXR4lL65iwz779/NLvzCC2SNQ7B5yZwFSMqmgARUgySgwjUNgLKPAjI5iBej555/HJlfrHhHuUXMzSd3Met2YSpU0qTWMhMrGu+/y/ge1ail7i9HyRvKf/7iWyQgYwQIUGMgP/TAaxjAtQ4YAkZG8/4/jNSp8sJQuzc/obp2zRwvCdh5/vPB3dLTsVdFlD4HICUD49FPe/0ZspXhGk90yV/nF7iElfYw1IEEKIylALJ27xaLAjNAfeQjFYxHVq1fHuHHj8Pvvv6NevXoIcniYDBs2jJlwPgtLC9DMmfx3erp6ecRgpQAJLUBqnJ8BbQ6I1oVIIyOB//2P/00KkDPWTvXrr4Hx45UNlfgS5cvz8zMFBADvvec6b7VqbBf7HTSInzlYSM+ehb/DwuQ5r7u6nuQ8PK2L34pNzcDy4csSrQqQO4ykALnbL61O0EawSHsIxXfvvHnzULx4cWzfvh3bt2+322axWEgBkgPDBx73xx/8DxcT46l2gnZRj9N/OUNgMjtPWctZSJWV+i9cfsSkCpDduWMtg9UyEBUFfPUV69pVw3opDKt532W9UtepjHsCUH9uOOtSEA/rdBqKeOEFpxmFJZ2gpfK4ugcXLQJefrnwv5i1iLUCVLQo73AbFwfLw0AH0XNTvz5w9Kh0PWqGwNxRpUphv2qgKDDdl8JwFTygtHoGdeiJYgXowoULesjhX6h5m3D3IGCttSuVUUoBEiobaidAZDFbtlARM5oCpMcbl7sHhiN6Tk7pK7RsKblJk61B7vmXa9FwNWWEK6Vg0CD7IbeSJZWVV4PFwgcdAK4jPQcNcj21hJooMHd0787P1A74rgVIoQLkazC03xKyUWMBclPGIrxoX3sNCArS5gStVEY5CpDaDsnXFSA5xzo/H1i82PbX5ZktU0a5QmPQoQ3DLIVx6JDdSu1Obais1skJWkE5d+miedxdF7/8Uvhb7L5j/HDUdcV7reddWN6ACpBuTtAiS/MwWwpDuM0AUWCyFKCkpCRMnDgRxYoVQ1JSksu806ZNYyKYT6NGAXJ3A1ov+rQ0YPZs/nedOsrbcaxPLnJ9gKxIXfxi7bIwPwvlY+m3wQI5x3rRIt4x1x1duvAz7yqdNsCgCpBhsM4A7U1YWOmUnGer/5wQIykCQvQYAgsI4CPxrl2TH+bvCYR9Z0ICP+eTWsSO25Yt6uubOBGYMEHeS6sBLE2yngSHDx/G/Yc7dOjQIUnNzQganeE5coRftFMp7pQm68UkNH+fPKm8HbntOSJlAZJSejp25KNNHBG7KRT4AEnyxBN8hxYVpe3NsEQJfpjA09FSVl8vdyxfDhQvrnwfaQjMczhOGij3QVCkCD+FhIgiLPtRokQpEFsOhpH/ok1eudepu3x6DIFZLMDhw/yEkv37a6tLL7QqEWJRYFos7mPH8lMtCH0uDYwsBWjmzJko+XA8eNu2bXrK4/uofZN01/Hk5fGdo6t1eVi254iUBUjYcQl/t24N/P6785w7Yjc0iyGw4sX5YQytSvqNG95RFuS2ae30le6nq6UMCLaotSYUFPB+MEIFKCBA2b2q5NpdscI5zVsWIHcPej2GwAICgIoVjRcRKbRgu1rGIyKC769iYgAp3109IlDluhj8+Sdw+zazqRXUIEtFbtiwIa49nLo/NjYWmZmZzASYPXs2YmJiEBoaivj4eOzcudNl/u3btyM+Ph6hoaGIjY3F3LlzJfOuWLECFosFzz77LDN5vYacVZVHjgSWLnXOoyYKTOTGcBkFVry4eD3CtzDHDqlJE+f89+45t6NAAZKMAgsN5WXR2il6y1ISEGC3b5JnTo0CNHmy9MzBXsYrUWAa23BXs1Tb1nTJKDCxtmRYOexKab3+q1TRVt4Fms6NWBmWPkAGwrYUxvDhNsu76BHbtYsfCt+4Efj3v9m0zSC/Le3HH4F+/bQJpBFZClCpUqVs0V8XL150WgBVLStXrsSIESMwZswYHD58GC1btkSnTp2QkpIimv/ChQt45pln0LJlSxw+fBjvvfcehg0bhh9//NEp76VLlzBq1Ci0dBG5YSrkHvMjR7S3tWMHr50rQY7WL6dDEXHAA4upFRyH6L77TpsztKcVIbntWfPJ7bxr1uQXACUfIE3IflTKWcnbkchI/pvFCvRaHuoZGfxaYt5AzRAYCwuQkYmOdm0Zq1OHn8upRg3gyy+B//4XaN7cc/LJYc0arzYvawisZ8+eaN26NSpUqACLxYLGjRsjUKJDPu+4GrgLpk2bhkGDBuHVV18FAMyYMQMbN27EnDlzMGnSJKf8c+fOReXKlTHj4VIKtWvXxoEDBzB16lT0FEwYlp+fj759++LDDz/Ezp07cfPmTdkyGRZ3UWDWH8LVpNW0c+kSPzylFCnTuNCPQK0CxAJHBahPH+Bf/yp8uCjF02+HDp2xZOvWfCEh8uo1qlPrQwwTBeauDbkZa9Z0Kue27KlTwNmzvB+bm/bcRoFpoVw51jXKl/Gpp1xv18sHyMBYLBbxa/uLL5zTihQBevXiP45ldu4EpkyxBc2I7bUuUWAq62SJLAVo3rx56NGjB/766y8MGzYMgwcPRgmN43Z5eXk4ePAg3n33Xbv09u3bY8+ePaJl9u7di/YO4+cdOnTAwoULcf/+fdus1BMmTEC5cuUwaNAgt0NqAJCbm4tcQcTDLb0ewloQu8HFojTE0pSgZO4YIVIKmnDmWm8qQGI+Slo6ONZvh+7GwpX6AEkNSTpi8E7e51BzvCMixIeL/Ym6dYHjx/kghooVnR209YoCMzqO+z15Mj8NihJateK/lVr9fQDZ8cAdHzrXHjx4EMOHD9esAF27dg35+fmIdHgDj4yMRLrEsg7p6emi+R88eIBr166hQoUK2L17NxYuXIgjCoaCJk2ahA8//FDxPngUxzf1o0eBefOc84lFbihBjbXswQPpckKFTE6HcuAA8NZb8tsuUkRemDzrWW1ZKw6xsfw6aVK4UoDGjgU++sheLrlDFWbo5H0JsePNwB/J+wHFAB55BEhNlZVVlbx16/LfoaHyFCAf9QFyiVQ0rgy4GzcYCvKQunWBEyfY18sIxb3f4sWLUaJECfz111/YuHEj7j4Mu1brVOhowuM4zqXJWiy/Nf327dt46aWXMH/+fJR1sZKyI6NHj0ZWVpbtc/nyZQV74CGsFpbkZD6EtkEDflzXEbUh43/8AQweDFy8qLxss2Z8qKgYISFA3768k2358vLq279fuQxqMJIF6GGQAbP25FqASAHyLL58vH/7DejWTf92xO5bPYbAzHCuhMeiShX7pUz0oEEDZfmrV9dHDkYonhHu+vXreP7557F161ZYLBacO3cOsbGxePXVV1GqVCl8/vnnsuopW7YsAgMDnaw9GRkZTlYeK1FRUaL5ixQpgjJlyuDEiRO4ePEiunbtattuddguUqQIzpw5g2rVqjnVGxISghC5PhPewnqDd+5sl+ykdoqYMWVFgckwsUtGgblSWEqVApYtc1u3Xb1u/qsqy9pE7um3w8BA6eMgtm9jxvAOkO6c583QyavEkFFgAQHqo8Bktq9IHpbUrMnPQ6XSUVr2uRG7Zv3ICdru+FivGYAPddeyz9nZ7ttu0oS3uGuw6hjCWvkQxWd4xIgRCAoKQkpKCsLCwmzpCQkJ2LBhg+x6goODER8fj82bN9ulb968Gc2aNRMt07RpU6f8mzZtQuPGjREUFIRHH30Ux44dw5EjR2yfbt26oW3btjhy5AgqVaqkYE8NhhFWDFdKnz7A0KHeloKHtYlcxEmfGTdvAm+8UbhGEuB6mERsW40a8lYON2gnbwgUXB+yc7Kap8uoKI2OVHMPipXx1yEwoSuKp+RlNJO+EY6u4t5v06ZNmDx5MipWrGiXXqNGDVxysSK5GElJSViwYAEWLVqEU6dOYeTIkUhJSUHiw4mnRo8ejf6CGTgTExNx6dIlJCUl4dSpU1i0aBEWLlyIUaNGAQBCQ0MRFxdn9ylVqhRKlCiBuLg4BJtkdkpRnnnG5fg6S899Znz3naYxaVlouem1lH3jDWDdOvXlXfHee3wkx5NP8p/YWPFZs90hx6pphk5eIx6JAlu40DlxyRL7/+HhgMA6DciMAhNrT0a6V86swoejKhlpCAzAwygw65AXw+V93D5LlB4XQYS20VB81O7cuWNn+bFy7do1xcNICQkJyMzMxIQJE5CWloa4uDgkJyejysPJttLS0uzmBIqJiUFycjJGjhyJL7/8EtHR0Zg1a5ZdCLzP0Lgx7xAs5M03vSOLLyAWwqt1CIz1+PaDB3xHdu5cYZrQCiSFluEcg3fypqFqVec04QtXtWq8j4zFwn4NpDp1wMlZ9sYT65nJvJ40HQFPKUBmeDmwvmAqsbw1aCDuKiG3vNLj8t138qfl8DCKFaBWrVph6dKlmDhxIgBeCy0oKMBnn32Gtm3bKhZg6NChGCoxTPL11187pbVu3RqHDh2SXb9YHaZg4EBnBYjFmli+QokSwJw5wIAB7vMmJgLPP++cbjQfgbt3+f2SWlZED1580XNt+RvCTv/QIeDhckLMkTs8riW44MwZefk8oTTIjaQz2v1tFOQGo0ih9LgGB/Mvi3/9pa1dHVCsAH322Wdo06YNDhw4gLy8PLz99ts4ceIErl+/jt27d+sho38idvOJDCfJ0dpVLYXhph415WW34+Y/AN5PJiDASQESLTtnjnhDRjORZ2e7VIAkl8JQ69v27rtAUpK6sh7C1EthCIclBA8NpzIPLeqqnaDdKEC21tTOXj58uNMEjnrA3AnaRy1Aoteckuu5Tx/AwZdWUdsjRshewsIml2AaF1M7QdepUwdHjx7FE088gXbt2uHOnTvo0aMHDh8+LBphRahE7ObT25/GLJw6xUb5MJqTZHQ0PyOr0vP86qv83Elifiiu6N2bqe+Az+G4UK9ShNeo1PU6diw/f44W9A6Q0PMaiY1VXkb4gmCdxE9srSujveAYhVdeAVSM1tjo2xf45RdlZQw647yqMxwVFYUPP/wQ69evR3JyMj766CNERERg6tSprOXzLx5/vPC32M0n4nuliQcPeNOxHh2ongvQenrlcqmwXj06yHfekTUEZqd6BQXxitPAgcraMoFC7QkHZkm6dOHXT5Ix/CMqp6uFgK0IV3ZXi5kVoKgo5WX++19+Nuhly4ANG4DffxePNjXaC45RsFi0zddksQD168vM+vAYikxWa4Sjq6gHv3btGn7++Wds2rQJ+Q81uvv372PmzJmoWrUqPlUTqUIUIjRjij1cXTiSqYoCu3cP+OknQGLxWVlImV5XrpRXnsVCp2oxagdZurQ+9TrCWqE2KKqVKIuFXztJxvCPaBvCIScJZVlyPSdXrF8PS1xc4X/BPahLFJiOCpCqc9OoEXD5Mm+JKFqUn8NM7Pj6uA+QqmvHiot9k/UsURpRbXYL0J49e1CjRg107doVnTp1QrNmzXDy5EnUrVsX//nPfzB27FjJVdwJmbhTgPSwsB0+rO3ilCor9waZOdMzs8eKERLC+8C4W9ZFSsnTq4OcP1+feh3xEwXI4/z733zElxwLkBo6d7b34Sgo0NevQgcFyCN+IEZ9wTECIvum6Jz4mwI0btw4dOjQAUePHsXw4cOxf/9+dOnSBWPHjsW5c+fw+uuvi4bHEyrx1NvH4sVA7drqy7O4sHVypgYA1KrlevvnnwNffSW9/amngPv3xbfp1UFev65PvY6YYAjMlEydyvtYyLAAMUHvh4tS5+nt211vd3dPsoJ8gKRRum+DB9v/f7jwuGyULqHhIWQfhT///BPjxo1DXFwcPvroI1gsFkyePBn9+/f37ji9LyFUBGQeU01RYADwzz/SD3gX9dj+66AAMV0K47PP3Bdq3Vo8vVs3fihP6vh4eHZuySgwtZhAATJlFJg1TcICxHwpDLlRYGpRagFq1Ypf+08KCZ8q1ueGosBcoHTfHs7NZ2vHhTuG6PNm6VJgyBA+TVnLuiL7Crl+/TrKPZxMLiwsDGFhYWjoiYm1/Al3Q2BGRM5K7O7QMklWQoLr7XLeXqOjgStXnNOHDwdcLapr9nmZzHKNmQC3TtB6HmsjOkEb4dqiITBpWFjHTp+Wnz86Gpg9W1ubOiD7yrauth4aGmpbsT0nJwe3bt2yy1dSr8m+/AGhAlS3rqKiXlsKg4UFSIslYvZs/liNHq1NhgoVnNPcvVWxUP5U4sNdsx0srMseWQpDZRSYWkdWuzICBcgwTtAy90nXc+OjFiArmpygXbwYij5LxNqRMZTpSj4jHF3ZVwjHcahZsyYiIiJQunRpZGdno2HDhoiIiEBERARKlSqFiIgIPWX1fd54g5+ifN064LHHvC2NPFgoQFp8x0qU4Gd61gN3ClDNmvySJQQhhvAho+fD1GwWoJo1PRP48Mor2sobwYqlF2onxfQxZF/ZW7du1VMO/+bLL/lx87p1Fc2xIBuRdV8UsWYN0L078PPPzttYWEG0Os/rFabrTgEKDAT++IOfUXnKFH1kIMyLpx6gRowCu3dPeltgILgePYC1a9XLJIdGjfgFpNVONGlwC5AmRM6p6DUUHg7s2AGsX6+7SN5A9pXdWspRlNCOxFpozPjxR23ln31WerIxFhagLl2AGTPUl/fmbMYWi/3b1AsvACtWeE8ed3ToAGzc6G0p/IPwcM+0o7cFSI1Tcna29DZPWh+io9WX9WULkNw+s2tX/oXcRxUgHz7D/oGsKDDhb8coMLkcOuQcYXX9Oj8jq1b+9S+70FnFUWCCm9mprJaIEmtZq6N1377i+YRvimKrgkuxaJEyccR+K7XuDR/Of7dsqayclzB1FFitWsC4ccCsWW7LCNMVR4E9/bQSkZWTlaW8jKsAAQkFiHkUmFYMagFiEgUmVwFyOFdy2nG33qRBzi4AUoAIueTmOqd99x27+q1r+qhBrzdK6827cCE/Y/a8eeL5XDm7li8vPdGi0snEHBkyRPlwaXw8kJ7OT9RHMENSWZkwgfft05N588TXwmLF3bvKy7hSgDxtsRWzyHbp4r6cL1uA5O6bj68V6MNn2L/QPQpMTAHyYhSUHaze1Jo1s/9vVYCKFeN9oKR8laTCnUNCeL+pAwf4Nb4c0RD+bwHUDX1YLEBkpGk6NlNHgckspzkKLCICeOklPl2YR5VEIrBWgAR4ZA65hATnqNrnnnNfzqAWICuaosBcWHLsanw4AaKW61tWO16CFCBCHmIKkK+9IW3cCBw5UvhfrllZygJ0/jwfJVazJiC2Tp6W+Y8AdQqQr50zQn9YK0Djx6uXRS1ffGGbzA8Av6DyP/8AzZtLl/H3eyU1lV9nzYeRfYajo6MxZMgQ/PLLL8gz+wRwhHKMbAFiRfHi9lO2y53oU0oBchyamz7d/r/WITBSgIiHKPYBefZZ+29XqLnPXT0junb1vJ9PmzbAxYt8MMfSpby195FHXE9jUaqUh4TzAnJ8c5Q6kHfvrlocbyG7N/zuu+8QFhaGYcOGoWzZsnj++efxzTff4Lqn1i3yRWrW9Jx3/Y4d/LIOat7mAGDBAue0Vau0yWRUrl/nO8uoKHn5reb0Rx6xV4AclY0RI4Bt2wr/e8IC9H//Z//f4GZ9wkMsXQosX85/SzFhAj9B6HvvKa/fqC/JTZoA/foV/h84UDxf//7ylEOCp0QJYPVqb0uhGNkKUJs2bfD555/j3Llz2Lt3Lxo1aoQvv/wSFSpUQJs2bTB9+nT8/fffesrqGwjf+keP5ld2lsLRYiCC7Ciw1q2BF14A95//KCprIyPDOcIqJ0dJDbJhuhaYmjfNiAh7c7k74uL44a6zZ4E7dwrTxXyGhAqIQgXIaU/kKEBz5gA7dxb+9yMLkNejwBSUEaYriQKTC+foLF+iBD9lg5SD/qef8hFsqalA5crKG5RSgGJjJYt4JQqsfn3gf/8r/D91Kn9fLVli2MkCmUSBqTzGku0ULWrr29xe/8I/Xp5eR1VvWLduXYwePRq///47UlJS0LdvX/z222+oV68e4uLi8LPYhHmEM+4UiBEjgNBQtm0eO8a2PoInJoZXeNLTC9OKFXPOJ1RAlK6o7IgcBchiAcqUsf9PMMfwC0IrsTQfPVrotK92v6QUIK1zkulB+fKFv4sVo3tEDSoUKgugvQ/UiOZQkMjISAwePBiDBw9GTk4ONm7ciBCtpn1fRvjQkmNBkTnRoCUiArhxwz5NiVwEG9LSXG8XKkBaI7HkTqDpaljOD/D5KDBhusRvRfN1sTheUgpQTIxDUwbrpQxq9RHDI1FggrZ0Qe9JPN3ANBY2LCwMz8kJL/RnhCdc+GYuJ78rSpVyUoB0p0gR33OE1orQAiSGKydpd5QoAdy+zf9u2BB48kl55WQsykmYG6bDRiweSlIKkNEmO3TEj1/eNZ0Rtf2KlxUg/3sd9CYcV3jCe/Wyzd3hErlLTXjjweaNuWSkFtwdOdKzckghtqq8EKEyolQBKl268LcS07GfW4D8Chb9gJRfkBLcKECGY9Qo4PHHgd69vS2JZ2Ddd6tVaL2sCFNv6EmEysxXXzEZ/1S8FIbCsq7a4nR6W5J0gh4+HNi7V7zQtGnAmDFsl8JQw/z5wPPPA/v2iW/X4APECSZqNOwbNGNMvRSGgjLCdKVO0Hb1FS2qqE0nfvzRaZhKFUIFSBjM4WpiPG9ahz77jF/YmLXPpQ4wcYLu1k2+BVlhO4qWwiALkB8hHC5irYEb9c2KJTNm8OsrGZmYGOD774EnnhDfLlSAlHa2Eyeqk0n4Ru8P14kXMIwvS3S0tsiaHj3YyCF88NH1ZzyCg/mXScfZ7z0NKUB+xP37hb8ZK0AWsbddpi2IoGaRRKIQpQpQyZK2n4oeuFFRvPL41Vem83GgpTCUtWcJCgI2bOB/y61s1Cj++803FcshCxc+aIZRHE2IJidoKyJD4qqcoCUsQ26XwvCyJVvWU7iHgreCVb46OR4LhBYg1uF/cn2FCO8iVILdKSOvv84vzbFrl/Z2ravAE75PaCiQnc3PbC6HyZP5yQHj4tjJ8PLL/Fw6PXuaKrLK7/C2T6CXrw1Zex8eHi77Q7hAzRDYiy/Ky+dlUyKiogodlIXLSRD2CH0j3FmAHjzwegdBmAMnX4tixWRNpAqAfwjWr8/2YThnDrBmDa8EiViA/MWHzfAIzo3dGRGbw0yMli35b6kZtd2xY4e6coyQ9RRevHix3nL4B9a3/8BA+WPh8+YBLVo4z/kSG8vPPmyFhQIUEKC+noICYM8eYOZM4N131dURFeU+jNzsCBUgd1bABw+8biImTEy/ft6LjixalHe0BeyvcxryMhZSL1jHj8sr//PP/EzzTz/NTiYPQj5AnsRqAVLi/1OsGDBkiHN6+/YABFq7cDZTB2RHgSmZwtzxf0EBv8LynDnKlpEQ8scfQLFi4u18842sKrweBeYOoQLk7mHgoAC5i67wRSgKTJ0MavLohnBRUaNGgZkIJlFgVqSsflWrymu7RAngmWfslnhSFAXmZVR54v7www/4/vvvkZKS4rQy/KFDh5gI5pOoUYDkwqJOLR0PCwtUpUrA2rXAv/7lvK1PH/flzfB2qcT3iyxApoGceV0gnLuLjpOxECpAIqsJ+DqKLUCzZs3CgAEDUL58eRw+fBhPPPEEypQpg/Pnz6NTp056yOg7WIfAWDhAy4im0NTVjBypzJeHlQ/SU0+Jp/tKx/nUU/wq0x984D4vKUAUBaawPWG6YZQy4TIcDhYHw8hoQphHgT1UVFkuheE2CszLKDYbzJ49G/PmzUOfPn2wZMkSvP3224iNjcX777+P69ev6yGj76CnBYgFkZGFKyNznDI5WTphP/008Ouv9mlybsD4eHYy6EVgILB6deH/WrWAM2fE81JkH+ELREcDCxfywyRG7fv8FT9fJkexBSglJQXNHk6eVLRoUdx+uDZRv379sHz5crbS+Rp6KkAsrEr9+hX+LihQFoHE0lLx1lvOaXJuzu7dAbOtRbdnD5CQUPh/4cLC32QBImRieL+ZgQPtlv4xvLz+gjAKjBQg90RFRSEzMxMAUKVKFfz+++8AgAsXLtBF7Q6WQ2COhIeLKw5yGTAAeOcd+zRvWYDUYrGYLwS/dGlAOHTcvXvh7wcPgFde4X83bOhRsQiC8APIAqSMp556CuvWrQMADBo0CCNHjkS7du2QkJBAK8G7g6UFyBoxIUybMkX0t6wosKQk+9XpLRYnRc1tFBgjHBVpJWq1U1mzKeVCq9u1a8CgQcD27cC2bX4ZBaYFigJTlsfbUBSYPHSLApNxvbG41ox0dhU/iefNm4eChw+7xMRElC5dGrt27ULXrl2RmJjIXECfokwZ/o1eqGiw5swZYOtW3uT89tvyyxUU2N8AFov3hsD8mcBAoE0bYNs24IUX+A6qVSt+29273pSMcAE58xKmxIsWICPcMYoVoICAAAQIDlrv3r3Ru3dvpkL5LDVqADpNKmnrgGvW5D9QeIGJWXDMNgRmVoTKY5EiwLp1wO7d0hFxhCIoCsy4mEFGo8I8CuxhXSyjwJxYtw7o2pVNXQxQNRZz8+ZN/PHHH8jIyLBZg6z079+fiWCEhxGLOOrXD9i0SV55UoDUI1Q0AwP5WXQ7dPCePARB+AdRUZ5tr0sX3hl+2TLgvfc827YIihWgdevWoW/fvrhz5w5KlCjh9MZBCpBJcVRgLBagb1/+DaFvX/flaQhMPdWrF/6mtb8IFZjNb8Zs8vosH37IL6nUvz84OXOTsaR0ac+2J4JiJ+g333wTAwcOxO3bt3Hz5k3cuHHD9qF5gDyPnG5ElhO0mAXHYgFat5Zsi5ygGfHEE/zkiP37u1SA/NEJmvVSGCzqdVcPKydoLTKoyWMUzCSrN2B6fCIigPXrgd69dXGCZuqwrQOKLUCpqakYNmwYwsLC9JCHkMOWLcCqVWzrLFdOPF2uH5CBLmrTERBgPzkioRt6+ZzoUa+/+cf42/4aDj88/ootQB06dMCBAwf0kIWQw2OPiTrHaloKY9kyfnV5+wr5b7lDMjNnym2NIGRDS2Eoa4+coP0HJk7Q9hXyXxJtqavS/eK33kSxBahz58546623cPLkSdSrVw9BDnPFdOvWjZlwhIdw5eMjxwI0cyYwbBg7eQiCIAjP0rw5cPy4vU+ij6NYARo8eDAAYMKECU7bLBYL8mn9In2xDjXprT0rsQBVqaKvLARBEIS+VKjAfz/9tHfl8CCKh8AKCgokP6T8eJAnn2RTz2uviacrUYBogUOC8CpGciyVg9nk9Qc4T71cGwjFChBhEPr0AZYuBffRR26zuowCmzbNdWGBcsNNny5eL2MFyO+iwGRCUWDsylIUmHExk6zewN314422pfL4XBTYrFmzRNMtFgtCQ0NRvXp1tGrVCoE0n4k+WC+egAB+okLh6uFqCA52vV14HiMjxfOQBYgwCRQFZlz8bX8J76P4yTV9+nRcvXoVOTk5iIiIAMdxuHnzJsLCwlC8eHFkZGQgNjYWW7duRaVKlfSQmRBBUxSYeIX8d4AMIyEpQIROUBSYsvYoCsx/YB4FJqhXTpraurTWyRLFQ2CffPIJHn/8cZw7dw6ZmZm4fv06zp49iyZNmmDmzJlISUlBVFQURo4cqYe8hKeRc5HKUZIIgiAIwkAofnUfO3YsfvzxR1SrVs2WVr16dUydOhU9e/bE+fPnMWXKFPTs2ZOpoH5PlSrApUv8jMHegia/JAhDYiS/CjmYTV5/wB/PiWIFKC0tDQ8ePHBKf/DgAdLT0wEA0dHRuH37tnbpiEL27QN++w3wlGL56KOFv6dOBS5fBmrX9kzbBEEQBKEziscu2rZti//7v//D4cOHbWmHDx/GkCFD8NTDGYqPHTuGmJgYdlISvANynz5OTsuyvPJl/Laxaxfw0UfAyy8Xpr35JjBjhuu1wBhCUWDi+GMUmBbEjpHV78AMUWByfSR8JQqM9bnxVcwUBaa2Dk+hWAFauHAhSpcujfj4eISEhCAkJASNGzdG6dKlsfBhRFLx4sXx+eefMxeW0ECJEnzEmLvz0rw5MGYMrUpOEARB6IYRnKAVD4FFRUVh8+bNOH36NM6ePQuO4/Doo4+iVq1atjxt27ZlKiThHpdRYNWrA6dP80qNMGyelBzCD6AoMONiBhmNihmiwIyO6vjlRx99FI8K/UQI4xIYSMoOQRAEQQiQNQSWlJSEO3fu2H67+ihl9uzZiImJQWhoKOLj47Fz506X+bdv3474+HiEhoYiNjYWc+fOtds+f/58tGzZEhEREYiIiMDTTz+NP/74Q7FchAJq1vS2BATh1xjJr0IOZpPXH/DHcyLLAnT48GHcv3/f9lsKpWaylStXYsSIEZg9ezaaN2+Or776Cp06dcLJkydRuXJlp/wXLlzAM888g8GDB2PZsmXYvXs3hg4dinLlytnC7rdt24Y+ffqgWbNmCA0NxZQpU9C+fXucOHECjzzyiCL5zICWqcm1TrnPPf888MEH0jNEq4ScoMXxRydoWgpDnQxq8hgFM8nqDczkBO0TS2Fs3bpV9LdWpk2bhkGDBuHVV18FAMyYMQMbN27EnDlzMGnSJKf8c+fOReXKlTFjxgwAQO3atXHgwAHbHEQA8O2339qVmT9/Pn744Qds2bIF/fv3Zya7qShVSp96R4wA6tTRp26C0AEz+TKYSVYW+Nv+Et5H8xS+ly5dwsmTJ1FQUKCoXF5eHg4ePIj27dvbpbdv3x579uwRLbN3716n/B06dMCBAwdsFipHcnJycP/+fZQuXVpSltzcXNy6dcvuYzZEHdd69OB/tGzpYWkIgg1mWgpDrTMzOUETajCDE7TPLIWxZMkSm+XFyr///W/ExsaiXr16iIuLw+XLl2U3fO3aNeTn5yPSYfgkMjLSNqGiI+np6aL5Hzx4gGvXromWeffdd/HII4/g6aeflpRl0qRJCA8Pt318Zg0z6zCiuwVPCYIgCMLPkK0AzZ07F+Hh4bb/GzZswOLFi7F06VLs378fpUqVwocffqhYAEctkOM4RVqjq0nDpkyZguXLl2PVqlUIDQ2VrHP06NHIysqyfZQocgRBEARBmA/ZYfBnz55F48aNbf/XrFmDbt26oW/fvgD4RVIHDBggu+GyZcsiMDDQydqTkZHhZOWxEhUVJZq/SJEiKFOmjF361KlT8cknn+DXX39F/fr1XcpindCRIAjCjBjJsVQOZpPXH/DHcyLbAnT37l2ULFnS9n/Pnj1o1aqV7X9sbKzk0JUYwcHBiI+Px+bNm+3SN2/ejGbNmomWadq0qVP+TZs2oXHjxggKCrKlffbZZ5g4cSI2bNhgp7T5Il6NAtPphqEoMHEoCoxdWYoCMy5mktUbUBQYO2QrQFWqVMHBgwcB8P47J06cQIsWLWzb09PT7YbI5JCUlIQFCxZg0aJFOHXqFEaOHImUlBQkJiYC4IemhJFbiYmJuHTpEpKSknDq1CksWrQICxcuxKhRo2x5pkyZgrFjx2LRokWoWrUq0tPTkZ6ejuzsbEWyEQZizBhvS0D4CEZwvJSLmWRlgb/tL+F9ZA+B9e/fH6+99hpOnDiB3377DY8++iji4+Nt2/fs2YO4uDhFjSckJCAzMxMTJkxAWloa4uLikJycjCpVqgDgV55PSUmx5Y+JiUFycjJGjhyJL7/8EtHR0Zg1a5YtBB7gJ1bMy8tDr1697NoaP348PvjgA0XymQmfnr68USNvS0B4CbNFgSl9u6UoMOPLaFQoCkw7shWgd955Bzk5OVi1ahWioqLw3//+12777t270adPH8UCDB06FEOHDhXd9vXXXzultW7dGocOHZKs7+LFi4plIAiCIAjCv5CtAAUEBGDixImYOHGi6HZHhYggCIIgCMKoaJ4IkSAIgvAuRnIslYPZ5PUH/PGckAJkcvwiCkxBOxQFRlihKDBleYyCmWT1BmaKAlNbh6cgBYggCL/BCI6XcjGTrCzwt/31d4xwvkkB8hF8OgqMIDRAa4EZFzPIaFTMEAVmdDQrQA8ePKA5dgiCIAiCMBWyFaDk5GR88803dmkff/wxihcvjlKlSqF9+/a4ceMGcwEJgiAI1xjJr0IOZpPXH/DHcyJbAZo6dSpu3bpl+79nzx68//77GDduHL7//ntcvnxZMkSe0A8WU5OrbYucoD2LPzpB01IY6mRQk8comElWb2AmJ2ifWQrj+PHjdmt0/fDDD2jXrh3GjBmDHj164PPPP8e6det0EZIgCIIFZvJlMJOsLPC3/SW8j2wF6Pbt23Yrru/atQtPPfWU7X/dunVx5coVttIRsvEnxzXCfzDbUhieLOcu3Qz3vxlkNCpmcII2+lIYshWg6OhonDp1CgCQnZ2NP//8E82bN7dtz8zMRFhYGHsJCYIgCIIgGCNbAerVqxdGjBiBb775BoMHD0ZUVBSefPJJ2/YDBw6gVq1aughJEARBEATBEtlrgY0fPx5XrlzBsGHDEBUVhWXLliEwMNC2ffny5ejatasuQhIEQRDSGMmxVA5mk9cf8MdzIlsBCgsLcwqDF7J161YmAhHK0OqVz3Gc7LFYigLzLhQFxq4sRYEZFzPJ6g0oCowdzGaCvnfvHqZOncqqOoIgCOYYwfFSLmaSlQX+tr+E91GkAF27dg0///wzNm3ahPz8fADA/fv3MXPmTFStWhWffvqpLkIS7qEoMMIXoSgw6XLu0s1w/5tBRqNCUWDakT0EtmfPHnTu3BlZWVmwWCxo3LgxFi9ejGeffRYFBQUYO3YsBg4cqKesBEEQBEEQTJBtARo3bhw6dOiAo0ePYvjw4di/fz+6dOmCsWPH4ty5c3j99dcpDJ4gCIIgCFMgWwH6888/MW7cOMTFxeGjjz6CxWLB5MmT0b9/f0OYsgiCIPwVIzmWysFs8voD/nhOZCtA169fR7ly5QDwEWFhYWFo2LChboIR8mARBaa2LYoC8ywUBcauLEWBGRczyeoNKAqMHbJ9gCwWC27fvo3Q0FBb6HROTo7dAqkAULJkSeZCEgRBsMBM1mozycoCf9tfwvvIVoA4jkPNmjXt/gstQFalyBodRngWigIjfBGKApMu5y7dDPe/GWQ0KhQFph3ZChBNdEgQBEEQhK8gWwFq3bq1nnIQBEEQBEF4DNkKkKOvjxTkA+RZyAmaXVmjQ07Q7Mr6mhO02ja9hSfOja+ilxM0K2d6n3SCLlWqlMsxO/IBIgiCIAjCLJAPkI9ATtCEL8LaCVqve0IPJ2g1DqRmdoI2g7xGgpygtUM+QARBEARB+B3MVoMnCIIgCIIwC7ItQAEBAW5NVhaLBQ8ePNAsFEEQBEEQhJ7IVoBWr14tuW3Pnj34z3/+Yyjvbn+BosDYlTU6FAXGrixFgXkXigJTD0WBsUO2AtS9e3entNOnT2P06NFYt24d+vbti4kTJzIVjiAIgiAIQg9U+QBduXIFgwcPRv369fHgwQMcOXIES5YsQeXKlVnLR8iEosAIX4SiwKTLuUs3w/1vNnmNBEWBaUeRApSVlYV33nkH1atXx4kTJ7BlyxasW7cOcXFxeslHEARBEATBHNlDYFOmTMHkyZMRFRWF5cuXiw6JEQRBEARBmAHZCtC7776LokWLonr16liyZAmWLFkimm/VqlXMhCMIgiDcYyTHUjmYTV5/wB/PiWwFqH///oYYsyPsoSgwdmWNDkWBsSvra1FgLPIYBTPJ6g30igLT0rZUHp+IAjt69CgWLlyIwMBAveUhCILQDTO9xJlJVhb42/4S3keWE3TDhg1x/fp1AEBsbCwyMzN1FYpQDkWBEb4I6ygwvdAjCsxdOXfpZrj/zSCjUaEoMO3IUoBKlSqF8+fPAwAuXryIgoICXYUiCIIgCILQE1lDYD179kTr1q1RoUIFWCwWNG7cWHI4zKooEQRBEARBGBVZCtC8efPQo0cP/PXXXxg2bBgGDx6MEiVK6C0bIQNygmZX1uiQEzS7sr7mBE1LYfgPtBQGO2RHgXXs2BEAcPDgQQwfPpwUIIIgCIIgTItsBcjK4sWL9ZCD0Ag5QRO+iK8vhWEtqyRdbhkz3P9mk9dIkBO0dlStBUYQBEEQBGFmSAEiCIIgCMLvIAWIIAiCIAi/gxQgk0NRYOzKGh2KAmNXlqLAvAtFgamHosDYQQoQQRAEQRB+BylAPgJFgRG+iC9HgVnzUxSY82/CPRQFph1SgAiCIAiC8DtIASIIgiAIwu8gBYggCIIgCL+DFCCTQ1Fg7MoaHYoCY1eWosC8C0WBqYeiwNhBChBBEARBEH4HKUA+AkWBEb4IRYG5Lusq3Qz3v9nkNRIUBaYdrytAs2fPRkxMDEJDQxEfH4+dO3e6zL99+3bEx8cjNDQUsbGxmDt3rlOeH3/8EXXq1EFISAjq1KmD1atX6yU+QRAEQRAmxKsK0MqVKzFixAiMGTMGhw8fRsuWLdGpUyekpKSI5r9w4QKeeeYZtGzZEocPH8Z7772HYcOG4ccff7Tl2bt3LxISEtCvXz/8+eef6NevH3r37o19+/Z5arcIgiAIgjA4RbzZ+LRp0zBo0CC8+uqrAIAZM2Zg48aNmDNnDiZNmuSUf+7cuahcuTJmzJgBAKhduzYOHDiAqVOnomfPnrY62rVrh9GjRwMARo8eje3bt2PGjBlYvny5Z3ZMgtzcXKSnpzOt8/r1627z3Lp1C5cuXRLNf+nSJYSGhspqKy0tze5/enq6rV6WXL161em/3HZu3bqluqzRSU1Ntf3Oy8vzmf1yhfDaVcqdO3ckt/3vf/9jcvwKCgqc0v755x8EBgZKlsnIyBBNv3PnDi5duoScnBxFMqSkpEjWKcyTnZ2tqF49cdVv6dWv+Ap3794VTU9JSUGJEiVU1+vYd4phvUZdkZmZ6TK/0utbVzgvkZubywUGBnKrVq2ySx82bBjXqlUr0TItW7bkhg0bZpe2atUqrkiRIlxeXh7HcRxXqVIlbtq0aXZ5pk2bxlWuXFlSlnv37nFZWVm2z+XLlzkAXFZWlppdk2Tv3r0cAF0+L774olN7Y8aM0a09+tDHLJ8ZM2bY7onHHntMlzb++usvrnjx4orKBAQEcBzHcXPnzhXdvmjRIsm+5MGDB6JlmjVrZsuTn5/v9WPv7vPSSy/Z5K1du7bX5THTZ8mSJdy9e/eY1/vOO+84XW9fffUV83bmz5+v6jnqjqysLA6Q9/z2mgXo2rVryM/PR2RkpF16ZGSkpJUkPT1dNP+DBw9w7do1VKhQQTKPK8vLpEmT8OGHH6rcE/lYLBbZ1hYlhIaGolu3bk7pHTp0wIIFC5CVleWU/+bNm6pksVgsuHv3LsLCwkTffllRpEgRxMTE4OLFi7h//76isiVLlkS7du2wdu1axWWNzr179wBAl+vISFj3MygoyKU1xR1lypRB27Ztbf979+6Nc+fOIT8/X7OMVho1aoQqVargxRdfxNKlS2WX69WrFwCgdevWqFy5sp0VJzIyEi1btpQsGxgYiISEBKxZs8aWVqRIEVudABAQEOCUx0g49lsJCQmYMmWKrv2KrxAVFYUWLVogJCQEPXv2xM8//8yk3pIlS6Jjx45O6WLXqCvc9VPly5dHq1at1AvKCAvHeSco/8qVK3jkkUewZ88eNG3a1Jb+8ccf45tvvsHp06edytSsWRMDBgywDW8BwO7du9GiRQukpaUhKioKwcHBWLJkCfr06WPL8+2332LQoEG2k+JIbm4ucnNzbf9v3bqFSpUqISsrCyVLlmSxuwRBEARB6MytW7cQHh4u6/ntNQtQ2bJlERgY6GSZycjIcLLgWImKihLNX6RIEZQpU8ZlHqk6ASAkJAQhISFqdoMgCIIgCBPitSiw4OBgxMfHY/PmzXbpmzdvRrNmzUTLNG3a1Cn/pk2b0LhxYwQFBbnMI1UnQRAEQRD+h1ejwJKSktCvXz80btwYTZs2xbx585CSkoLExEQAfARXamqqbVw9MTERX3zxBZKSkjB48GDs3bsXCxcutIvuGj58OFq1aoXJkyeje/fuWLNmDX799Vfs2rXLK/tIEARBEITx8KoClJCQgMzMTEyYMAFpaWmIi4tDcnIyqlSpAoAPuxbOCRQTE4Pk5GSMHDkSX375JaKjozFr1ixbCDwANGvWDCtWrMDYsWMxbtw4VKtWDStXrkSTJk08vn8EQRAEQRgTrzlBGxklTlQEQRAEQRgDJc9vry+FQRAEQRAE4WlIASIIgiAIwu8gBYggCIIgCL+DFCCCIAiCIPwOUoAIgiAIgvA7SAEiCIIgCMLvIAWIIAiCIAi/gxQggiAIgiD8DlKACIIgCILwO7y6FIZRsU6OfevWLS9LQhAEQRCEXKzPbTmLXJACJMLt27cBAJUqVfKyJARBEARBKOX27dsIDw93mYfWAhOhoKAAV65cQYkSJWCxWJjWfevWLVSqVAmXL1+mdcZ0hI6zZ6Dj7BnoOHsOOtaeQa/jzHEcbt++jejoaAQEuPbyIQuQCAEBAahYsaKubZQsWZJuLg9Ax9kz0HH2DHScPQcda8+gx3F2Z/mxQk7QBEEQBEH4HaQAEQRBEAThd5AC5GFCQkIwfvx4hISEeFsUn4aOs2eg4+wZ6Dh7DjrWnsEIx5mcoAmCIAiC8DvIAkQQBEEQhN9BChBBEARBEH4HKUAEQRAEQfgdpAARBEEQBOF3kALkQWbPno2YmBiEhoYiPj4eO3fu9LZIpuaDDz6AxWKx+0RFRdm2cxyHDz74ANHR0ShatCjatGmDEydOeFFic7Bjxw507doV0dHRsFgs+Omnn+y2yzmuubm5eOONN1C2bFkUK1YM3bp1wz///OPBvTAH7o71K6+84nSNP/nkk3Z56Fi7ZtKkSXj88cdRokQJlC9fHs8++yzOnDljl4euae3IOc5Gu55JAfIQK1euxIgRIzBmzBgcPnwYLVu2RKdOnZCSkuJt0UxN3bp1kZaWZvscO3bMtm3KlCmYNm0avvjiC+zfvx9RUVFo166dba03Qpw7d+6gQYMG+OKLL0S3yzmuI0aMwOrVq7FixQrs2rUL2dnZ6NKlC/Lz8z21G6bA3bEGgI4dO9pd48nJyXbb6Vi7Zvv27Xjttdfw+++/Y/PmzXjw4AHat2+PO3fu2PLQNa0dOccZMNj1zBEe4YknnuASExPt0h599FHu3Xff9ZJE5mf8+PFcgwYNRLcVFBRwUVFR3KeffmpLu3fvHhceHs7NnTvXQxKaHwDc6tWrbf/lHNebN29yQUFB3IoVK2x5UlNTuYCAAG7Dhg0ek91sOB5rjuO4l19+mevevbtkGTrWysnIyOAAcNu3b+c4jq5pvXA8zhxnvOuZLEAeIC8vDwcPHkT79u3t0tu3b489e/Z4SSrf4Ny5c4iOjkZMTAxeeOEFnD9/HgBw4cIFpKen2x3zkJAQtG7dmo65BuQc14MHD+L+/ft2eaKjoxEXF0fHXgXbtm1D+fLlUbNmTQwePBgZGRm2bXSslZOVlQUAKF26NAC6pvXC8ThbMdL1TAqQB7h27Rry8/MRGRlplx4ZGYn09HQvSWV+mjRpgqVLl2Ljxo2YP38+0tPT0axZM2RmZtqOKx1ztsg5runp6QgODkZERIRkHkIenTp1wrfffovffvsNn3/+Ofbv34+nnnoKubm5AOhYK4XjOCQlJaFFixaIi4sDQNe0HogdZ8B41zOtBu9BLBaL3X+O45zSCPl06tTJ9rtevXpo2rQpqlWrhiVLltgc6+iY64Oa40rHXjkJCQm233FxcWjcuDGqVKmCn3/+GT169JAsR8danNdffx1Hjx7Frl27nLbRNc0OqeNstOuZLEAeoGzZsggMDHTSYDMyMpzeOgj1FCtWDPXq1cO5c+ds0WB0zNki57hGRUUhLy8PN27ckMxDqKNChQqoUqUKzp07B4COtRLeeOMNrF27Flu3bkXFihVt6XRNs0XqOIvh7euZFCAPEBwcjPj4eGzevNkuffPmzWjWrJmXpPI9cnNzcerUKVSoUAExMTGIioqyO+Z5eXnYvn07HXMNyDmu8fHxCAoKssuTlpaG48eP07HXSGZmJi5fvowKFSoAoGMtB47j8Prrr2PVqlX47bffEBMTY7edrmk2uDvOYnj9embuVk2IsmLFCi4oKIhbuHAhd/LkSW7EiBFcsWLFuIsXL3pbNNPy5ptvctu2bePOnz/P/f7771yXLl24EiVK2I7pp59+yoWHh3OrVq3ijh07xvXp04erUKECd+vWLS9Lbmxu377NHT58mDt8+DAHgJs2bRp3+PBh7tKlSxzHyTuuiYmJXMWKFblff/2VO3ToEPfUU09xDRo04B48eOCt3TIkro717du3uTfffJPbs2cPd+HCBW7r1q1c06ZNuUceeYSOtQKGDBnChYeHc9u2bePS0tJsn5ycHFseuqa14+44G/F6JgXIg3z55ZdclSpVuODgYK5Ro0Z24YGEchISErgKFSpwQUFBXHR0NNejRw/uxIkTtu0FBQXc+PHjuaioKC4kJIRr1aoVd+zYMS9KbA62bt3KAXD6vPzyyxzHyTuud+/e5V5//XWudOnSXNGiRbkuXbpwKSkpXtgbY+PqWOfk5HDt27fnypUrxwUFBXGVK1fmXn75ZafjSMfaNWLHFwC3ePFiWx66prXj7jgb8Xq2PBScIAiCIAjCbyAfIIIgCIIg/A5SgAiCIAiC8DtIASIIgiAIwu8gBYggCIIgCL+DFCCCIAiCIPwOUoAIgiAIgvA7SAEiCIIgCMLvIAWIIAiCIAi/gxQggiAMz7Zt22CxWHDz5k1vi0IQhI9AChBBEIaiTZs2GDFihF1as2bNkJaWhvDwcO8IBX7RzA0bNnitfYIg2FLE2wIQBEG4Izg4GFFRUV5r/+jRo8jMzETbtm29JgNBEGwhCxBBEIbhlVdewfbt2zFz5kxYLBZYLBZcvHjRaQjs66+/RqlSpbB+/XrUqlULYWFh6NWrF+7cuYMlS5agatWqiIiIwBtvvIH8/Hxb/Xl5eXj77bfxyCOPoFixYmjSpAm2bdvmVq41a9agQ4cOCAkJEd3+wQcfoHLlyggJCUF0dDSGDRvG4nAQBKEjZAEiCMIwzJw5E2fPnkVcXBwmTJgAAChXrhwuXrzolDcnJwezZs3CihUrcPv2bfTo0QM9evRAqVKlkJycjPPnz6Nnz55o0aIFEhISAAADBgzAxYsXsWLFCkRHR2P16tXo2LEjjh07hho1akjKtXbtWgwfPlx02w8//IDp06djxYoVqFu3LtLT0/Hnn39qPxgEQegKKUAEQRiG8PBwBAcHIywszO2Q1/379zFnzhxUq1YNANCrVy988803+N///ofixYujTp06aNu2LbZu3YqEhAT8/fffWL58Of755x9ER0cDAEaNGoUNGzZg8eLF+OSTT0TbSU1NxZ9//olnnnlGdHtKSgqioqLw9NNPIygoCJUrV8YTTzyh4SgQBOEJaAiMIAhTEhYWZlN+ACAyMhJVq1ZF8eLF7dIyMjIAAIcOHQLHcahZsyaKFy9u+2zfvh1///23ZDtr165F8+bNUbp0adHtzz//PO7evYvY2FgMHjwYq1evxoMHDxjtJUEQekEWIIIgTElQUJDdf4vFIppWUFAAACgoKEBgYCAOHjyIwMBAu3xCpcmRtWvXonv37pLbK1WqhDNnzmDz5s349ddfMXToUHz22WfYvn27kzwEQRgHUoAIgjAUwcHBdo7LrGjYsCHy8/ORkZGBli1byiqTnZ2NrVu34ssvv3SZr2jRoujWrRu6deuG1157DY8++iiOHTuGRo0asRCdIAgdIAWIIAhDUbVqVezbtw8XL15E8eLFJYeelFKzZk307dsX/fv3x+eff46GDRvi2rVr+O2331CvXj1RH58NGzagRo0aiI2Nlaz366+/Rn5+Ppo0aYKwsDB88803KFq0KKpUqcJEboIg9IF8gAiCMBSjRo1CYGAg6tSpg3LlyiElJYVZ3YsXL0b//v3x5ptvolatWujWrRv27duHSpUqieZfs2aNy+EvAChVqhTmz5+P5s2bo379+tiyZQvWrVuHMmXKMJObIAj2WDiO47wtBEEQhNHIz89H+fLl8csvv1BUF0H4IGQBIgiCECEzMxMjR47E448/7m1RCILQAbIAEQRBEAThd5AFiCAIgiAIv4MUIIIgCIIg/A5SgAiCIAiC8DtIASIIgiAIwu8gBYggCIIgCL+DFCCCIAiCIPwOUoAIgiAIgvA7SAEiCIIgCMLvIAWIIAiCIAi/4/8BBsKwCWsw0SQAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
channelma_fractionma_count
0all channels combined[0.31911872283661086, 0.3049614871552132][274, 229]
\n", "
" ], "text/plain": [ " channel ma_fraction \\\n", "0 all channels combined [0.31911872283661086, 0.3049614871552132] \n", "\n", " ma_count \n", "0 [274, 229] " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# plot the figure\n", "\n", "p.figure()\n", "p.plot(fNIRSdata.sel(time=slice(0,250)).time, fNIRSdata.sel(channel=\"S3D3\", wavelength=\"760\", time=slice(0,250)), \"r-\")\n", "p.plot(ma_mask_refined.sel(time=slice(0,250)).time, ma_mask_refined.sel(time=slice(0,250))/10, \"k-\")\n", "p.xlabel(\"time / s\")\n", "p.ylabel(\"fNIRS Signal / Refined Motion artifact mask\")\n", "p.show() \n", "\n", "# show the information about the motion artifacts: we get a pandas dataframe telling us \n", "# 1) that the mask is for all channels\n", "# 2) fraction of time points that were marked as artifacts for this mask across all channels\n", "# 3) how many artifacts where detected in total\n", "ma_info" ] } ], "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.11.8" } }, "nbformat": 4, "nbformat_minor": 2 }