From 366b4fb016682ad0da5bafb739dc76914567d9e3 Mon Sep 17 00:00:00 2001 From: Stefan Reck <stefan.reck@fau.de> Date: Fri, 16 Apr 2021 15:28:19 +0200 Subject: [PATCH] move remaining commands to unified parser --- orcasong/parser.py | 4 ++++ orcasong/plotting/plot_binstats.py | 18 ++++++++++++++++++ orcasong/tools/concatenate.py | 1 + orcasong/tools/make_data_split.py | 20 +++++++++++++++++++- orcasong/tools/postproc.py | 1 + orcasong/tools/shuffle2.py | 1 + setup.py | 2 +- 7 files changed, 45 insertions(+), 2 deletions(-) diff --git a/orcasong/parser.py b/orcasong/parser.py index 69eecb5..df64427 100644 --- a/orcasong/parser.py +++ b/orcasong/parser.py @@ -7,6 +7,8 @@ from orcasong.tools.concatenate import concatenate from orcasong.tools.postproc import postproc_file from orcasong.tools.shuffle2 import h5shuffle2 import orcasong.from_toml as from_toml +import orcasong.plotting.plot_binstats as plot_binstats +import orcasong.tools.make_data_split as make_data_split def _add_parser_concatenate(subparsers): @@ -124,6 +126,8 @@ def main(): _add_parser_concatenate(subparsers) _add_parser_h5shuffle(subparsers) _add_parser_h5shuffle2(subparsers) + plot_binstats.add_parser(subparsers) + make_data_split.add_parser(subparsers) _add_parser_version(subparsers) kwargs = vars(parser.parse_args()) diff --git a/orcasong/plotting/plot_binstats.py b/orcasong/plotting/plot_binstats.py index be2c8e5..e27fb7e 100644 --- a/orcasong/plotting/plot_binstats.py +++ b/orcasong/plotting/plot_binstats.py @@ -218,6 +218,9 @@ def get_all_h5_files(): def main(): + # TODO deprecated + warnings.warn( + "plot_binstats is deprecated and has been renamed to orcasong plot_binstats") parser = argparse.ArgumentParser( description='Generate a plot with statistics of the binning. ' 'Can only be used on files generated with the FileBinner when ' @@ -232,5 +235,20 @@ def main(): plot_hist_of_files(**vars(parser.parse_args())) +def add_parser(subparsers): + parser = subparsers.add_parser( + "plot_binstats", + description='Generate a plot with statistics of the binning. ' + 'Can only be used on files generated with the FileBinner when ' + 'add_bin_stats was set to true (default). ') + parser.add_argument( + '--save_as', type=str, default="bin_stats_plot.pdf", + help='Filename of the plot. Default: bin_stats_plot.pdf.') + parser.add_argument( + 'files', type=str, nargs='*', default=None, + help='File(s) to plot. Default: Plot for all h5 files in current dir.') + parser.set_defaults(func=plot_hist_of_files) + + if __name__ == "__main__": main() diff --git a/orcasong/tools/concatenate.py b/orcasong/tools/concatenate.py index 0a86218..51c3a8d 100644 --- a/orcasong/tools/concatenate.py +++ b/orcasong/tools/concatenate.py @@ -324,6 +324,7 @@ def concatenate(file, outfile="concatenated.h5", no_used_files=False, skip_error def main(): + # TODO deprecated warnings.warn("concatenate is deprecated and has been renamed to orcasong concatenate") parser = argparse.ArgumentParser( description='Concatenate many small h5 files to a single large one ' diff --git a/orcasong/tools/make_data_split.py b/orcasong/tools/make_data_split.py index 8379862..d5f3dc7 100644 --- a/orcasong/tools/make_data_split.py +++ b/orcasong/tools/make_data_split.py @@ -5,6 +5,7 @@ __author__ = "Michael Moser, Daniel Guderian" import os +import warnings import toml import argparse import h5py @@ -13,6 +14,8 @@ import numpy as np def get_parser(): + # TODO deprecated + warnings.warn("make_data_split is deprecated and has been renamed to orcasong make_data_split") parser = argparse.ArgumentParser( description="Create datasets based on the run_id's." "Use the config to add input folder and set the ranges." @@ -26,6 +29,20 @@ def get_parser(): return parser +def add_parser(subparsers): + parser = subparsers.add_parser( + "make_data_split", + description="Create datasets based on the run_id's." + "Use the config to add input folder and set the ranges." + "Outputs a list in an txt file that can be used to " + "concatenate the files specfied" + ) + parser.add_argument( + "config", type=str, help="See example config for detailed information" + ) + parser.set_defaults(func=make_split) + + def get_all_ip_group_keys(cfg): """ Gets the keys of all input groups in the config dict. @@ -418,9 +435,10 @@ def main(): # load the config parser = get_parser() parsed_args = parser.parse_args() + make_split(parsed_args.config) - config_file = parsed_args.config +def make_split(config_file): # decode config cfg = toml.load(config_file) cfg["toml_filename"] = config_file diff --git a/orcasong/tools/postproc.py b/orcasong/tools/postproc.py index acd3c38..45cc320 100644 --- a/orcasong/tools/postproc.py +++ b/orcasong/tools/postproc.py @@ -117,6 +117,7 @@ def get_filepath_output(input_file, shuffle=True, event_skipper=None): def h5shuffle(): + # TODO deprecated warnings.warn("h5shuffle is deprecated and has been renamed to orcasong h5shuffle") parser = argparse.ArgumentParser(description='Shuffle an h5 file using km3pipe.') parser.add_argument('input_file', type=str, help='File to shuffle.') diff --git a/orcasong/tools/shuffle2.py b/orcasong/tools/shuffle2.py index 11083e1..0fcdaa7 100644 --- a/orcasong/tools/shuffle2.py +++ b/orcasong/tools/shuffle2.py @@ -337,6 +337,7 @@ def slicify(fancy_indices): def run_parser(): + # TODO deprecated warnings.warn("h5shuffle2 is deprecated and has been renamed to orcasong h5shuffle2") parser = argparse.ArgumentParser( description="Shuffle datasets in a h5file that have the same length. " diff --git a/setup.py b/setup.py index 281186f..0ad200d 100644 --- a/setup.py +++ b/setup.py @@ -28,9 +28,9 @@ setup( entry_points={'console_scripts': [ 'orcasong=orcasong.parser:main', + # TODO all deprecated: 'make_dsplit=orcasong.tools.make_data_split:main', 'plot_binstats=orcasong.plotting.plot_binstats:main', - # deprecated: 'concatenate=orcasong.tools.concatenate:main', 'h5shuffle=orcasong.tools.postproc:h5shuffle', 'h5shuffle2=orcasong.tools.shuffle2:run_parser', -- GitLab