Skip to content
Snippets Groups Projects
Commit 366b4fb0 authored by Stefan Reck's avatar Stefan Reck
Browse files

move remaining commands to unified parser

parent 7e9d4fe3
No related branches found
No related tags found
1 merge request!20Parser
...@@ -7,6 +7,8 @@ from orcasong.tools.concatenate import concatenate ...@@ -7,6 +7,8 @@ from orcasong.tools.concatenate import concatenate
from orcasong.tools.postproc import postproc_file from orcasong.tools.postproc import postproc_file
from orcasong.tools.shuffle2 import h5shuffle2 from orcasong.tools.shuffle2 import h5shuffle2
import orcasong.from_toml as from_toml 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): def _add_parser_concatenate(subparsers):
...@@ -124,6 +126,8 @@ def main(): ...@@ -124,6 +126,8 @@ def main():
_add_parser_concatenate(subparsers) _add_parser_concatenate(subparsers)
_add_parser_h5shuffle(subparsers) _add_parser_h5shuffle(subparsers)
_add_parser_h5shuffle2(subparsers) _add_parser_h5shuffle2(subparsers)
plot_binstats.add_parser(subparsers)
make_data_split.add_parser(subparsers)
_add_parser_version(subparsers) _add_parser_version(subparsers)
kwargs = vars(parser.parse_args()) kwargs = vars(parser.parse_args())
......
...@@ -218,6 +218,9 @@ def get_all_h5_files(): ...@@ -218,6 +218,9 @@ def get_all_h5_files():
def main(): def main():
# TODO deprecated
warnings.warn(
"plot_binstats is deprecated and has been renamed to orcasong plot_binstats")
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description='Generate a plot with statistics of the binning. ' description='Generate a plot with statistics of the binning. '
'Can only be used on files generated with the FileBinner when ' 'Can only be used on files generated with the FileBinner when '
...@@ -232,5 +235,20 @@ def main(): ...@@ -232,5 +235,20 @@ def main():
plot_hist_of_files(**vars(parser.parse_args())) 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__": if __name__ == "__main__":
main() main()
...@@ -324,6 +324,7 @@ def concatenate(file, outfile="concatenated.h5", no_used_files=False, skip_error ...@@ -324,6 +324,7 @@ def concatenate(file, outfile="concatenated.h5", no_used_files=False, skip_error
def main(): def main():
# TODO deprecated
warnings.warn("concatenate is deprecated and has been renamed to orcasong concatenate") warnings.warn("concatenate is deprecated and has been renamed to orcasong concatenate")
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description='Concatenate many small h5 files to a single large one ' description='Concatenate many small h5 files to a single large one '
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
__author__ = "Michael Moser, Daniel Guderian" __author__ = "Michael Moser, Daniel Guderian"
import os import os
import warnings
import toml import toml
import argparse import argparse
import h5py import h5py
...@@ -13,6 +14,8 @@ import numpy as np ...@@ -13,6 +14,8 @@ import numpy as np
def get_parser(): def get_parser():
# TODO deprecated
warnings.warn("make_data_split is deprecated and has been renamed to orcasong make_data_split")
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description="Create datasets based on the run_id's." description="Create datasets based on the run_id's."
"Use the config to add input folder and set the ranges." "Use the config to add input folder and set the ranges."
...@@ -26,6 +29,20 @@ def get_parser(): ...@@ -26,6 +29,20 @@ def get_parser():
return 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): def get_all_ip_group_keys(cfg):
""" """
Gets the keys of all input groups in the config dict. Gets the keys of all input groups in the config dict.
...@@ -418,9 +435,10 @@ def main(): ...@@ -418,9 +435,10 @@ def main():
# load the config # load the config
parser = get_parser() parser = get_parser()
parsed_args = parser.parse_args() parsed_args = parser.parse_args()
make_split(parsed_args.config)
config_file = parsed_args.config
def make_split(config_file):
# decode config # decode config
cfg = toml.load(config_file) cfg = toml.load(config_file)
cfg["toml_filename"] = config_file cfg["toml_filename"] = config_file
......
...@@ -117,6 +117,7 @@ def get_filepath_output(input_file, shuffle=True, event_skipper=None): ...@@ -117,6 +117,7 @@ def get_filepath_output(input_file, shuffle=True, event_skipper=None):
def h5shuffle(): def h5shuffle():
# TODO deprecated
warnings.warn("h5shuffle is deprecated and has been renamed to orcasong h5shuffle") warnings.warn("h5shuffle is deprecated and has been renamed to orcasong h5shuffle")
parser = argparse.ArgumentParser(description='Shuffle an h5 file using km3pipe.') parser = argparse.ArgumentParser(description='Shuffle an h5 file using km3pipe.')
parser.add_argument('input_file', type=str, help='File to shuffle.') parser.add_argument('input_file', type=str, help='File to shuffle.')
......
...@@ -337,6 +337,7 @@ def slicify(fancy_indices): ...@@ -337,6 +337,7 @@ def slicify(fancy_indices):
def run_parser(): def run_parser():
# TODO deprecated
warnings.warn("h5shuffle2 is deprecated and has been renamed to orcasong h5shuffle2") warnings.warn("h5shuffle2 is deprecated and has been renamed to orcasong h5shuffle2")
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description="Shuffle datasets in a h5file that have the same length. " description="Shuffle datasets in a h5file that have the same length. "
......
...@@ -28,9 +28,9 @@ setup( ...@@ -28,9 +28,9 @@ setup(
entry_points={'console_scripts': [ entry_points={'console_scripts': [
'orcasong=orcasong.parser:main', 'orcasong=orcasong.parser:main',
# TODO all deprecated:
'make_dsplit=orcasong.tools.make_data_split:main', 'make_dsplit=orcasong.tools.make_data_split:main',
'plot_binstats=orcasong.plotting.plot_binstats:main', 'plot_binstats=orcasong.plotting.plot_binstats:main',
# deprecated:
'concatenate=orcasong.tools.concatenate:main', 'concatenate=orcasong.tools.concatenate:main',
'h5shuffle=orcasong.tools.postproc:h5shuffle', 'h5shuffle=orcasong.tools.postproc:h5shuffle',
'h5shuffle2=orcasong.tools.shuffle2:run_parser', 'h5shuffle2=orcasong.tools.shuffle2:run_parser',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment