# Copyright © 2022 Idiap Research Institute <contact@idiap.ch>
#
# SPDX-License-Identifier: GPL-3.0-or-later

import click

from clapper.click import AliasedGroup

from . import (
    compare_vis,
    config,
    database,
    evaluate,
    evaluate_saliencymaps,
    experiment,
    generate_saliencymaps,
    predict,
    saliency_completeness,
    saliency_interpretability,
    train,
    train_analysis,
    visualize,
)


@click.group(
    cls=AliasedGroup,
    context_settings=dict(help_option_names=["-?", "-h", "--help"]),
)
def cli():
    """Image classification benchmark."""
    pass


cli.add_command(compare_vis.compare_vis)
cli.add_command(config.config)
cli.add_command(database.database)
cli.add_command(evaluate.evaluate)
cli.add_command(saliency_completeness.saliency_completeness)
cli.add_command(saliency_interpretability.saliency_interpretability)
cli.add_command(evaluate_saliencymaps.evaluate_saliencymaps)
cli.add_command(experiment.experiment)
cli.add_command(generate_saliencymaps.generate_saliencymaps)
cli.add_command(predict.predict)
cli.add_command(train.train)
cli.add_command(train_analysis.train_analysis)
cli.add_command(visualize.visualize)