-
Notifications
You must be signed in to change notification settings - Fork 0
sayonara20xx/baikal_h5_parser
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Небольшой набор скриптов, которые я использовал для автоматизации процесса моделирования, сбора и переработки данных. Есть две версии контейнера и два набора sh-скриптов для работы с ними, если есть выбор лучше использовать новую Все контейнеры должны быть скачаны автоматически во время работы, docker-daemon может запросить учетные данные от gitlab Запускать все скрипты нужно из текущей директории (активная та же, в которой лежит этот readme.txt) gen_1.1 - директория для sh-скриптов новой версии loop_h5_gen_save.sh - запустит контейнеры, изменит внутри него два конфиг файла и запустит моделирование. После его окончания скопирует все в папку h5_coll. Запускается с одним аргументом - количеством запускаемых последовательно моделирований. Файлы h5writer.conf и ligen.mac изменяются по требованию - они влияют на моделирование. create_h5_dataset_save.sh - содержит основные инструкции для работы с контейнером. Легко модифицируется в случае необходимости. gen_old - директория для sh-скриптов старой версии loop_create_csv.sh - так же запустит контейнер с моделированием, извлечет данные и удалит его, но после еще запустит модуль gen_old_h5_to_csv.py, который извлечет данные в csv, после чего h5 файл удаляется. loop_create_h5.sh - сделает то же самое, но не запустит модуль и оставит h5 файл. Файлы конфигов и остальные скрипты участвуют в процессе и так же легко модифицируются. Разные контейнеры производят файлы разного вида. В связи с этим, в корне, помимо модуля для извлечения данных и их записи в csv есть еще два: gen_old_h5_to_list - модуль, в котором находится метод для записи в созданный list информации из h5 в таком виде, в котором они бы сохранились в csv, т.е. данные обрабатываются так же, но никуда не сохраняются. Если запустить этот файл, то он обработает все h5 файлы в папке h5_coll и выведет длину получившегося списка вместе с примером данных из него (20 строк записей). Для работы следует импортировать следующий метод по названию (дополнительно описаны агрументы): def read_from_hdf5s_to_list(h5_folder_path : string, list_ref: list): Пример импорта: from gen_old_h5_to_list import read_from_hdf5s_to_list as read_h5 Первый аргумент служит для указания пути к папке с h5 файлами. Можно передавать как относительный, так и абсолютный путь, внутри он передается модулю работы с h5 as is. Второй аргумент является той коллекцией данных (списком), в которую метод будет складывать обработанные записи. По сути, перед применением метода следует создать пустой список и передать его имя методу вторым аргументом, запись будет произведена по ссылке. gen_1.1_h5_to_list - модуль, который выполняет ту же самую функцию и имеет тот же метод (с тем же именем и набором аргументов). Единственное отличие - оно работает с файлами контейнера версии 1.1 Существует еще один файл, который участвует в работе двух приведенных выше модулей, а именно в записи данных о несработавших оптических модулях: detector_helper.py. Он использует информацию из csv файла внутри поддиректории assist_data, в котором представлены координаты всех детекторов. Больше использовались и тестировались скрипты для старого контейнера, с новым вполне могут возникнуть проблемы на моей стороне. Из известных проблем: может потребоваться вручную создавать папки csv_data и h5_coll, если вдруг скрипты или модули ругаются.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published