From cda79c3567e357844e1bf02b1841ffb1fb05cc15 Mon Sep 17 00:00:00 2001 From: Antonio MORAIS <amorais@lentix14.idiap.ch> Date: Mon, 20 Sep 2021 13:57:23 +0200 Subject: [PATCH] Added Goutte implementation port --- .../goutte_port-checkpoint.ipynb | 216 ++ bob/measure/goutte_port.ipynb | 216 ++ coverage.xml | 2346 +++++++++++++++++ 3 files changed, 2778 insertions(+) create mode 100644 bob/measure/.ipynb_checkpoints/goutte_port-checkpoint.ipynb create mode 100644 bob/measure/goutte_port.ipynb create mode 100644 coverage.xml diff --git a/bob/measure/.ipynb_checkpoints/goutte_port-checkpoint.ipynb b/bob/measure/.ipynb_checkpoints/goutte_port-checkpoint.ipynb new file mode 100644 index 0000000..dc49291 --- /dev/null +++ b/bob/measure/.ipynb_checkpoints/goutte_port-checkpoint.ipynb @@ -0,0 +1,216 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [], + "source": [ + "from scipy.stats import beta\n", + "import matplotlib.pyplot as plt\n", + "import numpy\n", + "import random\n", + "\n", + "#Precision\n", + "\n", + "#System 1\n", + "TP1 = 10\n", + "FP1 = 10\n", + "# System 2\n", + "TP2 = 3\n", + "FP2 = 2\n", + "\n", + "nbsamples = 10000 # Sample size, higher is better \n", + "lbd = 0.5 # lambda\n" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<matplotlib.legend.Legend at 0x7f65a3d3c828>" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "x = numpy.linspace(0.01, 0.99, nbsamples)\n", + "pdf1 = beta.pdf(x, TP1 + lbd, FP1 + lbd)\n", + "pdf2 = beta.pdf(x, TP2 + lbd, FP2 + lbd)\n", + "plt.plot(x, pdf1, label='TP = {}, FP = {}'.format(TP1, FP1))\n", + "plt.plot(x, pdf2, label='TP = {}, FP = {}'.format(TP2, FP2))\n", + "plt.title('Beta distributions')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Empirical probability that system 2 is better than system 1 = 0.6548\n" + ] + } + ], + "source": [ + "def randombeta(nbsamples, shape1, shape2):\n", + " betageneration = numpy.empty(nbsamples)\n", + " for i in range(nbsamples):\n", + " betageneration[i] = random.betavariate(shape1, shape2)\n", + " return betageneration\n", + "\n", + "p1 = randombeta(nbsamples, TP1 + lbd, FP1 + lbd)\n", + "p2 = randombeta(nbsamples, TP2 + lbd, FP2 + lbd)\n", + "print('Empirical probability that system 2 is better than system 1 = {}'.format(numpy.count_nonzero(p2 > p1) / nbsamples))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Count')" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.hist(p2, bins=25)\n", + "plt.title(\"Distribution (empirical) for System 2 Precision\")\n", + "plt.xlabel(\"Precision\")\n", + "plt.ylabel(\"Count\")\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Empirical probability that system 1 is better than system 2 in F1 score = 0.9245\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 1080x360 with 2 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# F1-score \n", + "\n", + "def randomgamma(nbsamples, shape, scale):\n", + " gammageneration = numpy.empty(nbsamples)\n", + " for i in range(nbsamples):\n", + " gammageneration[i] = random.gammavariate(shape, scale)\n", + " return gammageneration\n", + "\n", + "FN1 = 0\n", + "FN2 = 7\n", + "# Sampling Gamma distributions to produce F-score samples\n", + "U1 = randomgamma(nbsamples, shape=TP1+lbd, scale=2)\n", + "V1 = randomgamma(nbsamples, FP1+FN1+2*lbd, scale=1)\n", + "F1scores1 = U1/(U1+V1)\n", + "U2 = randomgamma(nbsamples, TP2+lbd, scale=2)\n", + "V2 = randomgamma(nbsamples, FP2+FN2+2*lbd, scale=1)\n", + "F1scores2 = U2/(U2+V2)\n", + "\n", + "fig, axs = plt.subplots(1, 2,figsize=(15,5))\n", + "fig.suptitle('Empirical distribution for F1 scores')\n", + "axs[0].hist(F1scores1, bins=25)\n", + "axs[0].set_title('System 1')\n", + "axs[0].set(xlabel='F1 score')\n", + "axs[1].hist(F1scores2, bins=25)\n", + "axs[1].set_title('System 2')\n", + "axs[1].set(xlabel='F1 score', ylabel='count')\n", + "\n", + "# plt.hist(F1scores1, bins=25)\n", + "# plt.title(\"Distribution (empirical) for System 2 Precision\")\n", + "# plt.xlabel(\"Precision\")\n", + "# plt.ylabel(\"Count\")\n", + "\n", + "# plt.hist(F1scores2, bins=25)\n", + "# plt.title(\"Distribution (empirical) for System 1 Precision\")\n", + "# plt.xlabel(\"Precision\")\n", + "# plt.ylabel(\"Count\")\n", + "\n", + "print('Empirical probability that system 1 is better than system 2 in F1 score = {}'\n", + " .format(numpy.count_nonzero(F1scores1 > F1scores2) / nbsamples))\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/bob/measure/goutte_port.ipynb b/bob/measure/goutte_port.ipynb new file mode 100644 index 0000000..dc49291 --- /dev/null +++ b/bob/measure/goutte_port.ipynb @@ -0,0 +1,216 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [], + "source": [ + "from scipy.stats import beta\n", + "import matplotlib.pyplot as plt\n", + "import numpy\n", + "import random\n", + "\n", + "#Precision\n", + "\n", + "#System 1\n", + "TP1 = 10\n", + "FP1 = 10\n", + "# System 2\n", + "TP2 = 3\n", + "FP2 = 2\n", + "\n", + "nbsamples = 10000 # Sample size, higher is better \n", + "lbd = 0.5 # lambda\n" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<matplotlib.legend.Legend at 0x7f65a3d3c828>" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "x = numpy.linspace(0.01, 0.99, nbsamples)\n", + "pdf1 = beta.pdf(x, TP1 + lbd, FP1 + lbd)\n", + "pdf2 = beta.pdf(x, TP2 + lbd, FP2 + lbd)\n", + "plt.plot(x, pdf1, label='TP = {}, FP = {}'.format(TP1, FP1))\n", + "plt.plot(x, pdf2, label='TP = {}, FP = {}'.format(TP2, FP2))\n", + "plt.title('Beta distributions')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Empirical probability that system 2 is better than system 1 = 0.6548\n" + ] + } + ], + "source": [ + "def randombeta(nbsamples, shape1, shape2):\n", + " betageneration = numpy.empty(nbsamples)\n", + " for i in range(nbsamples):\n", + " betageneration[i] = random.betavariate(shape1, shape2)\n", + " return betageneration\n", + "\n", + "p1 = randombeta(nbsamples, TP1 + lbd, FP1 + lbd)\n", + "p2 = randombeta(nbsamples, TP2 + lbd, FP2 + lbd)\n", + "print('Empirical probability that system 2 is better than system 1 = {}'.format(numpy.count_nonzero(p2 > p1) / nbsamples))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Count')" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.hist(p2, bins=25)\n", + "plt.title(\"Distribution (empirical) for System 2 Precision\")\n", + "plt.xlabel(\"Precision\")\n", + "plt.ylabel(\"Count\")\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Empirical probability that system 1 is better than system 2 in F1 score = 0.9245\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 1080x360 with 2 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# F1-score \n", + "\n", + "def randomgamma(nbsamples, shape, scale):\n", + " gammageneration = numpy.empty(nbsamples)\n", + " for i in range(nbsamples):\n", + " gammageneration[i] = random.gammavariate(shape, scale)\n", + " return gammageneration\n", + "\n", + "FN1 = 0\n", + "FN2 = 7\n", + "# Sampling Gamma distributions to produce F-score samples\n", + "U1 = randomgamma(nbsamples, shape=TP1+lbd, scale=2)\n", + "V1 = randomgamma(nbsamples, FP1+FN1+2*lbd, scale=1)\n", + "F1scores1 = U1/(U1+V1)\n", + "U2 = randomgamma(nbsamples, TP2+lbd, scale=2)\n", + "V2 = randomgamma(nbsamples, FP2+FN2+2*lbd, scale=1)\n", + "F1scores2 = U2/(U2+V2)\n", + "\n", + "fig, axs = plt.subplots(1, 2,figsize=(15,5))\n", + "fig.suptitle('Empirical distribution for F1 scores')\n", + "axs[0].hist(F1scores1, bins=25)\n", + "axs[0].set_title('System 1')\n", + "axs[0].set(xlabel='F1 score')\n", + "axs[1].hist(F1scores2, bins=25)\n", + "axs[1].set_title('System 2')\n", + "axs[1].set(xlabel='F1 score', ylabel='count')\n", + "\n", + "# plt.hist(F1scores1, bins=25)\n", + "# plt.title(\"Distribution (empirical) for System 2 Precision\")\n", + "# plt.xlabel(\"Precision\")\n", + "# plt.ylabel(\"Count\")\n", + "\n", + "# plt.hist(F1scores2, bins=25)\n", + "# plt.title(\"Distribution (empirical) for System 1 Precision\")\n", + "# plt.xlabel(\"Precision\")\n", + "# plt.ylabel(\"Count\")\n", + "\n", + "print('Empirical probability that system 1 is better than system 2 in F1 score = {}'\n", + " .format(numpy.count_nonzero(F1scores1 > F1scores2) / nbsamples))\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/coverage.xml b/coverage.xml new file mode 100644 index 0000000..ac0fa57 --- /dev/null +++ b/coverage.xml @@ -0,0 +1,2346 @@ +<?xml version="1.0" ?> +<coverage branch-rate="0" branches-covered="0" branches-valid="0" complexity="0" line-rate="0.8048" lines-covered="1810" lines-valid="2249" timestamp="1631803476795" version="5.5"> + <!-- Generated by coverage.py: https://coverage.readthedocs.io --> + <!-- Based on https://raw.githubusercontent.com/cobertura/web/master/htdocs/xml/coverage-04.dtd --> + <sources> + <source></source> + </sources> + <packages> + <package branch-rate="0" complexity="0" line-rate="0.7211" name=".remote.idiap.svm.home.active.amorais.anaconda3.conda-bld.bob.measure_1631802538088._test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho.lib.python3.7.site-packages.bob.measure"> + <classes> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/__init__.py" line-rate="0.7345" name="__init__.py"> + <methods/> + <lines> + <line hits="1" number="2"/> + <line hits="1" number="3"/> + <line hits="1" number="4"/> + <line hits="1" number="5"/> + <line hits="1" number="6"/> + <line hits="1" number="9"/> + <line hits="1" number="11"/> + <line hits="1" number="14"/> + <line hits="0" number="44"/> + <line hits="1" number="47"/> + <line hits="0" number="77"/> + <line hits="1" number="80"/> + <line hits="0" number="116"/> + <line hits="0" number="117"/> + <line hits="0" number="118"/> + <line hits="0" number="119"/> + <line hits="0" number="120"/> + <line hits="0" number="121"/> + <line hits="0" number="122"/> + <line hits="0" number="123"/> + <line hits="0" number="125"/> + <line hits="1" number="128"/> + <line hits="1" number="197"/> + <line hits="0" number="198"/> + <line hits="1" number="200"/> + <line hits="1" number="201"/> + <line hits="1" number="202"/> + <line hits="1" number="204"/> + <line hits="0" number="205"/> + <line hits="1" number="206"/> + <line hits="0" number="207"/> + <line hits="1" number="209"/> + <line hits="0" number="210"/> + <line hits="1" number="214"/> + <line hits="1" number="215"/> + <line hits="1" number="216"/> + <line hits="1" number="217"/> + <line hits="1" number="218"/> + <line hits="1" number="220"/> + <line hits="1" number="223"/> + <line hits="1" number="226"/> + <line hits="1" number="228"/> + <line hits="1" number="231"/> + <line hits="1" number="233"/> + <line hits="1" number="235"/> + <line hits="1" number="239"/> + <line hits="1" number="241"/> + <line hits="1" number="243"/> + <line hits="1" number="246"/> + <line hits="1" number="247"/> + <line hits="1" number="248"/> + <line hits="1" number="250"/> + <line hits="1" number="253"/> + <line hits="1" number="297"/> + <line hits="1" number="298"/> + <line hits="0" number="299"/> + <line hits="1" number="302"/> + <line hits="1" number="304"/> + <line hits="1" number="305"/> + <line hits="0" number="306"/> + <line hits="1" number="307"/> + <line hits="0" number="308"/> + <line hits="1" number="312"/> + <line hits="1" number="315"/> + <line hits="1" number="316"/> + <line hits="1" number="319"/> + <line hits="1" number="320"/> + <line hits="1" number="323"/> + <line hits="1" number="358"/> + <line hits="1" number="359"/> + <line hits="1" number="360"/> + <line hits="1" number="361"/> + <line hits="0" number="363"/> + <line hits="1" number="365"/> + <line hits="1" number="367"/> + <line hits="0" number="368"/> + <line hits="1" number="372"/> + <line hits="1" number="374"/> + <line hits="1" number="375"/> + <line hits="1" number="376"/> + <line hits="1" number="378"/> + <line hits="0" number="379"/> + <line hits="0" number="380"/> + <line hits="1" number="382"/> + <line hits="1" number="385"/> + <line hits="1" number="415"/> + <line hits="1" number="416"/> + <line hits="1" number="417"/> + <line hits="1" number="419"/> + <line hits="1" number="420"/> + <line hits="1" number="423"/> + <line hits="0" number="424"/> + <line hits="1" number="425"/> + <line hits="1" number="426"/> + <line hits="1" number="428"/> + <line hits="0" number="429"/> + <line hits="0" number="430"/> + <line hits="1" number="432"/> + <line hits="1" number="435"/> + <line hits="0" number="464"/> + <line hits="0" number="465"/> + <line hits="0" number="466"/> + <line hits="0" number="467"/> + <line hits="0" number="468"/> + <line hits="1" number="471"/> + <line hits="1" number="498"/> + <line hits="1" number="499"/> + <line hits="1" number="501"/> + <line hits="1" number="502"/> + <line hits="1" number="503"/> + <line hits="1" number="504"/> + <line hits="1" number="506"/> + <line hits="1" number="507"/> + </lines> + </class> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/_library.py" line-rate="0.3719" name="_library.py"> + <methods/> + <lines> + <line hits="1" number="4"/> + <line hits="1" number="9"/> + <line hits="1" number="10"/> + <line hits="1" number="11"/> + <line hits="1" number="12"/> + <line hits="1" number="13"/> + <line hits="1" number="15"/> + <line hits="1" number="18"/> + <line hits="1" number="19"/> + <line hits="1" number="20"/> + <line hits="1" number="21"/> + <line hits="1" number="22"/> + <line hits="1" number="23"/> + <line hits="1" number="24"/> + <line hits="1" number="27"/> + <line hits="1" number="28"/> + <line hits="1" number="30"/> + <line hits="1" number="32"/> + <line hits="1" number="33"/> + <line hits="1" number="35"/> + <line hits="1" number="36"/> + <line hits="1" number="39"/> + <line hits="0" number="62"/> + <line hits="1" number="65"/> + <line hits="0" number="113"/> + <line hits="0" number="116"/> + <line hits="0" number="117"/> + <line hits="0" number="119"/> + <line hits="0" number="120"/> + <line hits="0" number="122"/> + <line hits="0" number="123"/> + <line hits="0" number="124"/> + <line hits="0" number="126"/> + <line hits="0" number="128"/> + <line hits="1" number="131"/> + <line hits="1" number="170"/> + <line hits="1" number="173"/> + <line hits="1" number="212"/> + <line hits="1" number="215"/> + <line hits="1" number="258"/> + <line hits="1" number="261"/> + <line hits="1" number="283"/> + <line hits="1" number="286"/> + <line hits="1" number="287"/> + <line hits="1" number="288"/> + <line hits="1" number="291"/> + <line hits="1" number="295"/> + <line hits="1" number="298"/> + <line hits="1" number="299"/> + <line hits="1" number="302"/> + <line hits="1" number="303"/> + <line hits="1" number="306"/> + <line hits="1" number="307"/> + <line hits="1" number="310"/> + <line hits="1" number="311"/> + <line hits="1" number="312"/> + <line hits="1" number="314"/> + <line hits="1" number="316"/> + <line hits="1" number="317"/> + <line hits="1" number="318"/> + <line hits="1" number="320"/> + <line hits="1" number="321"/> + <line hits="0" number="323"/> + <line hits="1" number="325"/> + <line hits="1" number="326"/> + <line hits="1" number="328"/> + <line hits="1" number="330"/> + <line hits="1" number="331"/> + <line hits="1" number="333"/> + <line hits="1" number="336"/> + <line hits="0" number="355"/> + <line hits="0" number="357"/> + <line hits="0" number="359"/> + <line hits="0" number="360"/> + <line hits="0" number="361"/> + <line hits="0" number="362"/> + <line hits="0" number="363"/> + <line hits="0" number="365"/> + <line hits="0" number="368"/> + <line hits="0" number="369"/> + <line hits="0" number="370"/> + <line hits="0" number="371"/> + <line hits="0" number="374"/> + <line hits="0" number="377"/> + <line hits="0" number="378"/> + <line hits="0" number="380"/> + <line hits="0" number="381"/> + <line hits="0" number="385"/> + <line hits="0" number="387"/> + <line hits="0" number="389"/> + <line hits="0" number="391"/> + <line hits="1" number="394"/> + <line hits="1" number="421"/> + <line hits="1" number="424"/> + <line hits="0" number="426"/> + <line hits="1" number="429"/> + <line hits="0" number="431"/> + <line hits="1" number="434"/> + <line hits="1" number="435"/> + <line hits="0" number="485"/> + <line hits="0" number="486"/> + <line hits="0" number="488"/> + <line hits="0" number="489"/> + <line hits="0" number="490"/> + <line hits="0" number="492"/> + <line hits="0" number="494"/> + <line hits="0" number="495"/> + <line hits="0" number="501"/> + <line hits="0" number="502"/> + <line hits="0" number="503"/> + <line hits="0" number="505"/> + <line hits="0" number="506"/> + <line hits="0" number="509"/> + <line hits="0" number="510"/> + <line hits="0" number="511"/> + <line hits="0" number="512"/> + <line hits="0" number="517"/> + <line hits="0" number="518"/> + <line hits="0" number="519"/> + <line hits="0" number="522"/> + <line hits="0" number="525"/> + <line hits="0" number="527"/> + <line hits="0" number="528"/> + <line hits="0" number="529"/> + <line hits="0" number="531"/> + <line hits="0" number="533"/> + <line hits="0" number="534"/> + <line hits="0" number="535"/> + <line hits="0" number="539"/> + <line hits="0" number="540"/> + <line hits="0" number="541"/> + <line hits="0" number="548"/> + <line hits="0" number="549"/> + <line hits="0" number="550"/> + <line hits="0" number="557"/> + <line hits="0" number="558"/> + <line hits="0" number="559"/> + <line hits="0" number="563"/> + <line hits="0" number="564"/> + <line hits="0" number="565"/> + <line hits="0" number="566"/> + <line hits="0" number="567"/> + <line hits="0" number="569"/> + <line hits="0" number="570"/> + <line hits="0" number="574"/> + <line hits="0" number="575"/> + <line hits="0" number="576"/> + <line hits="0" number="577"/> + <line hits="0" number="581"/> + <line hits="0" number="582"/> + <line hits="0" number="583"/> + <line hits="0" number="584"/> + <line hits="0" number="585"/> + <line hits="0" number="586"/> + <line hits="0" number="587"/> + <line hits="0" number="588"/> + <line hits="0" number="589"/> + <line hits="0" number="590"/> + <line hits="0" number="593"/> + <line hits="1" number="596"/> + <line hits="1" number="639"/> + <line hits="1" number="640"/> + <line hits="1" number="642"/> + <line hits="1" number="645"/> + <line hits="1" number="646"/> + <line hits="0" number="734"/> + <line hits="0" number="735"/> + <line hits="0" number="740"/> + <line hits="0" number="741"/> + <line hits="0" number="742"/> + <line hits="0" number="743"/> + <line hits="0" number="744"/> + <line hits="0" number="745"/> + <line hits="0" number="746"/> + <line hits="0" number="747"/> + <line hits="0" number="748"/> + <line hits="0" number="749"/> + <line hits="0" number="750"/> + <line hits="0" number="752"/> + <line hits="0" number="753"/> + <line hits="0" number="754"/> + <line hits="1" number="757"/> + <line hits="1" number="800"/> + <line hits="1" number="801"/> + <line hits="1" number="802"/> + <line hits="1" number="803"/> + <line hits="1" number="804"/> + <line hits="1" number="805"/> + <line hits="1" number="808"/> + <line hits="1" number="809"/> + <line hits="0" number="853"/> + <line hits="0" number="854"/> + <line hits="0" number="856"/> + <line hits="0" number="857"/> + <line hits="0" number="859"/> + <line hits="0" number="861"/> + <line hits="0" number="864"/> + <line hits="0" number="865"/> + <line hits="0" number="870"/> + <line hits="0" number="875"/> + <line hits="0" number="876"/> + <line hits="0" number="881"/> + <line hits="0" number="884"/> + <line hits="0" number="886"/> + <line hits="0" number="888"/> + <line hits="0" number="890"/> + <line hits="0" number="894"/> + <line hits="0" number="897"/> + <line hits="0" number="898"/> + <line hits="0" number="899"/> + <line hits="0" number="900"/> + <line hits="0" number="901"/> + <line hits="0" number="903"/> + <line hits="1" number="906"/> + <line hits="1" number="909"/> + <line hits="0" number="984"/> + <line hits="0" number="985"/> + <line hits="0" number="986"/> + <line hits="0" number="988"/> + <line hits="0" number="989"/> + <line hits="0" number="991"/> + <line hits="0" number="992"/> + <line hits="0" number="994"/> + <line hits="1" number="999"/> + <line hits="1" number="1002"/> + <line hits="1" number="1003"/> + <line hits="0" number="1047"/> + <line hits="0" number="1048"/> + <line hits="0" number="1050"/> + <line hits="0" number="1051"/> + <line hits="0" number="1053"/> + <line hits="0" number="1055"/> + <line hits="0" number="1058"/> + <line hits="0" number="1059"/> + <line hits="0" number="1064"/> + <line hits="0" number="1065"/> + <line hits="0" number="1070"/> + <line hits="0" number="1073"/> + <line hits="0" number="1075"/> + <line hits="0" number="1077"/> + <line hits="0" number="1079"/> + <line hits="0" number="1083"/> + <line hits="0" number="1086"/> + <line hits="0" number="1087"/> + <line hits="0" number="1088"/> + <line hits="0" number="1089"/> + <line hits="0" number="1090"/> + <line hits="0" number="1092"/> + <line hits="1" number="1095"/> + <line hits="1" number="1098"/> + <line hits="1" number="1123"/> + <line hits="1" number="1126"/> + <line hits="1" number="1127"/> + <line hits="0" number="1173"/> + <line hits="0" number="1174"/> + <line hits="0" number="1175"/> + <line hits="0" number="1176"/> + <line hits="0" number="1177"/> + <line hits="0" number="1178"/> + <line hits="0" number="1180"/> + <line hits="1" number="1183"/> + <line hits="1" number="1186"/> + <line hits="1" number="1229"/> + <line hits="1" number="1230"/> + <line hits="1" number="1231"/> + <line hits="1" number="1232"/> + <line hits="1" number="1234"/> + <line hits="1" number="1235"/> + <line hits="1" number="1236"/> + <line hits="1" number="1238"/> + <line hits="1" number="1241"/> + <line hits="1" number="1242"/> + <line hits="1" number="1243"/> + <line hits="1" number="1258"/> + <line hits="1" number="1262"/> + <line hits="1" number="1263"/> + <line hits="1" number="1264"/> + <line hits="1" number="1265"/> + <line hits="0" number="1266"/> + <line hits="1" number="1268"/> + <line hits="1" number="1269"/> + <line hits="1" number="1272"/> + <line hits="1" number="1273"/> + <line hits="1" number="1275"/> + <line hits="1" number="1278"/> + <line hits="0" number="1325"/> + <line hits="0" number="1326"/> + <line hits="0" number="1331"/> + <line hits="0" number="1332"/> + <line hits="0" number="1333"/> + <line hits="0" number="1334"/> + <line hits="0" number="1335"/> + <line hits="0" number="1336"/> + <line hits="1" number="1339"/> + <line hits="1" number="1342"/> + <line hits="0" number="1372"/> + <line hits="0" number="1373"/> + <line hits="0" number="1376"/> + <line hits="0" number="1377"/> + <line hits="0" number="1378"/> + <line hits="0" number="1379"/> + <line hits="1" number="1388"/> + <line hits="1" number="1389"/> + <line hits="0" number="1426"/> + <line hits="0" number="1427"/> + <line hits="0" number="1428"/> + <line hits="0" number="1429"/> + <line hits="0" number="1430"/> + <line hits="1" number="1433"/> + <line hits="1" number="1434"/> + <line hits="0" number="1471"/> + <line hits="0" number="1472"/> + <line hits="0" number="1474"/> + <line hits="0" number="1475"/> + <line hits="0" number="1478"/> + <line hits="0" number="1479"/> + <line hits="0" number="1483"/> + <line hits="0" number="1484"/> + <line hits="0" number="1485"/> + <line hits="0" number="1486"/> + </lines> + </class> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/calibration.py" line-rate="1" name="calibration.py"> + <methods/> + <lines> + <line hits="1" number="5"/> + <line hits="1" number="7"/> + <line hits="1" number="8"/> + <line hits="1" number="11"/> + <line hits="1" number="32"/> + <line hits="1" number="33"/> + <line hits="1" number="34"/> + <line hits="1" number="35"/> + <line hits="1" number="36"/> + <line hits="1" number="37"/> + <line hits="1" number="40"/> + <line hits="1" number="62"/> + <line hits="1" number="65"/> + <line hits="1" number="66"/> + <line hits="1" number="67"/> + <line hits="1" number="68"/> + <line hits="1" number="69"/> + <line hits="1" number="72"/> + <line hits="1" number="73"/> + <line hits="1" number="74"/> + <line hits="1" number="75"/> + <line hits="1" number="76"/> + <line hits="1" number="77"/> + <line hits="1" number="78"/> + <line hits="1" number="79"/> + <line hits="1" number="80"/> + <line hits="1" number="82"/> + <line hits="1" number="83"/> + <line hits="1" number="86"/> + <line hits="1" number="87"/> + <line hits="1" number="90"/> + <line hits="1" number="92"/> + <line hits="1" number="93"/> + <line hits="1" number="95"/> + <line hits="1" number="97"/> + <line hits="1" number="104"/> + <line hits="1" number="105"/> + <line hits="1" number="106"/> + <line hits="1" number="107"/> + <line hits="1" number="108"/> + <line hits="1" number="109"/> + <line hits="1" number="112"/> + </lines> + </class> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/load.py" line-rate="0.5" name="load.py"> + <methods/> + <lines> + <line hits="1" number="5"/> + <line hits="1" number="8"/> + <line hits="1" number="9"/> + <line hits="1" number="11"/> + <line hits="1" number="14"/> + <line hits="1" number="36"/> + <line hits="1" number="37"/> + <line hits="1" number="38"/> + <line hits="1" number="39"/> + <line hits="0" number="40"/> + <line hits="0" number="41"/> + <line hits="0" number="45"/> + <line hits="1" number="46"/> + <line hits="1" number="47"/> + <line hits="1" number="50"/> + <line hits="0" number="68"/> + <line hits="0" number="69"/> + <line hits="0" number="70"/> + <line hits="0" number="71"/> + <line hits="0" number="72"/> + <line hits="0" number="73"/> + <line hits="0" number="74"/> + <line hits="0" number="75"/> + <line hits="0" number="76"/> + </lines> + </class> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/plot.py" line-rate="0.5769" name="plot.py"> + <methods/> + <lines> + <line hits="1" number="4"/> + <line hits="1" number="5"/> + <line hits="1" number="8"/> + <line hits="1" number="37"/> + <line hits="1" number="38"/> + <line hits="1" number="41"/> + <line hits="1" number="43"/> + <line hits="1" number="44"/> + <line hits="1" number="45"/> + <line hits="1" number="46"/> + <line hits="1" number="47"/> + <line hits="1" number="48"/> + <line hits="1" number="51"/> + <line hits="1" number="113"/> + <line hits="0" number="114"/> + <line hits="0" number="115"/> + <line hits="1" number="117"/> + <line hits="1" number="118"/> + <line hits="1" number="119"/> + <line hits="1" number="121"/> + <line hits="1" number="122"/> + <line hits="1" number="124"/> + <line hits="0" number="125"/> + <line hits="1" number="127"/> + <line hits="1" number="130"/> + <line hits="0" number="179"/> + <line hits="0" number="181"/> + <line hits="0" number="182"/> + <line hits="0" number="183"/> + <line hits="0" number="184"/> + <line hits="0" number="185"/> + <line hits="0" number="187"/> + <line hits="1" number="190"/> + <line hits="0" number="232"/> + <line hits="0" number="233"/> + <line hits="0" number="234"/> + <line hits="0" number="235"/> + <line hits="1" number="238"/> + <line hits="1" number="297"/> + <line hits="1" number="298"/> + <line hits="1" number="300"/> + <line hits="1" number="302"/> + <line hits="1" number="305"/> + <line hits="1" number="390"/> + <line hits="1" number="403"/> + <line hits="1" number="417"/> + <line hits="1" number="418"/> + <line hits="1" number="419"/> + <line hits="1" number="421"/> + <line hits="1" number="422"/> + <line hits="1" number="425"/> + <line hits="1" number="426"/> + <line hits="1" number="427"/> + <line hits="1" number="428"/> + <line hits="1" number="429"/> + <line hits="1" number="430"/> + <line hits="1" number="432"/> + <line hits="1" number="435"/> + <line hits="1" number="461"/> + <line hits="1" number="462"/> + <line hits="1" number="464"/> + <line hits="1" number="465"/> + <line hits="1" number="468"/> + <line hits="1" number="469"/> + <line hits="1" number="470"/> + <line hits="0" number="471"/> + <line hits="1" number="472"/> + <line hits="1" number="473"/> + <line hits="1" number="476"/> + <line hits="0" number="477"/> + <line hits="0" number="478"/> + <line hits="1" number="479"/> + <line hits="0" number="480"/> + <line hits="0" number="481"/> + <line hits="1" number="482"/> + <line hits="0" number="483"/> + <line hits="0" number="484"/> + <line hits="1" number="485"/> + <line hits="0" number="486"/> + <line hits="0" number="487"/> + <line hits="0" number="489"/> + <line hits="0" number="490"/> + <line hits="1" number="492"/> + <line hits="1" number="495"/> + <line hits="0" number="522"/> + <line hits="0" number="523"/> + <line hits="0" number="525"/> + <line hits="0" number="527"/> + <line hits="0" number="528"/> + <line hits="0" number="530"/> + <line hits="0" number="532"/> + <line hits="1" number="535"/> + <line hits="0" number="579"/> + <line hits="0" number="580"/> + <line hits="0" number="581"/> + <line hits="0" number="582"/> + <line hits="0" number="586"/> + <line hits="0" number="588"/> + <line hits="0" number="589"/> + <line hits="0" number="593"/> + <line hits="0" number="597"/> + <line hits="0" number="601"/> + <line hits="0" number="602"/> + <line hits="0" number="604"/> + </lines> + </class> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/test_error.py" line-rate="0.9931" name="test_error.py"> + <methods/> + <lines> + <line hits="1" number="4"/> + <line hits="1" number="7"/> + <line hits="1" number="8"/> + <line hits="1" number="9"/> + <line hits="1" number="11"/> + <line hits="1" number="12"/> + <line hits="1" number="13"/> + <line hits="1" number="15"/> + <line hits="1" number="43"/> + <line hits="1" number="45"/> + <line hits="1" number="48"/> + <line hits="1" number="50"/> + <line hits="1" number="51"/> + <line hits="1" number="54"/> + <line hits="1" number="56"/> + <line hits="1" number="57"/> + <line hits="1" number="60"/> + <line hits="0" number="62"/> + <line hits="0" number="63"/> + <line hits="1" number="68"/> + <line hits="1" number="73"/> + <line hits="1" number="74"/> + <line hits="1" number="76"/> + <line hits="1" number="77"/> + <line hits="1" number="81"/> + <line hits="1" number="82"/> + <line hits="1" number="83"/> + <line hits="1" number="84"/> + <line hits="1" number="85"/> + <line hits="1" number="86"/> + <line hits="1" number="90"/> + <line hits="1" number="91"/> + <line hits="1" number="92"/> + <line hits="1" number="93"/> + <line hits="1" number="94"/> + <line hits="1" number="95"/> + <line hits="1" number="99"/> + <line hits="1" number="100"/> + <line hits="1" number="101"/> + <line hits="1" number="102"/> + <line hits="1" number="103"/> + <line hits="1" number="104"/> + <line hits="1" number="108"/> + <line hits="1" number="109"/> + <line hits="1" number="110"/> + <line hits="1" number="111"/> + <line hits="1" number="113"/> + <line hits="1" number="114"/> + <line hits="1" number="115"/> + <line hits="1" number="116"/> + <line hits="1" number="118"/> + <line hits="1" number="119"/> + <line hits="1" number="120"/> + <line hits="1" number="121"/> + <line hits="1" number="124"/> + <line hits="1" number="131"/> + <line hits="1" number="132"/> + <line hits="1" number="135"/> + <line hits="1" number="136"/> + <line hits="1" number="137"/> + <line hits="1" number="138"/> + <line hits="1" number="140"/> + <line hits="1" number="141"/> + <line hits="1" number="142"/> + <line hits="1" number="143"/> + <line hits="1" number="146"/> + <line hits="1" number="147"/> + <line hits="1" number="149"/> + <line hits="1" number="150"/> + <line hits="1" number="151"/> + <line hits="1" number="152"/> + <line hits="1" number="153"/> + <line hits="1" number="154"/> + <line hits="1" number="155"/> + <line hits="1" number="158"/> + <line hits="1" number="159"/> + <line hits="1" number="161"/> + <line hits="1" number="162"/> + <line hits="1" number="163"/> + <line hits="1" number="164"/> + <line hits="1" number="167"/> + <line hits="1" number="168"/> + <line hits="1" number="169"/> + <line hits="1" number="170"/> + <line hits="1" number="171"/> + <line hits="1" number="172"/> + <line hits="1" number="173"/> + <line hits="1" number="174"/> + <line hits="1" number="175"/> + <line hits="1" number="176"/> + <line hits="1" number="179"/> + <line hits="1" number="183"/> + <line hits="1" number="184"/> + <line hits="1" number="186"/> + <line hits="1" number="187"/> + <line hits="1" number="192"/> + <line hits="1" number="193"/> + <line hits="1" number="196"/> + <line hits="1" number="197"/> + <line hits="1" number="201"/> + <line hits="1" number="202"/> + <line hits="1" number="205"/> + <line hits="1" number="207"/> + <line hits="1" number="208"/> + <line hits="1" number="209"/> + <line hits="1" number="211"/> + <line hits="1" number="215"/> + <line hits="1" number="216"/> + <line hits="1" number="217"/> + <line hits="1" number="218"/> + <line hits="1" number="220"/> + <line hits="1" number="221"/> + <line hits="1" number="222"/> + <line hits="1" number="223"/> + <line hits="1" number="224"/> + <line hits="1" number="225"/> + <line hits="1" number="228"/> + <line hits="1" number="234"/> + <line hits="1" number="235"/> + <line hits="1" number="237"/> + <line hits="1" number="238"/> + <line hits="1" number="239"/> + <line hits="1" number="242"/> + <line hits="1" number="243"/> + <line hits="1" number="244"/> + <line hits="1" number="246"/> + <line hits="1" number="248"/> + <line hits="1" number="249"/> + <line hits="1" number="252"/> + <line hits="1" number="253"/> + <line hits="1" number="254"/> + <line hits="1" number="255"/> + <line hits="1" number="256"/> + <line hits="1" number="257"/> + <line hits="1" number="258"/> + <line hits="1" number="260"/> + <line hits="1" number="266"/> + <line hits="1" number="267"/> + <line hits="1" number="268"/> + <line hits="1" number="270"/> + <line hits="1" number="273"/> + <line hits="1" number="274"/> + <line hits="1" number="275"/> + <line hits="1" number="279"/> + <line hits="1" number="280"/> + <line hits="1" number="281"/> + <line hits="1" number="284"/> + <line hits="1" number="285"/> + <line hits="1" number="286"/> + <line hits="1" number="289"/> + <line hits="1" number="291"/> + <line hits="1" number="297"/> + <line hits="1" number="298"/> + <line hits="1" number="300"/> + <line hits="1" number="301"/> + <line hits="1" number="303"/> + <line hits="1" number="304"/> + <line hits="1" number="306"/> + <line hits="1" number="308"/> + <line hits="1" number="309"/> + <line hits="1" number="311"/> + <line hits="1" number="312"/> + <line hits="1" number="314"/> + <line hits="1" number="315"/> + <line hits="1" number="318"/> + <line hits="1" number="321"/> + <line hits="1" number="322"/> + <line hits="1" number="323"/> + <line hits="1" number="326"/> + <line hits="1" number="329"/> + <line hits="1" number="330"/> + <line hits="1" number="333"/> + <line hits="1" number="334"/> + <line hits="1" number="335"/> + <line hits="1" number="336"/> + <line hits="1" number="338"/> + <line hits="1" number="339"/> + <line hits="1" number="342"/> + <line hits="1" number="345"/> + <line hits="1" number="346"/> + <line hits="1" number="349"/> + <line hits="1" number="352"/> + <line hits="1" number="353"/> + <line hits="1" number="359"/> + <line hits="1" number="360"/> + <line hits="1" number="361"/> + <line hits="1" number="362"/> + <line hits="1" number="363"/> + <line hits="1" number="364"/> + <line hits="1" number="365"/> + <line hits="1" number="366"/> + <line hits="1" number="367"/> + <line hits="1" number="378"/> + <line hits="1" number="379"/> + <line hits="1" number="380"/> + <line hits="1" number="383"/> + <line hits="1" number="389"/> + <line hits="1" number="390"/> + <line hits="1" number="392"/> + <line hits="1" number="393"/> + <line hits="1" number="395"/> + <line hits="1" number="396"/> + <line hits="1" number="397"/> + <line hits="1" number="398"/> + <line hits="1" number="399"/> + <line hits="1" number="400"/> + <line hits="1" number="403"/> + <line hits="1" number="404"/> + <line hits="1" number="406"/> + <line hits="1" number="412"/> + <line hits="1" number="414"/> + <line hits="1" number="415"/> + <line hits="1" number="416"/> + <line hits="1" number="417"/> + <line hits="1" number="418"/> + <line hits="1" number="419"/> + <line hits="1" number="422"/> + <line hits="1" number="427"/> + <line hits="1" number="434"/> + <line hits="1" number="435"/> + <line hits="1" number="437"/> + <line hits="1" number="438"/> + <line hits="1" number="441"/> + <line hits="1" number="442"/> + <line hits="1" number="464"/> + <line hits="1" number="465"/> + <line hits="1" number="466"/> + <line hits="1" number="467"/> + <line hits="1" number="468"/> + <line hits="1" number="469"/> + <line hits="1" number="472"/> + <line hits="1" number="476"/> + <line hits="1" number="477"/> + <line hits="1" number="479"/> + <line hits="1" number="480"/> + <line hits="1" number="482"/> + <line hits="1" number="483"/> + <line hits="1" number="485"/> + <line hits="1" number="488"/> + <line hits="1" number="489"/> + <line hits="1" number="491"/> + <line hits="1" number="492"/> + <line hits="1" number="494"/> + <line hits="1" number="495"/> + <line hits="1" number="496"/> + <line hits="1" number="499"/> + <line hits="1" number="501"/> + <line hits="1" number="502"/> + <line hits="1" number="503"/> + <line hits="1" number="504"/> + <line hits="1" number="505"/> + <line hits="1" number="506"/> + <line hits="1" number="507"/> + <line hits="1" number="508"/> + <line hits="1" number="509"/> + <line hits="1" number="510"/> + <line hits="1" number="511"/> + <line hits="1" number="512"/> + <line hits="1" number="513"/> + <line hits="1" number="516"/> + <line hits="1" number="517"/> + <line hits="1" number="521"/> + <line hits="1" number="522"/> + <line hits="1" number="523"/> + <line hits="1" number="526"/> + <line hits="1" number="527"/> + <line hits="1" number="533"/> + <line hits="1" number="534"/> + <line hits="1" number="535"/> + <line hits="1" number="538"/> + <line hits="1" number="539"/> + <line hits="1" number="545"/> + <line hits="1" number="546"/> + <line hits="1" number="547"/> + <line hits="1" number="550"/> + <line hits="1" number="553"/> + <line hits="1" number="554"/> + <line hits="1" number="555"/> + <line hits="1" number="556"/> + <line hits="1" number="557"/> + <line hits="1" number="558"/> + <line hits="1" number="559"/> + <line hits="1" number="562"/> + <line hits="1" number="564"/> + <line hits="1" number="565"/> + <line hits="1" number="566"/> + <line hits="1" number="573"/> + <line hits="1" number="575"/> + <line hits="1" number="580"/> + <line hits="1" number="581"/> + <line hits="1" number="582"/> + </lines> + </class> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/test_load.py" line-rate="1" name="test_load.py"> + <methods/> + <lines> + <line hits="1" number="4"/> + <line hits="1" number="6"/> + <line hits="1" number="7"/> + <line hits="1" number="8"/> + <line hits="1" number="9"/> + <line hits="1" number="11"/> + <line hits="1" number="14"/> + <line hits="1" number="16"/> + <line hits="1" number="19"/> + <line hits="1" number="23"/> + <line hits="1" number="24"/> + <line hits="1" number="25"/> + <line hits="1" number="26"/> + <line hits="1" number="27"/> + <line hits="1" number="29"/> + <line hits="1" number="30"/> + <line hits="1" number="31"/> + <line hits="1" number="32"/> + <line hits="1" number="33"/> + </lines> + </class> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/test_script.py" line-rate="0.9085" name="test_script.py"> + <methods/> + <lines> + <line hits="1" number="3"/> + <line hits="1" number="4"/> + <line hits="1" number="5"/> + <line hits="1" number="7"/> + <line hits="1" number="8"/> + <line hits="1" number="10"/> + <line hits="1" number="13"/> + <line hits="1" number="15"/> + <line hits="1" number="18"/> + <line hits="1" number="19"/> + <line hits="1" number="20"/> + <line hits="1" number="21"/> + <line hits="1" number="22"/> + <line hits="1" number="23"/> + <line hits="1" number="24"/> + <line hits="1" number="25"/> + <line hits="1" number="26"/> + <line hits="1" number="28"/> + <line hits="1" number="29"/> + <line hits="1" number="30"/> + <line hits="1" number="31"/> + <line hits="1" number="32"/> + <line hits="1" number="35"/> + <line hits="1" number="36"/> + <line hits="1" number="37"/> + <line hits="1" number="38"/> + <line hits="1" number="39"/> + <line hits="1" number="40"/> + <line hits="1" number="44"/> + <line hits="1" number="46"/> + <line hits="1" number="47"/> + <line hits="1" number="48"/> + <line hits="1" number="51"/> + <line hits="1" number="52"/> + <line hits="1" number="53"/> + <line hits="1" number="54"/> + <line hits="1" number="55"/> + <line hits="1" number="56"/> + <line hits="0" number="57"/> + <line hits="1" number="58"/> + <line hits="1" number="59"/> + <line hits="1" number="60"/> + <line hits="1" number="61"/> + <line hits="1" number="62"/> + <line hits="1" number="63"/> + <line hits="1" number="78"/> + <line hits="0" number="79"/> + <line hits="1" number="80"/> + <line hits="1" number="82"/> + <line hits="1" number="83"/> + <line hits="1" number="97"/> + <line hits="0" number="98"/> + <line hits="1" number="99"/> + <line hits="1" number="102"/> + <line hits="1" number="103"/> + <line hits="1" number="104"/> + <line hits="1" number="105"/> + <line hits="1" number="106"/> + <line hits="1" number="107"/> + <line hits="0" number="108"/> + <line hits="1" number="109"/> + <line hits="1" number="110"/> + <line hits="1" number="111"/> + <line hits="1" number="112"/> + <line hits="1" number="113"/> + <line hits="1" number="114"/> + <line hits="1" number="131"/> + <line hits="0" number="132"/> + <line hits="1" number="133"/> + <line hits="1" number="135"/> + <line hits="1" number="136"/> + <line hits="1" number="140"/> + <line hits="0" number="141"/> + <line hits="1" number="142"/> + <line hits="1" number="145"/> + <line hits="1" number="146"/> + <line hits="1" number="147"/> + <line hits="1" number="148"/> + <line hits="1" number="149"/> + <line hits="1" number="150"/> + <line hits="1" number="151"/> + <line hits="0" number="152"/> + <line hits="1" number="153"/> + <line hits="1" number="155"/> + <line hits="1" number="156"/> + <line hits="1" number="157"/> + <line hits="1" number="158"/> + <line hits="1" number="175"/> + <line hits="0" number="176"/> + <line hits="1" number="177"/> + <line hits="1" number="180"/> + <line hits="1" number="181"/> + <line hits="1" number="182"/> + <line hits="1" number="183"/> + <line hits="1" number="184"/> + <line hits="1" number="185"/> + <line hits="1" number="186"/> + <line hits="1" number="187"/> + <line hits="1" number="188"/> + <line hits="0" number="189"/> + <line hits="1" number="190"/> + <line hits="1" number="192"/> + <line hits="1" number="193"/> + <line hits="1" number="207"/> + <line hits="0" number="208"/> + <line hits="1" number="209"/> + <line hits="1" number="211"/> + <line hits="1" number="212"/> + <line hits="1" number="232"/> + <line hits="0" number="233"/> + <line hits="1" number="234"/> + <line hits="1" number="237"/> + <line hits="1" number="238"/> + <line hits="1" number="239"/> + <line hits="1" number="240"/> + <line hits="1" number="241"/> + <line hits="1" number="242"/> + <line hits="1" number="245"/> + <line hits="1" number="246"/> + <line hits="1" number="250"/> + <line hits="0" number="251"/> + <line hits="1" number="252"/> + <line hits="1" number="255"/> + <line hits="1" number="256"/> + <line hits="1" number="260"/> + <line hits="0" number="261"/> + <line hits="1" number="262"/> + <line hits="1" number="265"/> + <line hits="1" number="266"/> + <line hits="1" number="267"/> + <line hits="1" number="268"/> + <line hits="1" number="269"/> + <line hits="1" number="270"/> + <line hits="1" number="271"/> + <line hits="1" number="272"/> + <line hits="1" number="273"/> + <line hits="1" number="275"/> + <line hits="1" number="276"/> + <line hits="1" number="280"/> + <line hits="1" number="282"/> + <line hits="1" number="283"/> + <line hits="1" number="286"/> + </lines> + </class> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/test_utils.py" line-rate="1" name="test_utils.py"> + <methods/> + <lines> + <line hits="1" number="4"/> + <line hits="1" number="5"/> + <line hits="1" number="8"/> + <line hits="1" number="10"/> + <line hits="1" number="11"/> + <line hits="1" number="12"/> + <line hits="1" number="13"/> + <line hits="1" number="15"/> + <line hits="1" number="16"/> + <line hits="1" number="17"/> + </lines> + </class> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/utils.py" line-rate="0.7941" name="utils.py"> + <methods/> + <lines> + <line hits="1" number="3"/> + <line hits="1" number="4"/> + <line hits="1" number="5"/> + <line hits="1" number="7"/> + <line hits="1" number="10"/> + <line hits="1" number="26"/> + <line hits="1" number="27"/> + <line hits="1" number="28"/> + <line hits="1" number="29"/> + <line hits="1" number="30"/> + <line hits="1" number="31"/> + <line hits="1" number="34"/> + <line hits="1" number="50"/> + <line hits="1" number="51"/> + <line hits="1" number="52"/> + <line hits="1" number="53"/> + <line hits="1" number="54"/> + <line hits="1" number="55"/> + <line hits="1" number="56"/> + <line hits="1" number="57"/> + <line hits="1" number="60"/> + <line hits="1" number="77"/> + <line hits="1" number="78"/> + <line hits="1" number="79"/> + <line hits="1" number="80"/> + <line hits="1" number="81"/> + <line hits="1" number="82"/> + <line hits="1" number="83"/> + <line hits="1" number="84"/> + <line hits="0" number="85"/> + <line hits="1" number="86"/> + <line hits="1" number="87"/> + <line hits="1" number="88"/> + <line hits="1" number="89"/> + <line hits="1" number="92"/> + <line hits="1" number="109"/> + <line hits="1" number="110"/> + <line hits="1" number="111"/> + <line hits="1" number="112"/> + <line hits="1" number="113"/> + <line hits="1" number="114"/> + <line hits="0" number="115"/> + <line hits="0" number="116"/> + <line hits="0" number="117"/> + <line hits="0" number="119"/> + <line hits="0" number="120"/> + <line hits="0" number="122"/> + <line hits="1" number="125"/> + <line hits="1" number="139"/> + <line hits="0" number="140"/> + <line hits="0" number="141"/> + <line hits="0" number="142"/> + <line hits="1" number="144"/> + <line hits="1" number="147"/> + <line hits="1" number="160"/> + <line hits="1" number="161"/> + <line hits="0" number="163"/> + <line hits="0" number="178"/> + <line hits="0" number="179"/> + <line hits="0" number="180"/> + <line hits="1" number="183"/> + <line hits="1" number="204"/> + <line hits="1" number="205"/> + <line hits="1" number="206"/> + <line hits="1" number="207"/> + <line hits="1" number="208"/> + <line hits="1" number="209"/> + <line hits="1" number="210"/> + </lines> + </class> + </classes> + </package> + <package branch-rate="0" complexity="0" line-rate="0.8898" name=".remote.idiap.svm.home.active.amorais.anaconda3.conda-bld.bob.measure_1631802538088._test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho.lib.python3.7.site-packages.bob.measure.script"> + <classes> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/script/__init__.py" line-rate="1" name="__init__.py"> + <methods/> + <lines/> + </class> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/script/commands.py" line-rate="0.8846" name="commands.py"> + <methods/> + <lines> + <line hits="1" number="3"/> + <line hits="1" number="4"/> + <line hits="1" number="5"/> + <line hits="1" number="8"/> + <line hits="1" number="11"/> + <line hits="1" number="14"/> + <line hits="1" number="23"/> + <line hits="1" number="24"/> + <line hits="1" number="27"/> + <line hits="1" number="31"/> + <line hits="1" number="32"/> + <line hits="1" number="35"/> + <line hits="1" number="39"/> + <line hits="1" number="40"/> + <line hits="1" number="43"/> + <line hits="1" number="47"/> + <line hits="1" number="48"/> + <line hits="1" number="51"/> + <line hits="1" number="55"/> + <line hits="1" number="56"/> + <line hits="1" number="59"/> + <line hits="1" number="64"/> + <line hits="1" number="68"/> + <line hits="0" number="75"/> + <line hits="0" number="76"/> + <line hits="0" number="77"/> + </lines> + </class> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/script/common_options.py" line-rate="0.9165" name="common_options.py"> + <methods/> + <lines> + <line hits="1" number="3"/> + <line hits="1" number="4"/> + <line hits="1" number="5"/> + <line hits="1" number="6"/> + <line hits="1" number="7"/> + <line hits="1" number="8"/> + <line hits="1" number="9"/> + <line hits="1" number="10"/> + <line hits="1" number="17"/> + <line hits="1" number="20"/> + <line hits="1" number="36"/> + <line hits="1" number="37"/> + <line hits="1" number="38"/> + <line hits="1" number="39"/> + <line hits="1" number="40"/> + <line hits="1" number="41"/> + <line hits="1" number="42"/> + <line hits="1" number="43"/> + <line hits="1" number="44"/> + <line hits="0" number="45"/> + <line hits="0" number="46"/> + <line hits="1" number="49"/> + <line hits="1" number="50"/> + <line hits="1" number="51"/> + <line hits="0" number="52"/> + <line hits="1" number="58"/> + <line hits="1" number="59"/> + <line hits="1" number="61"/> + <line hits="1" number="65"/> + <line hits="1" number="68"/> + <line hits="1" number="71"/> + <line hits="1" number="72"/> + <line hits="1" number="73"/> + <line hits="1" number="74"/> + <line hits="1" number="76"/> + <line hits="1" number="87"/> + <line hits="1" number="90"/> + <line hits="1" number="92"/> + <line hits="1" number="97"/> + <line hits="1" number="100"/> + <line hits="1" number="101"/> + <line hits="1" number="102"/> + <line hits="1" number="103"/> + <line hits="1" number="105"/> + <line hits="1" number="117"/> + <line hits="1" number="120"/> + <line hits="1" number="123"/> + <line hits="1" number="124"/> + <line hits="1" number="125"/> + <line hits="1" number="126"/> + <line hits="1" number="128"/> + <line hits="1" number="138"/> + <line hits="1" number="141"/> + <line hits="1" number="144"/> + <line hits="1" number="149"/> + <line hits="1" number="151"/> + <line hits="1" number="160"/> + <line hits="0" number="162"/> + <line hits="1" number="165"/> + <line hits="1" number="167"/> + <line hits="1" number="170"/> + <line hits="1" number="172"/> + <line hits="1" number="181"/> + <line hits="1" number="183"/> + <line hits="1" number="188"/> + <line hits="1" number="191"/> + <line hits="1" number="192"/> + <line hits="1" number="193"/> + <line hits="1" number="194"/> + <line hits="1" number="195"/> + <line hits="1" number="197"/> + <line hits="1" number="207"/> + <line hits="1" number="210"/> + <line hits="1" number="212"/> + <line hits="1" number="223"/> + <line hits="1" number="225"/> + <line hits="1" number="235"/> + <line hits="1" number="237"/> + <line hits="1" number="249"/> + <line hits="1" number="252"/> + <line hits="1" number="253"/> + <line hits="1" number="254"/> + <line hits="1" number="255"/> + <line hits="1" number="256"/> + <line hits="1" number="258"/> + <line hits="1" number="269"/> + <line hits="1" number="272"/> + <line hits="1" number="275"/> + <line hits="1" number="276"/> + <line hits="1" number="277"/> + <line hits="1" number="278"/> + <line hits="1" number="279"/> + <line hits="1" number="281"/> + <line hits="1" number="292"/> + <line hits="1" number="295"/> + <line hits="1" number="298"/> + <line hits="1" number="299"/> + <line hits="1" number="300"/> + <line hits="1" number="301"/> + <line hits="1" number="302"/> + <line hits="1" number="303"/> + <line hits="1" number="304"/> + <line hits="1" number="305"/> + <line hits="1" number="307"/> + <line hits="1" number="318"/> + <line hits="1" number="321"/> + <line hits="0" number="324"/> + <line hits="0" number="325"/> + <line hits="0" number="326"/> + <line hits="0" number="327"/> + <line hits="0" number="328"/> + <line hits="0" number="329"/> + <line hits="0" number="331"/> + <line hits="0" number="342"/> + <line hits="1" number="345"/> + <line hits="1" number="348"/> + <line hits="1" number="349"/> + <line hits="1" number="350"/> + <line hits="0" number="351"/> + <line hits="1" number="354"/> + <line hits="1" number="355"/> + <line hits="1" number="357"/> + <line hits="1" number="368"/> + <line hits="1" number="371"/> + <line hits="1" number="373"/> + <line hits="1" number="375"/> + <line hits="1" number="376"/> + <line hits="1" number="377"/> + <line hits="0" number="378"/> + <line hits="1" number="380"/> + <line hits="1" number="381"/> + <line hits="1" number="382"/> + <line hits="0" number="383"/> + <line hits="0" number="384"/> + <line hits="1" number="385"/> + <line hits="1" number="386"/> + <line hits="1" number="388"/> + <line hits="1" number="405"/> + <line hits="1" number="408"/> + <line hits="1" number="413"/> + <line hits="1" number="414"/> + <line hits="1" number="415"/> + <line hits="1" number="416"/> + <line hits="1" number="418"/> + <line hits="1" number="428"/> + <line hits="1" number="431"/> + <line hits="1" number="434"/> + <line hits="1" number="435"/> + <line hits="1" number="438"/> + <line hits="1" number="439"/> + <line hits="1" number="440"/> + <line hits="1" number="441"/> + <line hits="1" number="443"/> + <line hits="1" number="453"/> + <line hits="1" number="456"/> + <line hits="1" number="459"/> + <line hits="1" number="460"/> + <line hits="1" number="461"/> + <line hits="1" number="462"/> + <line hits="1" number="463"/> + <line hits="1" number="464"/> + <line hits="1" number="466"/> + <line hits="1" number="477"/> + <line hits="1" number="480"/> + <line hits="1" number="483"/> + <line hits="1" number="484"/> + <line hits="1" number="485"/> + <line hits="1" number="486"/> + <line hits="1" number="488"/> + <line hits="1" number="498"/> + <line hits="1" number="501"/> + <line hits="1" number="510"/> + <line hits="1" number="511"/> + <line hits="1" number="515"/> + <line hits="1" number="516"/> + <line hits="0" number="517"/> + <line hits="1" number="521"/> + <line hits="1" number="522"/> + <line hits="1" number="524"/> + <line hits="1" number="536"/> + <line hits="1" number="539"/> + <line hits="1" number="542"/> + <line hits="1" number="543"/> + <line hits="1" number="544"/> + <line hits="1" number="545"/> + <line hits="1" number="547"/> + <line hits="1" number="558"/> + <line hits="1" number="561"/> + <line hits="1" number="564"/> + <line hits="1" number="565"/> + <line hits="1" number="566"/> + <line hits="0" number="567"/> + <line hits="1" number="570"/> + <line hits="1" number="571"/> + <line hits="1" number="573"/> + <line hits="1" number="586"/> + <line hits="1" number="589"/> + <line hits="1" number="592"/> + <line hits="1" number="593"/> + <line hits="1" number="594"/> + <line hits="0" number="595"/> + <line hits="1" number="598"/> + <line hits="1" number="599"/> + <line hits="1" number="601"/> + <line hits="1" number="614"/> + <line hits="1" number="617"/> + <line hits="1" number="632"/> + <line hits="1" number="633"/> + <line hits="1" number="634"/> + <line hits="1" number="637"/> + <line hits="1" number="638"/> + <line hits="1" number="639"/> + <line hits="1" number="641"/> + <line hits="1" number="652"/> + <line hits="1" number="655"/> + <line hits="1" number="658"/> + <line hits="1" number="659"/> + <line hits="1" number="660"/> + <line hits="1" number="661"/> + <line hits="1" number="663"/> + <line hits="1" number="688"/> + <line hits="1" number="691"/> + <line hits="0" number="694"/> + <line hits="0" number="695"/> + <line hits="0" number="696"/> + <line hits="0" number="697"/> + <line hits="0" number="699"/> + <line hits="0" number="707"/> + <line hits="1" number="710"/> + <line hits="0" number="713"/> + <line hits="0" number="714"/> + <line hits="0" number="715"/> + <line hits="0" number="716"/> + <line hits="0" number="718"/> + <line hits="0" number="726"/> + <line hits="1" number="729"/> + <line hits="1" number="732"/> + <line hits="1" number="733"/> + <line hits="1" number="734"/> + <line hits="1" number="735"/> + <line hits="1" number="736"/> + <line hits="1" number="737"/> + <line hits="1" number="739"/> + <line hits="1" number="750"/> + <line hits="1" number="753"/> + <line hits="0" number="756"/> + <line hits="0" number="757"/> + <line hits="0" number="758"/> + <line hits="0" number="759"/> + <line hits="0" number="761"/> + <line hits="0" number="772"/> + <line hits="1" number="775"/> + <line hits="1" number="778"/> + <line hits="1" number="779"/> + <line hits="1" number="780"/> + <line hits="1" number="781"/> + <line hits="1" number="782"/> + <line hits="1" number="783"/> + <line hits="1" number="785"/> + <line hits="1" number="799"/> + <line hits="1" number="802"/> + <line hits="1" number="805"/> + <line hits="1" number="806"/> + <line hits="1" number="807"/> + <line hits="1" number="808"/> + <line hits="1" number="810"/> + <line hits="1" number="821"/> + <line hits="1" number="824"/> + <line hits="1" number="827"/> + <line hits="1" number="828"/> + <line hits="1" number="829"/> + <line hits="1" number="830"/> + <line hits="1" number="832"/> + <line hits="1" number="842"/> + <line hits="1" number="845"/> + <line hits="1" number="848"/> + <line hits="1" number="849"/> + <line hits="1" number="850"/> + <line hits="1" number="851"/> + <line hits="1" number="852"/> + <line hits="1" number="854"/> + <line hits="1" number="864"/> + <line hits="1" number="867"/> + <line hits="1" number="874"/> + <line hits="1" number="875"/> + <line hits="1" number="877"/> + <line hits="1" number="878"/> + <line hits="1" number="879"/> + <line hits="1" number="880"/> + <line hits="1" number="881"/> + <line hits="1" number="882"/> + <line hits="1" number="883"/> + <line hits="1" number="884"/> + <line hits="1" number="885"/> + <line hits="1" number="886"/> + <line hits="1" number="887"/> + <line hits="1" number="888"/> + <line hits="1" number="889"/> + <line hits="1" number="890"/> + <line hits="1" number="892"/> + <line hits="1" number="894"/> + <line hits="1" number="896"/> + <line hits="1" number="899"/> + <line hits="1" number="922"/> + <line hits="1" number="923"/> + <line hits="1" number="924"/> + <line hits="1" number="926"/> + <line hits="1" number="927"/> + <line hits="1" number="928"/> + <line hits="1" number="929"/> + <line hits="1" number="930"/> + <line hits="1" number="931"/> + <line hits="1" number="932"/> + <line hits="1" number="933"/> + <line hits="1" number="934"/> + <line hits="1" number="935"/> + <line hits="1" number="936"/> + <line hits="1" number="937"/> + <line hits="1" number="938"/> + <line hits="1" number="939"/> + <line hits="1" number="940"/> + <line hits="1" number="941"/> + <line hits="1" number="942"/> + <line hits="1" number="943"/> + <line hits="1" number="944"/> + <line hits="1" number="945"/> + <line hits="1" number="946"/> + <line hits="1" number="947"/> + <line hits="1" number="948"/> + <line hits="1" number="949"/> + <line hits="1" number="950"/> + <line hits="1" number="951"/> + <line hits="1" number="953"/> + <line hits="1" number="955"/> + <line hits="1" number="957"/> + <line hits="1" number="960"/> + <line hits="1" number="981"/> + <line hits="1" number="982"/> + <line hits="1" number="983"/> + <line hits="1" number="985"/> + <line hits="1" number="986"/> + <line hits="1" number="987"/> + <line hits="1" number="988"/> + <line hits="1" number="989"/> + <line hits="1" number="990"/> + <line hits="1" number="991"/> + <line hits="1" number="992"/> + <line hits="1" number="993"/> + <line hits="1" number="994"/> + <line hits="1" number="995"/> + <line hits="1" number="996"/> + <line hits="1" number="997"/> + <line hits="1" number="998"/> + <line hits="1" number="999"/> + <line hits="1" number="1000"/> + <line hits="1" number="1001"/> + <line hits="1" number="1002"/> + <line hits="1" number="1003"/> + <line hits="1" number="1004"/> + <line hits="1" number="1005"/> + <line hits="1" number="1006"/> + <line hits="1" number="1007"/> + <line hits="1" number="1008"/> + <line hits="1" number="1010"/> + <line hits="1" number="1012"/> + <line hits="1" number="1014"/> + <line hits="1" number="1017"/> + <line hits="1" number="1037"/> + <line hits="1" number="1038"/> + <line hits="1" number="1039"/> + <line hits="1" number="1041"/> + <line hits="1" number="1042"/> + <line hits="1" number="1043"/> + <line hits="1" number="1044"/> + <line hits="1" number="1045"/> + <line hits="1" number="1046"/> + <line hits="1" number="1047"/> + <line hits="1" number="1048"/> + <line hits="1" number="1049"/> + <line hits="1" number="1050"/> + <line hits="1" number="1051"/> + <line hits="1" number="1052"/> + <line hits="1" number="1053"/> + <line hits="1" number="1054"/> + <line hits="1" number="1055"/> + <line hits="1" number="1056"/> + <line hits="1" number="1057"/> + <line hits="1" number="1058"/> + <line hits="1" number="1060"/> + <line hits="1" number="1062"/> + <line hits="1" number="1064"/> + <line hits="1" number="1067"/> + <line hits="1" number="1085"/> + <line hits="1" number="1086"/> + <line hits="1" number="1087"/> + <line hits="1" number="1089"/> + <line hits="1" number="1090"/> + <line hits="1" number="1091"/> + <line hits="1" number="1092"/> + <line hits="1" number="1093"/> + <line hits="1" number="1094"/> + <line hits="1" number="1095"/> + <line hits="1" number="1096"/> + <line hits="1" number="1097"/> + <line hits="1" number="1098"/> + <line hits="1" number="1099"/> + <line hits="1" number="1100"/> + <line hits="1" number="1101"/> + <line hits="1" number="1102"/> + <line hits="1" number="1103"/> + <line hits="1" number="1104"/> + <line hits="1" number="1105"/> + <line hits="1" number="1106"/> + <line hits="1" number="1107"/> + <line hits="1" number="1108"/> + <line hits="1" number="1109"/> + <line hits="1" number="1110"/> + <line hits="1" number="1111"/> + <line hits="1" number="1113"/> + <line hits="1" number="1115"/> + <line hits="1" number="1117"/> + <line hits="1" number="1120"/> + <line hits="1" number="1143"/> + <line hits="1" number="1144"/> + <line hits="1" number="1145"/> + <line hits="1" number="1147"/> + <line hits="1" number="1148"/> + <line hits="1" number="1149"/> + <line hits="1" number="1150"/> + <line hits="1" number="1151"/> + <line hits="1" number="1152"/> + <line hits="1" number="1153"/> + <line hits="1" number="1154"/> + <line hits="1" number="1155"/> + <line hits="1" number="1156"/> + <line hits="1" number="1157"/> + <line hits="1" number="1158"/> + <line hits="1" number="1159"/> + <line hits="1" number="1160"/> + <line hits="1" number="1161"/> + <line hits="1" number="1162"/> + <line hits="1" number="1163"/> + <line hits="1" number="1164"/> + <line hits="1" number="1165"/> + <line hits="1" number="1167"/> + <line hits="1" number="1169"/> + <line hits="1" number="1171"/> + <line hits="1" number="1174"/> + <line hits="1" number="1210"/> + <line hits="1" number="1212"/> + <line hits="1" number="1213"/> + <line hits="1" number="1214"/> + <line hits="1" number="1215"/> + <line hits="1" number="1216"/> + <line hits="1" number="1217"/> + <line hits="0" number="1218"/> + <line hits="1" number="1221"/> + <line hits="1" number="1222"/> + <line hits="1" number="1223"/> + <line hits="1" number="1225"/> + <line hits="1" number="1226"/> + <line hits="1" number="1228"/> + <line hits="1" number="1229"/> + <line hits="1" number="1230"/> + <line hits="1" number="1231"/> + <line hits="1" number="1232"/> + <line hits="1" number="1233"/> + <line hits="1" number="1235"/> + <line hits="1" number="1236"/> + <line hits="1" number="1237"/> + <line hits="1" number="1238"/> + <line hits="1" number="1239"/> + <line hits="1" number="1240"/> + <line hits="1" number="1243"/> + <line hits="1" number="1246"/> + <line hits="1" number="1247"/> + <line hits="0" number="1248"/> + <line hits="0" number="1249"/> + <line hits="0" number="1250"/> + <line hits="1" number="1252"/> + <line hits="1" number="1263"/> + <line hits="1" number="1266"/> + <line hits="1" number="1269"/> + <line hits="1" number="1270"/> + <line hits="1" number="1272"/> + <line hits="1" number="1273"/> + <line hits="1" number="1274"/> + <line hits="1" number="1275"/> + <line hits="1" number="1276"/> + <line hits="1" number="1277"/> + <line hits="1" number="1278"/> + <line hits="1" number="1279"/> + <line hits="1" number="1280"/> + <line hits="1" number="1281"/> + <line hits="1" number="1282"/> + <line hits="1" number="1283"/> + <line hits="1" number="1284"/> + <line hits="1" number="1285"/> + <line hits="1" number="1286"/> + <line hits="0" number="1288"/> + <line hits="1" number="1290"/> + <line hits="1" number="1292"/> + <line hits="1" number="1295"/> + </lines> + </class> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/script/figure.py" line-rate="0.8832" name="figure.py"> + <methods/> + <lines> + <line hits="1" number="3"/> + <line hits="1" number="4"/> + <line hits="1" number="5"/> + <line hits="1" number="6"/> + <line hits="1" number="7"/> + <line hits="1" number="8"/> + <line hits="1" number="9"/> + <line hits="1" number="10"/> + <line hits="1" number="11"/> + <line hits="1" number="12"/> + <line hits="1" number="13"/> + <line hits="1" number="14"/> + <line hits="1" number="15"/> + <line hits="1" number="17"/> + <line hits="1" number="20"/> + <line hits="1" number="21"/> + <line hits="1" number="22"/> + <line hits="1" number="23"/> + <line hits="0" number="25"/> + <line hits="1" number="30"/> + <line hits="1" number="33"/> + <line hits="1" number="44"/> + <line hits="1" number="46"/> + <line hits="1" number="60"/> + <line hits="1" number="61"/> + <line hits="1" number="62"/> + <line hits="1" number="63"/> + <line hits="1" number="64"/> + <line hits="1" number="65"/> + <line hits="1" number="66"/> + <line hits="0" number="67"/> + <line hits="1" number="70"/> + <line hits="1" number="71"/> + <line hits="0" number="72"/> + <line hits="1" number="76"/> + <line hits="1" number="86"/> + <line hits="1" number="91"/> + <line hits="1" number="94"/> + <line hits="1" number="103"/> + <line hits="1" number="104"/> + <line hits="1" number="105"/> + <line hits="1" number="106"/> + <line hits="1" number="108"/> + <line hits="1" number="109"/> + <line hits="1" number="111"/> + <line hits="1" number="112"/> + <line hits="1" number="114"/> + <line hits="1" number="116"/> + <line hits="1" number="119"/> + <line hits="1" number="123"/> + <line hits="1" number="126"/> + <line hits="0" number="141"/> + <line hits="1" number="150"/> + <line hits="0" number="155"/> + <line hits="1" number="159"/> + <line hits="1" number="170"/> + <line hits="1" number="171"/> + <line hits="1" number="172"/> + <line hits="1" number="173"/> + <line hits="1" number="174"/> + <line hits="1" number="175"/> + <line hits="1" number="178"/> + <line hits="1" number="187"/> + <line hits="1" number="203"/> + <line hits="1" number="204"/> + <line hits="1" number="205"/> + <line hits="1" number="206"/> + <line hits="1" number="207"/> + <line hits="1" number="208"/> + <line hits="1" number="209"/> + <line hits="1" number="210"/> + <line hits="0" number="211"/> + <line hits="0" number="212"/> + <line hits="0" number="213"/> + <line hits="0" number="214"/> + <line hits="1" number="218"/> + <line hits="1" number="219"/> + <line hits="1" number="220"/> + <line hits="1" number="221"/> + <line hits="1" number="222"/> + <line hits="1" number="224"/> + <line hits="1" number="225"/> + <line hits="1" number="227"/> + <line hits="1" number="228"/> + <line hits="1" number="231"/> + <line hits="1" number="232"/> + <line hits="1" number="233"/> + <line hits="1" number="234"/> + <line hits="1" number="236"/> + <line hits="1" number="237"/> + <line hits="1" number="238"/> + <line hits="1" number="239"/> + <line hits="1" number="242"/> + <line hits="1" number="245"/> + <line hits="1" number="248"/> + <line hits="1" number="249"/> + <line hits="1" number="250"/> + <line hits="1" number="268"/> + <line hits="1" number="269"/> + <line hits="1" number="270"/> + <line hits="1" number="271"/> + <line hits="1" number="276"/> + <line hits="1" number="281"/> + <line hits="1" number="282"/> + <line hits="1" number="283"/> + <line hits="1" number="284"/> + <line hits="1" number="285"/> + <line hits="1" number="286"/> + <line hits="1" number="287"/> + <line hits="1" number="288"/> + <line hits="1" number="290"/> + <line hits="1" number="304"/> + <line hits="1" number="306"/> + <line hits="1" number="307"/> + <line hits="1" number="308"/> + <line hits="1" number="309"/> + <line hits="1" number="310"/> + <line hits="1" number="312"/> + <line hits="1" number="318"/> + <line hits="1" number="319"/> + <line hits="1" number="320"/> + <line hits="1" number="321"/> + <line hits="0" number="322"/> + <line hits="1" number="323"/> + <line hits="0" number="329"/> + <line hits="1" number="335"/> + <line hits="1" number="336"/> + <line hits="1" number="338"/> + <line hits="1" number="341"/> + <line hits="1" number="345"/> + <line hits="1" number="347"/> + <line hits="1" number="349"/> + <line hits="1" number="352"/> + <line hits="1" number="353"/> + <line hits="1" number="354"/> + <line hits="1" number="355"/> + <line hits="1" number="356"/> + <line hits="1" number="357"/> + <line hits="1" number="362"/> + <line hits="1" number="363"/> + <line hits="1" number="373"/> + <line hits="1" number="374"/> + <line hits="1" number="375"/> + <line hits="1" number="376"/> + <line hits="1" number="377"/> + <line hits="1" number="384"/> + <line hits="1" number="385"/> + <line hits="1" number="386"/> + <line hits="1" number="387"/> + <line hits="1" number="388"/> + <line hits="1" number="389"/> + <line hits="1" number="390"/> + <line hits="1" number="391"/> + <line hits="1" number="393"/> + <line hits="1" number="395"/> + <line hits="1" number="397"/> + <line hits="1" number="398"/> + <line hits="1" number="401"/> + <line hits="1" number="413"/> + <line hits="0" number="428"/> + <line hits="0" number="432"/> + <line hits="0" number="433"/> + <line hits="0" number="434"/> + <line hits="0" number="435"/> + <line hits="1" number="437"/> + <line hits="0" number="438"/> + <line hits="0" number="439"/> + <line hits="0" number="440"/> + <line hits="0" number="441"/> + <line hits="0" number="442"/> + <line hits="0" number="443"/> + <line hits="0" number="447"/> + <line hits="0" number="448"/> + <line hits="0" number="449"/> + <line hits="0" number="453"/> + <line hits="1" number="455"/> + <line hits="0" number="457"/> + <line hits="0" number="458"/> + <line hits="0" number="459"/> + <line hits="0" number="460"/> + <line hits="0" number="461"/> + <line hits="0" number="462"/> + <line hits="0" number="463"/> + <line hits="0" number="468"/> + <line hits="0" number="469"/> + <line hits="0" number="470"/> + <line hits="0" number="472"/> + <line hits="0" number="473"/> + <line hits="0" number="474"/> + <line hits="0" number="475"/> + <line hits="0" number="476"/> + <line hits="0" number="477"/> + <line hits="0" number="478"/> + <line hits="0" number="480"/> + <line hits="0" number="482"/> + <line hits="0" number="486"/> + <line hits="0" number="487"/> + <line hits="0" number="489"/> + <line hits="0" number="493"/> + <line hits="0" number="496"/> + <line hits="0" number="500"/> + <line hits="1" number="504"/> + <line hits="0" number="505"/> + <line hits="0" number="508"/> + <line hits="1" number="511"/> + <line hits="1" number="516"/> + <line hits="1" number="517"/> + <line hits="1" number="518"/> + <line hits="1" number="519"/> + <line hits="1" number="520"/> + <line hits="1" number="521"/> + <line hits="1" number="522"/> + <line hits="1" number="523"/> + <line hits="1" number="524"/> + <line hits="1" number="525"/> + <line hits="1" number="526"/> + <line hits="1" number="527"/> + <line hits="1" number="528"/> + <line hits="0" number="529"/> + <line hits="1" number="532"/> + <line hits="1" number="533"/> + <line hits="1" number="534"/> + <line hits="1" number="535"/> + <line hits="1" number="536"/> + <line hits="1" number="537"/> + <line hits="1" number="538"/> + <line hits="1" number="539"/> + <line hits="1" number="540"/> + <line hits="1" number="541"/> + <line hits="1" number="542"/> + <line hits="1" number="543"/> + <line hits="1" number="544"/> + <line hits="1" number="545"/> + <line hits="1" number="546"/> + <line hits="1" number="548"/> + <line hits="1" number="549"/> + <line hits="0" number="550"/> + <line hits="1" number="552"/> + <line hits="1" number="553"/> + <line hits="1" number="554"/> + <line hits="1" number="555"/> + <line hits="1" number="556"/> + <line hits="1" number="558"/> + <line hits="1" number="560"/> + <line hits="0" number="561"/> + <line hits="1" number="563"/> + <line hits="1" number="569"/> + <line hits="1" number="570"/> + <line hits="1" number="571"/> + <line hits="1" number="572"/> + <line hits="1" number="573"/> + <line hits="1" number="575"/> + <line hits="1" number="579"/> + <line hits="1" number="580"/> + <line hits="1" number="581"/> + <line hits="1" number="582"/> + <line hits="1" number="583"/> + <line hits="1" number="584"/> + <line hits="1" number="585"/> + <line hits="1" number="586"/> + <line hits="1" number="587"/> + <line hits="1" number="588"/> + <line hits="1" number="589"/> + <line hits="1" number="590"/> + <line hits="1" number="592"/> + <line hits="1" number="593"/> + <line hits="1" number="594"/> + <line hits="1" number="595"/> + <line hits="1" number="596"/> + <line hits="1" number="597"/> + <line hits="1" number="598"/> + <line hits="1" number="599"/> + <line hits="1" number="600"/> + <line hits="1" number="601"/> + <line hits="1" number="602"/> + <line hits="1" number="603"/> + <line hits="1" number="604"/> + <line hits="1" number="607"/> + <line hits="1" number="610"/> + <line hits="1" number="612"/> + <line hits="1" number="614"/> + <line hits="0" number="615"/> + <line hits="1" number="617"/> + <line hits="1" number="618"/> + <line hits="1" number="619"/> + <line hits="1" number="620"/> + <line hits="1" number="622"/> + <line hits="1" number="623"/> + <line hits="1" number="624"/> + <line hits="1" number="625"/> + <line hits="1" number="628"/> + <line hits="1" number="635"/> + <line hits="1" number="639"/> + <line hits="1" number="640"/> + <line hits="1" number="641"/> + <line hits="1" number="642"/> + <line hits="1" number="643"/> + <line hits="1" number="644"/> + <line hits="1" number="646"/> + <line hits="1" number="647"/> + <line hits="1" number="648"/> + <line hits="1" number="651"/> + <line hits="1" number="654"/> + <line hits="1" number="655"/> + <line hits="1" number="656"/> + <line hits="1" number="657"/> + <line hits="1" number="658"/> + <line hits="1" number="659"/> + <line hits="1" number="660"/> + <line hits="1" number="661"/> + <line hits="1" number="662"/> + <line hits="1" number="663"/> + <line hits="1" number="665"/> + <line hits="1" number="666"/> + <line hits="1" number="667"/> + <line hits="1" number="669"/> + <line hits="1" number="672"/> + <line hits="1" number="673"/> + <line hits="1" number="674"/> + <line hits="1" number="675"/> + <line hits="1" number="676"/> + <line hits="1" number="677"/> + <line hits="1" number="679"/> + <line hits="1" number="680"/> + <line hits="1" number="681"/> + <line hits="1" number="682"/> + <line hits="1" number="694"/> + <line hits="1" number="695"/> + <line hits="1" number="697"/> + <line hits="1" number="698"/> + <line hits="1" number="699"/> + <line hits="1" number="711"/> + <line hits="1" number="712"/> + <line hits="1" number="714"/> + <line hits="1" number="715"/> + <line hits="1" number="716"/> + <line hits="1" number="717"/> + <line hits="1" number="718"/> + <line hits="1" number="719"/> + <line hits="1" number="720"/> + <line hits="1" number="722"/> + <line hits="1" number="723"/> + <line hits="1" number="737"/> + <line hits="1" number="740"/> + <line hits="1" number="741"/> + <line hits="1" number="742"/> + <line hits="1" number="743"/> + <line hits="1" number="744"/> + <line hits="1" number="745"/> + <line hits="1" number="746"/> + <line hits="1" number="747"/> + <line hits="1" number="749"/> + <line hits="1" number="750"/> + <line hits="1" number="752"/> + <line hits="1" number="753"/> + <line hits="1" number="755"/> + <line hits="1" number="756"/> + <line hits="1" number="758"/> + <line hits="1" number="760"/> + <line hits="1" number="763"/> + <line hits="1" number="764"/> + <line hits="1" number="765"/> + <line hits="1" number="766"/> + <line hits="1" number="767"/> + <line hits="1" number="768"/> + <line hits="1" number="770"/> + <line hits="1" number="771"/> + <line hits="1" number="772"/> + <line hits="1" number="773"/> + <line hits="1" number="783"/> + <line hits="1" number="784"/> + <line hits="1" number="785"/> + <line hits="1" number="786"/> + <line hits="1" number="787"/> + <line hits="1" number="797"/> + <line hits="1" number="798"/> + <line hits="1" number="800"/> + <line hits="1" number="801"/> + <line hits="1" number="802"/> + <line hits="1" number="803"/> + <line hits="1" number="804"/> + <line hits="1" number="805"/> + <line hits="1" number="807"/> + <line hits="1" number="808"/> + <line hits="1" number="819"/> + <line hits="1" number="820"/> + <line hits="1" number="823"/> + <line hits="1" number="826"/> + <line hits="1" number="827"/> + <line hits="1" number="828"/> + <line hits="0" number="829"/> + <line hits="1" number="830"/> + <line hits="1" number="831"/> + <line hits="1" number="832"/> + <line hits="1" number="833"/> + <line hits="1" number="834"/> + <line hits="1" number="835"/> + <line hits="1" number="836"/> + <line hits="1" number="837"/> + <line hits="1" number="839"/> + <line hits="1" number="841"/> + <line hits="1" number="842"/> + <line hits="1" number="843"/> + <line hits="1" number="844"/> + <line hits="1" number="845"/> + <line hits="1" number="846"/> + <line hits="1" number="848"/> + <line hits="1" number="849"/> + <line hits="1" number="862"/> + <line hits="1" number="870"/> + <line hits="1" number="871"/> + <line hits="1" number="874"/> + <line hits="1" number="875"/> + <line hits="0" number="876"/> + <line hits="1" number="877"/> + <line hits="0" number="878"/> + <line hits="1" number="881"/> + <line hits="1" number="884"/> + <line hits="1" number="885"/> + <line hits="1" number="887"/> + <line hits="1" number="888"/> + <line hits="1" number="889"/> + <line hits="1" number="891"/> + <line hits="1" number="893"/> + <line hits="1" number="899"/> + <line hits="1" number="900"/> + <line hits="1" number="901"/> + <line hits="1" number="902"/> + <line hits="1" number="904"/> + <line hits="1" number="906"/> + <line hits="1" number="907"/> + <line hits="1" number="908"/> + <line hits="1" number="910"/> + <line hits="1" number="911"/> + <line hits="1" number="912"/> + <line hits="1" number="914"/> + <line hits="1" number="915"/> + <line hits="1" number="916"/> + <line hits="1" number="917"/> + <line hits="1" number="919"/> + <line hits="1" number="921"/> + <line hits="0" number="922"/> + <line hits="1" number="924"/> + <line hits="1" number="925"/> + <line hits="1" number="926"/> + <line hits="1" number="927"/> + <line hits="1" number="929"/> + <line hits="1" number="930"/> + <line hits="1" number="931"/> + <line hits="1" number="932"/> + <line hits="1" number="935"/> + <line hits="1" number="936"/> + <line hits="1" number="938"/> + <line hits="1" number="940"/> + <line hits="0" number="943"/> + <line hits="0" number="945"/> + <line hits="1" number="946"/> + <line hits="1" number="954"/> + <line hits="1" number="957"/> + <line hits="1" number="960"/> + <line hits="1" number="961"/> + <line hits="1" number="962"/> + <line hits="1" number="963"/> + <line hits="1" number="964"/> + <line hits="1" number="967"/> + <line hits="1" number="968"/> + <line hits="1" number="969"/> + <line hits="1" number="971"/> + <line hits="1" number="973"/> + <line hits="1" number="974"/> + <line hits="0" number="975"/> + <line hits="1" number="977"/> + <line hits="1" number="978"/> + <line hits="1" number="981"/> + <line hits="1" number="982"/> + <line hits="1" number="983"/> + <line hits="1" number="984"/> + <line hits="1" number="985"/> + <line hits="1" number="987"/> + <line hits="1" number="989"/> + <line hits="1" number="991"/> + <line hits="1" number="996"/> + <line hits="1" number="999"/> + <line hits="1" number="1000"/> + <line hits="1" number="1001"/> + <line hits="1" number="1002"/> + <line hits="1" number="1004"/> + <line hits="1" number="1006"/> + <line hits="1" number="1007"/> + <line hits="1" number="1017"/> + <line hits="1" number="1018"/> + <line hits="1" number="1019"/> + <line hits="1" number="1030"/> + <line hits="1" number="1034"/> + <line hits="1" number="1035"/> + <line hits="1" number="1036"/> + <line hits="1" number="1037"/> + <line hits="1" number="1038"/> + <line hits="1" number="1039"/> + <line hits="1" number="1040"/> + <line hits="1" number="1042"/> + <line hits="1" number="1044"/> + <line hits="1" number="1045"/> + <line hits="1" number="1047"/> + <line hits="1" number="1048"/> + <line hits="1" number="1049"/> + <line hits="1" number="1050"/> + <line hits="1" number="1051"/> + <line hits="1" number="1052"/> + <line hits="1" number="1053"/> + <line hits="1" number="1054"/> + <line hits="1" number="1055"/> + <line hits="1" number="1059"/> + <line hits="1" number="1060"/> + <line hits="1" number="1063"/> + <line hits="1" number="1064"/> + <line hits="1" number="1068"/> + <line hits="1" number="1069"/> + <line hits="1" number="1070"/> + <line hits="1" number="1072"/> + <line hits="1" number="1074"/> + <line hits="1" number="1079"/> + <line hits="1" number="1080"/> + <line hits="1" number="1081"/> + <line hits="1" number="1083"/> + <line hits="1" number="1085"/> + <line hits="1" number="1086"/> + <line hits="1" number="1096"/> + <line hits="1" number="1098"/> + <line hits="1" number="1099"/> + <line hits="1" number="1100"/> + <line hits="1" number="1101"/> + <line hits="1" number="1102"/> + <line hits="1" number="1103"/> + <line hits="1" number="1105"/> + <line hits="1" number="1110"/> + <line hits="1" number="1112"/> + <line hits="1" number="1114"/> + <line hits="1" number="1115"/> + <line hits="1" number="1117"/> + <line hits="1" number="1119"/> + <line hits="1" number="1120"/> + <line hits="1" number="1121"/> + <line hits="1" number="1122"/> + <line hits="1" number="1124"/> + <line hits="1" number="1126"/> + <line hits="1" number="1132"/> + <line hits="1" number="1133"/> + </lines> + </class> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/script/gen.py" line-rate="0.5806" name="gen.py"> + <methods/> + <lines> + <line hits="1" number="5"/> + <line hits="1" number="8"/> + <line hits="1" number="10"/> + <line hits="1" number="11"/> + <line hits="1" number="13"/> + <line hits="1" number="14"/> + <line hits="1" number="16"/> + <line hits="1" number="18"/> + <line hits="1" number="20"/> + <line hits="1" number="22"/> + <line hits="1" number="23"/> + <line hits="1" number="26"/> + <line hits="0" number="56"/> + <line hits="1" number="60"/> + <line hits="0" number="80"/> + <line hits="0" number="82"/> + <line hits="0" number="84"/> + <line hits="0" number="85"/> + <line hits="0" number="86"/> + <line hits="0" number="88"/> + <line hits="0" number="89"/> + <line hits="0" number="90"/> + <line hits="1" number="93"/> + <line hits="1" number="94"/> + <line hits="1" number="95"/> + <line hits="1" number="96"/> + <line hits="1" number="97"/> + <line hits="0" number="107"/> + <line hits="0" number="108"/> + <line hits="0" number="111"/> + <line hits="0" number="112"/> + </lines> + </class> + <class branch-rate="0" complexity="0" filename="/remote/idiap.svm/home.active/amorais/anaconda3/conda-bld/bob.measure_1631802538088/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/python3.7/site-packages/bob/measure/script/measure.py" line-rate="0.875" name="measure.py"> + <methods/> + <lines> + <line hits="1" number="3"/> + <line hits="1" number="4"/> + <line hits="1" number="5"/> + <line hits="1" number="6"/> + <line hits="1" number="7"/> + <line hits="1" number="10"/> + <line hits="1" number="11"/> + <line hits="0" number="14"/> + </lines> + </class> + </classes> + </package> + </packages> +</coverage> -- GitLab