Commit a240ad89 authored by Vladimir Malenovsky's avatar Vladimir Malenovsky
Browse files

update of initialization and caller functions

parent f5121821
Loading
Loading
Loading
Loading
+19 −33
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@
#

import logging

import yaml

from ivas_processing_scripts.constants import (
@@ -41,11 +40,11 @@ from ivas_processing_scripts.constants import (
)
from ivas_processing_scripts.generation import (
    config,
    process_ambi_items,
    process_ism1_items,
    process_ism2_items,
    process_stereo_items,
    generate_ambi_items,
    generate_stereo_items,
    generate_ismN_items,
    generate_omasa_items,
    generate_osba_items,
)
from ivas_processing_scripts.utils import create_dir

@@ -62,16 +61,12 @@ def logging_init(args, cfg):
    logger.addHandler(console_handler)

    # main log file
    file_handler = logging.FileHandler(
        cfg.output_path.joinpath(f"{cfg.format}{LOGGER_SUFFIX}"), mode="w"
    )
    file_handler = logging.FileHandler( f"{cfg.format}{LOGGER_SUFFIX}", mode="w" )
    file_handler.setFormatter(logging.Formatter(LOGGER_FORMAT, datefmt=LOGGER_DATEFMT))
    file_handler.setLevel(logging.DEBUG if args.debug else logging.INFO)
    logger.addHandler(file_handler)

    logger.info(f"Processing item generation configuration file {args.config}")
    logger.info(f"Input path: {cfg.input_path.absolute()}")
    logger.info(f"Output path: {cfg.output_path.absolute()}")

    return logger

@@ -81,36 +76,27 @@ def main(args):
    cfg = config.TestConfig(args.config)

    # create output directories for categories
    for cat in range(1, 7):
        create_dir(cfg.output_path.joinpath(f"cat{cat}"))
    # for cat in range(1, 7):
    #     create_dir(cfg.output_path.joinpath(f"cat{cat}"))

    # set up logging
    logger = logging_init(args, cfg)

    # make format a list
    if not isinstance(cfg.format, list):
        cfg.format = [cfg.format]

    # generate ISM and STEREO items
    if "ISM1" in cfg.format:
        # generate ISM1 items with metadata according to scene description
        process_ism1_items.generate_ism1_items(cfg, logger)
    elif "ISM2" in cfg.format:
        # generate ISM2 items with metadata according to scene description
        process_ism2_items.generate_ism2_items(cfg, logger)
    # generate items in the requested format
    if "ISM" in cfg.format:
        # generate ISMn items from MONO items according to scene description
        generate_ismN_items.generate_ismN_items(cfg, logger)
    elif "STEREO" in cfg.format:
        # generate STEREO items according to scene description
        process_stereo_items.generate_stereo_items(cfg, logger)
    elif "FOA" in cfg.format or "HOA2" in cfg.format:
        # generate FOA/HOA2 items according to scene description
        process_ambi_items.generate_ambi_items(cfg, logger)
        generate_stereo_items.generate_stereo_items(cfg, logger)
    elif any(fmt in cfg.format for fmt in ["FOA", "HOA2", "HOA3"]):
        # generate FOA/HOA2/HOA3 items according to scene description
        generate_ambi_items.generate_ambi_items(cfg, logger)
    elif "OMASA" in cfg.format:
        # generate OMASA items according to scene description
        # generate OMASA items from FOA/HO2/HOA3 and MONO items according to scene description
        generate_omasa_items.generate_omasa_items(cfg, logger)
        

    # copy configuration to output directory
    with open(cfg.output_path.joinpath(f"{'_'.join(cfg.format)}.yml"), "w") as f:
        yaml.safe_dump(cfg._yaml_dump, f)
    elif "OSBA" in cfg.format:
        # generate OSBA items from FOA/HO2/HOA3 and MONO items according to scene description
        generate_osba_items.generate_osba_items(cfg, logger)

    logger.handlers.clear()
+0 −4
Original line number Diff line number Diff line
@@ -78,10 +78,6 @@ class TestConfig:
        # store the merged config for writing to file later
        self._yaml_dump = self._dump_yaml(cfg)

        # convert to Path
        self.input_path = Path(self.input_path)
        self.output_path = Path(self.output_path)

    def _parse_yaml(self, filename):
        """parse configuration file"""
        with open(filename) as fp:
+1 −2
Original line number Diff line number Diff line
@@ -61,7 +61,6 @@ DEFAULT_CONFIG_BINARIES = {

REQUIRED_KEYS = [
    "format",
    "input_path",
    "output_path",
    "fs",
    "scenes",
]