diff --git a/bob/measure/script/commands.py b/bob/measure/script/commands.py index 2c6423dd0503b1af2e5810f17d71ff11b0a8a5e5..85893e9d09d0e5eeddffb8ba59656567586acad2 100644 --- a/bob/measure/script/commands.py +++ b/bob/measure/script/commands.py @@ -73,12 +73,12 @@ def roc(ctx, scores, evaluation, **kwargs): only dev scores are provided, you must use flag `--no-evaluation`. Examples: - $ bob measure roc dev-scores + $ bob measure roc -v dev-scores - $ bob measure roc dev-scores1 eval-scores1 dev-scores2 + $ bob measure roc -v dev-scores1 eval-scores1 dev-scores2 eval-scores2 - $ bob measure roc -o my_roc.pdf dev-scores1 eval-scores1 + $ bob measure roc -v -o my_roc.pdf dev-scores1 eval-scores1 """ process = figure.Roc(ctx, scores, evaluation, load.split) process.run() @@ -114,12 +114,12 @@ def det(ctx, scores, evaluation, **kwargs): only dev scores are provided, you must use flag `--no-evaluation`. Examples: - $ bob measure det dev-scores + $ bob measure det -v dev-scores - $ bob measure det dev-scores1 eval-scores1 dev-scores2 + $ bob measure det -v dev-scores1 eval-scores1 dev-scores2 eval-scores2 - $ bob measure det -o my_det.pdf dev-scores1 eval-scores1 + $ bob measure det -v -o my_det.pdf dev-scores1 eval-scores1 """ process = figure.Det(ctx, scores, evaluation, load.split) process.run() @@ -149,9 +149,9 @@ def epc(ctx, scores, **kwargs): for each experiment. Examples: - $ bob measure epc dev-scores eval-scores + $ bob measure epc -v dev-scores eval-scores - $ bob measure epc -o my_epc.pdf dev-scores1 eval-scores1 + $ bob measure epc -v -o my_epc.pdf dev-scores1 eval-scores1 """ process = figure.Epc(ctx, scores, True, load.split) process.run() @@ -189,12 +189,12 @@ def hist(ctx, scores, evaluation, **kwargs): as well, use ``--show-dev`` option. Examples: - $ bob measure hist dev-scores + $ bob measure hist -v dev-scores - $ bob measure hist dev-scores1 eval-scores1 dev-scores2 + $ bob measure hist -v dev-scores1 eval-scores1 dev-scores2 eval-scores2 - $ bob measure hist --criterion min-hter --show-dev dev-scores1 eval-scores1 + $ bob measure hist -v --criterion min-hter --show-dev dev-scores1 eval-scores1 """ process = figure.Hist(ctx, scores, evaluation, load.split) process.run() @@ -209,7 +209,6 @@ def hist(ctx, scores, evaluation, **kwargs): @common_options.output_log_metric_option() @common_options.output_plot_file_option(default_out='eval_plots.pdf') @common_options.points_curve_option() -@common_options.n_bins_option() @common_options.lines_at_option() @common_options.const_layout_option() @common_options.figsize_option() @@ -237,14 +236,14 @@ def evaluate(ctx, scores, evaluation, **kwargs): * evaluation scores Examples: - $ bob measure evaluate dev-scores + $ bob measure evaluate -v dev-scores - $ bob measure evaluate scores-dev1 scores-eval1 scores-dev2 + $ bob measure evaluate -v scores-dev1 scores-eval1 scores-dev2 scores-eval2 - $ bob measure evaluate /path/to/sys-{1,2,3}/scores-{dev,eval} + $ bob measure evaluate -v /path/to/sys-{1,2,3}/scores-{dev,eval} - $ bob measure evaluate -l metrics.txt -o my_plots.pdf dev-scores eval-scores + $ bob measure evaluate -v -l metrics.txt -o my_plots.pdf dev-scores eval-scores ''' # first time erase if existing file ctx.meta['open_mode'] = 'w' diff --git a/bob/measure/script/common_options.py b/bob/measure/script/common_options.py index 99194d615f2f5420699966ead60a5505fcef9ecb..db2ca5fc63ec243fbf891d5e4caa91a3cb8d5f8b 100644 --- a/bob/measure/script/common_options.py +++ b/bob/measure/script/common_options.py @@ -4,6 +4,7 @@ import logging import click from click.types import INT, FLOAT import matplotlib.pyplot as plt +import tabulate from matplotlib.backends.backend_pdf import PdfPages from bob.extension.scripts.click_helper import (bool_option, list_float_option) @@ -245,19 +246,15 @@ def n_bins_option(**kwargs): def table_option(**kwargs): '''Get table option for tabulate package - More informnations: https://pypi.python.org/pypi/tabulate + More informnations: https://pypi.org/project/tabulate/ ''' def custom_table_option(func): def callback(ctx, param, value): ctx.meta['tablefmt'] = value return value return click.option( - '--tablefmt', type=click.STRING, default='rst', - show_default=True, help='Format for table display: `plain`, ' - '`simple`, `grid`, `fancy_grid`, `pipe`, `orgtbl`, ' - '`jira`, `presto`, `psql`, `rst`, `mediawiki`, `moinmoin`, ' - '`youtrack`, `html`, `latex`, ' - '`latex_raw`, `latex_booktabs`, `textile`', + '--tablefmt', type=click.Choice(tabulate.tabulate_formats), + default='rst', show_default=True, help='Format of printed tables.', callback=callback, **kwargs)(func) return custom_table_option @@ -460,7 +457,7 @@ def x_label_option(dflt=None, **kwargs): return value return click.option( '-xl', '--x-lable', type=click.STRING, default=dflt, - help='Label for x-axis', + show_default=True, help='Label for x-axis', callback=callback, **kwargs)(func) return custom_x_label_option diff --git a/doc/guide.rst b/doc/guide.rst index c8acd7a1593be5716ae29b8882c5de010e2d7fda..9ae188fef0d25bb36afaf2692e5fc3538fe3039e 100644 --- a/doc/guide.rst +++ b/doc/guide.rst @@ -470,6 +470,8 @@ look at the implementations at :py:mod:`bob.measure.plot` to understand how to use the |project| methods to compute the curves and interlace that in the way that best suits you. +.. _bob.measure.command_line: + Full applications ----------------- @@ -583,6 +585,11 @@ where `my_det.pdf` will contain DET plots for the two experiments. different plots. You can force gather everything in the same plot using ``--no-split`` option. +.. note:: + The ``--figsize`` and ``--style`` options are two powerful options that can + dramatically change the appearance of your figures. Try them! (e.g. + ``--figsize 12,10 --style grayscale``) + Evaluate ========