Mercurial > repos > muon-spectroscopy-computational-project > larch_athena
comparison larch_athena.py @ 6:30cdfd70f28d draft
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 71cee2ed96b69a2e78a1eb3dadbd2e81bf332798
author | muon-spectroscopy-computational-project |
---|---|
date | Mon, 17 Jun 2024 13:54:39 +0000 |
parents | 27015eaf9a78 |
children |
comparison
equal
deleted
inserted
replaced
5:27015eaf9a78 | 6:30cdfd70f28d |
---|---|
1 import gc | 1 import gc |
2 import json | 2 import json |
3 import os | 3 import os |
4 import re | |
5 import sys | 4 import sys |
6 | 5 |
7 from common import ( | 6 from common import ( |
8 pre_edge_with_defaults, | 7 pre_edge_with_defaults, |
9 read_all_groups, | 8 read_all_groups, |
10 read_group, | 9 read_group, |
10 sorting_key, | |
11 xftf_with_defaults, | 11 xftf_with_defaults, |
12 ) | 12 ) |
13 | 13 |
14 from larch.io import ( | 14 from larch.io import ( |
15 create_athena, | 15 create_athena, |
140 xafs_group = Group(data=np.array([energy[:], mu[:]])) | 140 xafs_group = Group(data=np.array([energy[:], mu[:]])) |
141 set_array_labels(xafs_group, ["energy", "mu"]) | 141 set_array_labels(xafs_group, ["energy", "mu"]) |
142 return xafs_group | 142 return xafs_group |
143 | 143 |
144 def load_zipped_files(self) -> "dict[str, Group]": | 144 def load_zipped_files(self) -> "dict[str, Group]": |
145 def sorting_key(filename: str) -> str: | |
146 return re.findall(r"\d+", filename)[-1] | |
147 | |
148 all_paths = list(os.walk("dat_files")) | 145 all_paths = list(os.walk("dat_files")) |
149 all_paths.sort(key=lambda x: x[0]) | 146 all_paths.sort(key=lambda x: x[0]) |
150 file_total = sum([len(f) for _, _, f in all_paths]) | 147 file_total = sum([len(f) for _, _, f in all_paths]) |
151 print(f"{file_total} files found") | 148 print(f"{file_total} files found") |
152 keyed_data = {} | 149 keyed_data = {} |
153 for dirpath, _, filenames in all_paths: | 150 for dirpath, _, filenames in all_paths: |
151 if dirpath.endswith("__MACOSX"): | |
152 print(f"Skipping {dirpath}") | |
153 continue | |
154 | |
154 try: | 155 try: |
155 filenames.sort(key=sorting_key) | 156 filenames.sort(key=sorting_key) |
156 except IndexError as e: | 157 except IndexError as e: |
157 print( | 158 print( |
158 "WARNING: Unable to sort files numerically, " | 159 "WARNING: Unable to sort files numerically, " |