Mercurial > repos > muon-spectroscopy-computational-project > larch_athena
annotate larch_athena.py @ 8:6e94ae7d1ca1 draft default tip
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 7f52c8654581d23a2acffc818e0c197cf8e04504
| author | muon-spectroscopy-computational-project | 
|---|---|
| date | Tue, 03 Sep 2024 11:51:35 +0000 | 
| parents | 30cdfd70f28d | 
| children | 
| rev | line source | 
|---|---|
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 1 import gc | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 2 import json | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 3 import os | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 4 import sys | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 5 | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 6 from common import ( | 
| 3 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 7 pre_edge_with_defaults, | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 8 read_all_groups, | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 9 read_group, | 
| 6 
30cdfd70f28d
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 71cee2ed96b69a2e78a1eb3dadbd2e81bf332798
 muon-spectroscopy-computational-project parents: 
5diff
changeset | 10 sorting_key, | 
| 3 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 11 xftf_with_defaults, | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 12 ) | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 13 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 14 from larch.io import ( | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 15 create_athena, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 16 h5group, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 17 merge_groups, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 18 read_ascii, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 19 set_array_labels, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 20 ) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 21 from larch.symboltable import Group | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 22 from larch.xafs import rebin_xafs | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 23 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 24 import matplotlib | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 25 import matplotlib.pyplot as plt | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 26 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 27 import numpy as np | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 28 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 29 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 30 class Reader: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 31 def __init__( | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 32 self, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 33 energy_column: str, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 34 mu_column: str, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 35 data_format: str, | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 36 extract_group: "dict[str, str]" = None, | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 37 ): | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 38 self.energy_column = energy_column | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 39 self.mu_column = mu_column | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 40 self.data_format = data_format | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 41 self.extract_group = extract_group | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 42 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 43 def load_data( | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 44 self, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 45 dat_file: str, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 46 merge_inputs: bool, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 47 is_zipped: bool, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 48 ) -> "dict[str, Group]": | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 49 if merge_inputs: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 50 out_group = self.merge_files( | 
| 3 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 51 dat_files=dat_file, | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 52 is_zipped=is_zipped, | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 53 ) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 54 return {"out": out_group} | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 55 else: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 56 return self.load_single_file( | 
| 3 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 57 filepath=dat_file, | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 58 is_zipped=is_zipped, | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 59 ) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 60 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 61 def merge_files( | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 62 self, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 63 dat_files: str, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 64 is_zipped: bool, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 65 ) -> Group: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 66 if is_zipped: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 67 all_groups = list(self.load_zipped_files().values()) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 68 else: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 69 all_groups = [] | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 70 for filepath in dat_files.split(","): | 
| 2 
a1e26990131c
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 0f66842e802430e887d1c6cb7be1cc5436408fd2
 muon-spectroscopy-computational-project parents: 
1diff
changeset | 71 for group in self.load_single_file(filepath).values(): | 
| 
a1e26990131c
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 0f66842e802430e887d1c6cb7be1cc5436408fd2
 muon-spectroscopy-computational-project parents: 
1diff
changeset | 72 all_groups.append(group) | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 73 | 
| 2 
a1e26990131c
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 0f66842e802430e887d1c6cb7be1cc5436408fd2
 muon-spectroscopy-computational-project parents: 
1diff
changeset | 74 merged_group = merge_groups(all_groups, xarray="energy", yarray="mu") | 
| 
a1e26990131c
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 0f66842e802430e887d1c6cb7be1cc5436408fd2
 muon-spectroscopy-computational-project parents: 
1diff
changeset | 75 pre_edge_with_defaults(merged_group) | 
| 
a1e26990131c
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 0f66842e802430e887d1c6cb7be1cc5436408fd2
 muon-spectroscopy-computational-project parents: 
1diff
changeset | 76 return merged_group | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 77 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 78 def load_single_file( | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 79 self, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 80 filepath: str, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 81 is_zipped: bool = False, | 
| 2 
a1e26990131c
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 0f66842e802430e887d1c6cb7be1cc5436408fd2
 muon-spectroscopy-computational-project parents: 
1diff
changeset | 82 ) -> dict: | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 83 if is_zipped: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 84 return self.load_zipped_files() | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 85 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 86 print(f"Attempting to read from {filepath}") | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 87 if self.data_format == "athena": | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 88 if self.extract_group["extract_group"] == "single": | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 89 group = read_group(filepath, self.extract_group["group_name"]) | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 90 return {"out": group} | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 91 elif self.extract_group["extract_group"] == "multiple": | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 92 groups = {} | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 93 for repeat in self.extract_group["multiple"]: | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 94 name = repeat["group_name"] | 
| 2 
a1e26990131c
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 0f66842e802430e887d1c6cb7be1cc5436408fd2
 muon-spectroscopy-computational-project parents: 
1diff
changeset | 95 print(f"\nExtracting group {name}") | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 96 groups[name] = read_group(filepath, name) | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 97 return groups | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 98 else: | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 99 return read_all_groups(filepath) | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 100 | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 101 else: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 102 # Try ascii anyway | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 103 try: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 104 group = self.load_ascii(filepath) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 105 if not group.array_labels: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 106 # In later versions of larch, won't get a type error it | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 107 # will just fail to load any data | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 108 group = self.load_h5(filepath) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 109 except (UnicodeDecodeError, TypeError): | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 110 # Indicates this isn't plaintext, try h5 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 111 group = self.load_h5(filepath) | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 112 pre_edge_with_defaults(group) | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 113 xftf_with_defaults(group) | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 114 return {"out": group} | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 115 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 116 def load_ascii(self, dat_file): | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 117 with open(dat_file) as f: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 118 labels = None | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 119 last_line = None | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 120 line = f.readline() | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 121 while line: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 122 if not line.startswith("#"): | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 123 if last_line is not None and last_line.find("\t") > 0: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 124 labels = [] | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 125 for label in last_line.split("\t"): | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 126 labels.append(label.strip()) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 127 break | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 128 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 129 last_line = line | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 130 line = f.readline() | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 131 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 132 xas_data = read_ascii(filename=dat_file, labels=labels) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 133 xas_data = self.rename_cols(xas_data) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 134 return xas_data | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 135 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 136 def load_h5(self, dat_file): | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 137 h5_group = h5group(fname=dat_file, mode="r") | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 138 energy = h5_group.entry1.instrument.qexafs_energy.qexafs_energy | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 139 mu = h5_group.entry1.instrument.qexafs_counterTimer01.lnI0It | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 140 xafs_group = Group(data=np.array([energy[:], mu[:]])) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 141 set_array_labels(xafs_group, ["energy", "mu"]) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 142 return xafs_group | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 143 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 144 def load_zipped_files(self) -> "dict[str, Group]": | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 145 all_paths = list(os.walk("dat_files")) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 146 all_paths.sort(key=lambda x: x[0]) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 147 file_total = sum([len(f) for _, _, f in all_paths]) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 148 print(f"{file_total} files found") | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 149 keyed_data = {} | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 150 for dirpath, _, filenames in all_paths: | 
| 6 
30cdfd70f28d
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 71cee2ed96b69a2e78a1eb3dadbd2e81bf332798
 muon-spectroscopy-computational-project parents: 
5diff
changeset | 151 if dirpath.endswith("__MACOSX"): | 
| 
30cdfd70f28d
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 71cee2ed96b69a2e78a1eb3dadbd2e81bf332798
 muon-spectroscopy-computational-project parents: 
5diff
changeset | 152 print(f"Skipping {dirpath}") | 
| 
30cdfd70f28d
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 71cee2ed96b69a2e78a1eb3dadbd2e81bf332798
 muon-spectroscopy-computational-project parents: 
5diff
changeset | 153 continue | 
| 
30cdfd70f28d
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 71cee2ed96b69a2e78a1eb3dadbd2e81bf332798
 muon-spectroscopy-computational-project parents: 
5diff
changeset | 154 | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 155 try: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 156 filenames.sort(key=sorting_key) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 157 except IndexError as e: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 158 print( | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 159 "WARNING: Unable to sort files numerically, " | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 160 f"defaulting to sorting alphabetically:\n{e}" | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 161 ) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 162 filenames.sort() | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 163 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 164 for filename in filenames: | 
| 2 
a1e26990131c
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 0f66842e802430e887d1c6cb7be1cc5436408fd2
 muon-spectroscopy-computational-project parents: 
1diff
changeset | 165 if len(all_paths) > 1: | 
| 5 
27015eaf9a78
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 47b59eb1f13fe9f4893acbf9e3e77341d303de73
 muon-spectroscopy-computational-project parents: 
4diff
changeset | 166 key = f"{dirpath.replace('/', '_')}_{filename}" | 
| 2 
a1e26990131c
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 0f66842e802430e887d1c6cb7be1cc5436408fd2
 muon-spectroscopy-computational-project parents: 
1diff
changeset | 167 else: | 
| 
a1e26990131c
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 0f66842e802430e887d1c6cb7be1cc5436408fd2
 muon-spectroscopy-computational-project parents: 
1diff
changeset | 168 key = filename | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 169 filepath = os.path.join(dirpath, filename) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 170 xas_data = self.load_single_file(filepath) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 171 keyed_data[key] = xas_data["out"] | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 172 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 173 return keyed_data | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 174 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 175 def rename_cols(self, xafs_group: Group) -> Group: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 176 labels = [label.lower() for label in xafs_group.array_labels] | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 177 print(f"Read columns: {labels}") | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 178 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 179 if "energy" in labels: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 180 print("'energy' present in column headers") | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 181 elif self.energy_column: | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 182 if self.energy_column.lower() in labels: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 183 labels[labels.index(self.energy_column.lower())] = "energy" | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 184 else: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 185 raise ValueError(f"{self.energy_column} not found in {labels}") | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 186 else: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 187 for i, label in enumerate(labels): | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 188 if label in ("col1", "ef") or label.endswith("energy"): | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 189 labels[i] = "energy" | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 190 break | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 191 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 192 if "mu" in labels: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 193 print("'mu' present in column headers") | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 194 elif self.mu_column: | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 195 if self.mu_column.lower() in labels: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 196 labels[labels.index(self.mu_column.lower())] = "mu" | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 197 else: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 198 raise ValueError(f"{self.mu_column} not found in {labels}") | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 199 else: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 200 for i, label in enumerate(labels): | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 201 if label in ["col2", "xmu", "lni0it", "ffi0", "ff/i1"]: | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 202 labels[i] = "mu" | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 203 break | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 204 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 205 if labels != xafs_group.array_labels: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 206 print(f"Renaming columns to: {labels}") | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 207 return set_array_labels(xafs_group, labels) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 208 else: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 209 return xafs_group | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 210 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 211 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 212 def calibrate_energy( | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 213 xafs_group: Group, | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 214 calibration_e0: float = None, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 215 energy_min: float = None, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 216 energy_max: float = None, | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 217 ): | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 218 if calibration_e0 is not None: | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 219 print(f"Recalibrating edge from {xafs_group.e0} to {calibration_e0}") | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 220 xafs_group.energy = xafs_group.energy + calibration_e0 - xafs_group.e0 | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 221 xafs_group.e0 = calibration_e0 | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 222 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 223 if not (energy_min or energy_max): | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 224 return xafs_group | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 225 | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 226 if energy_min is not None: | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 227 index_min = np.searchsorted(xafs_group.energy, energy_min) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 228 else: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 229 index_min = 0 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 230 | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 231 if energy_max is not None: | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 232 index_max = np.searchsorted(xafs_group.energy, energy_max) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 233 else: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 234 index_max = len(xafs_group.energy) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 235 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 236 print( | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 237 f"Cropping energy range from {energy_min} to {energy_max}, " | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 238 f"index {index_min} to {index_max}" | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 239 ) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 240 try: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 241 xafs_group.dmude = xafs_group.dmude[index_min:index_max] | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 242 xafs_group.pre_edge = xafs_group.pre_edge[index_min:index_max] | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 243 xafs_group.post_edge = xafs_group.post_edge[index_min:index_max] | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 244 xafs_group.flat = xafs_group.flat[index_min:index_max] | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 245 except AttributeError: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 246 pass | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 247 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 248 xafs_group.energy = xafs_group.energy[index_min:index_max] | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 249 xafs_group.mu = xafs_group.mu[index_min:index_max] | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 250 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 251 # Sanity check | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 252 if len(xafs_group.energy) == 0: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 253 raise ValueError("Energy cropping led to an empty array") | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 254 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 255 return xafs_group | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 256 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 257 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 258 def main( | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 259 xas_data: Group, | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 260 do_calibrate: bool, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 261 calibrate_settings: dict, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 262 do_rebin: bool, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 263 do_pre_edge: bool, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 264 pre_edge_settings: dict, | 
| 4 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 265 ref_channel: str, | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 266 do_xftf: bool, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 267 xftf_settings: dict, | 
| 3 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 268 plot_graph: list, | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 269 annotation: str, | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 270 path_key: str = "out", | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 271 ): | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 272 if do_calibrate: | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 273 print(f"Calibrating energy with {calibrate_settings}") | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 274 xas_data = calibrate_energy(xas_data, **calibrate_settings) | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 275 # After re-calibrating, will need to redo pre-edge with new range | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 276 do_pre_edge = True | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 277 | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 278 if do_rebin: | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 279 print("Re-binning data") | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 280 rebin_xafs( | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 281 energy=xas_data.energy, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 282 mu=xas_data.mu, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 283 group=xas_data, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 284 **pre_edge_settings, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 285 ) | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 286 xas_data = xas_data.rebinned | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 287 # After re-bin, will need to redo pre-edge | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 288 do_pre_edge = True | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 289 | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 290 if do_pre_edge: | 
| 4 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 291 pre_edge_with_defaults(xas_data, pre_edge_settings, ref_channel) | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 292 | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 293 if do_xftf: | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 294 xftf_with_defaults(xas_data, xftf_settings) | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 295 | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 296 if plot_graph: | 
| 3 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 297 plot_graphs( | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 298 plot_path=f"plot/{path_key}.png", | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 299 xas_data=xas_data, | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 300 plot_keys=plot_graph, | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 301 ) | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 302 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 303 xas_project = create_athena(f"prj/{path_key}.prj") | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 304 xas_project.add_group(xas_data) | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 305 if annotation: | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 306 group = next(iter(xas_project.groups.values())) | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 307 group.args["annotation"] = annotation | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 308 xas_project.save() | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 309 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 310 # Ensure that we do not run out of memory when running on large zips | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 311 gc.collect() | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 312 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 313 | 
| 3 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 314 def plot_graphs( | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 315 plot_path: str, | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 316 xas_data: Group, | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 317 plot_keys: list, | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 318 ) -> None: | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 319 nrows = len(plot_keys) | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 320 index = 1 | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 321 plt.figure(figsize=(6.4, nrows * 4.8)) | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 322 if "edge" in plot_keys: | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 323 plt.subplot(nrows, 1, index) | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 324 plt.plot(xas_data.energy, xas_data.pre_edge, "g", label="pre-edge") | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 325 plt.plot(xas_data.energy, xas_data.post_edge, "r", label="post-edge") | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 326 plt.plot(xas_data.energy, xas_data.mu, "b", label="fit data") | 
| 4 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 327 if hasattr(xas_data, "mu_std"): | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 328 plt.fill_between( | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 329 x=xas_data.energy, | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 330 y1=xas_data.mu - xas_data.mu_std, | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 331 y2=xas_data.mu + xas_data.mu_std, | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 332 alpha=0.2, | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 333 label="standard deviation", | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 334 ) | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 335 e0 = xas_data.e0 | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 336 plt.axvline(e0, color="m", label=f"edge energy = {e0}") | 
| 3 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 337 plt.grid(color="r", linestyle=":", linewidth=1) | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 338 plt.xlabel("Energy (eV)") | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 339 plt.ylabel("x$\mu$(E)") # noqa: W605 | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 340 plt.title("Pre-edge and post_edge fitting to $\mu$") # noqa: W605 | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 341 plt.legend() | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 342 index += 1 | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 343 | 
| 3 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 344 if "flat" in plot_keys: | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 345 plt.subplot(nrows, 1, index) | 
| 4 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 346 plt.plot(xas_data.energy, xas_data.flat, label="flattened signal") | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 347 if hasattr(xas_data, "mu_std"): | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 348 mu_std_normalised = xas_data.mu_std / xas_data.edge_step | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 349 plt.fill_between( | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 350 x=xas_data.energy, | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 351 y1=xas_data.flat - mu_std_normalised, | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 352 y2=xas_data.flat + mu_std_normalised, | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 353 alpha=0.2, | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 354 label="standard deviation", | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 355 ) | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 356 plt.legend() | 
| 3 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 357 plt.grid(color="r", linestyle=":", linewidth=1) | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 358 plt.xlabel("Energy (eV)") | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 359 plt.ylabel("Flattened x$\mu$(E)") # noqa: W605 | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 360 index += 1 | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 361 | 
| 3 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 362 if "dmude" in plot_keys: | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 363 plt.subplot(nrows, 1, index) | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 364 plt.plot(xas_data.energy, xas_data.dmude) | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 365 plt.grid(color="r", linestyle=":", linewidth=1) | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 366 plt.xlabel("Energy (eV)") | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 367 plt.ylabel("Derivative normalised to x$\mu$(E)") # noqa: W605 | 
| 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 368 index += 1 | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 369 | 
| 3 
82e9dd980916
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit d4c7e090dc5c94395d7e1574845ac2c76f2e4f5f
 muon-spectroscopy-computational-project parents: 
2diff
changeset | 370 plt.tight_layout(rect=(0, 0, 0.88, 1)) | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 371 plt.savefig(plot_path, format="png") | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 372 plt.close("all") | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 373 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 374 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 375 if __name__ == "__main__": | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 376 # larch imports set this to an interactive backend, so need to change it | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 377 matplotlib.use("Agg") | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 378 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 379 dat_file = sys.argv[1] | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 380 input_values = json.load(open(sys.argv[2], "r", encoding="utf-8")) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 381 merge_inputs = input_values["merge_inputs"]["merge_inputs"] | 
| 4 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 382 format_inputs = input_values["merge_inputs"]["format"] | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 383 if "is_zipped" in format_inputs: | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 384 is_zipped = bool(format_inputs["is_zipped"]["is_zipped"]) | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 385 else: | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 386 is_zipped = False | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 387 | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 388 extract_group = None | 
| 4 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 389 if "extract_group" in format_inputs: | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 390 extract_group = format_inputs["extract_group"] | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 391 | 
| 4 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 392 if "energy_column" not in format_inputs: | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 393 energy_column = None | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 394 else: | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 395 energy_column = format_inputs["energy_column"]["energy_column"] | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 396 if energy_column == "auto": | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 397 energy_column = None | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 398 elif energy_column == "other": | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 399 energy_column_input = format_inputs["energy_column"] | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 400 energy_column = energy_column_input["energy_column_text"] | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 401 | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 402 if "mu_column" not in format_inputs: | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 403 mu_column = None | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 404 else: | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 405 mu_column = format_inputs["mu_column"]["mu_column"] | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 406 if mu_column == "auto": | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 407 mu_column = None | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 408 elif mu_column == "other": | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 409 mu_column = format_inputs["mu_column"]["mu_column_text"] | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 410 | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 411 reader = Reader( | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 412 energy_column=energy_column, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 413 mu_column=mu_column, | 
| 4 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 414 data_format=format_inputs["format"], | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 415 extract_group=extract_group, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 416 ) | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 417 keyed_data = reader.load_data( | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 418 dat_file=dat_file, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 419 merge_inputs=merge_inputs, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 420 is_zipped=is_zipped, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 421 ) | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 422 | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 423 calibrate_items = input_values["processing"]["calibrate"].items() | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 424 calibrate_settings = {k: v for k, v in calibrate_items if v is not None} | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 425 do_calibrate = calibrate_settings.pop("calibrate") == "true" | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 426 | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 427 do_rebin = input_values["processing"].pop("rebin") | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 428 | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 429 pre_edge_items = input_values["processing"]["pre_edge"].items() | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 430 pre_edge_settings = {k: v for k, v in pre_edge_items if v is not None} | 
| 4 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 431 do_pre_edge = bool(pre_edge_settings.pop("pre_edge")) | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 432 | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 433 ref_channel = None | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 434 if "ref_channel" in pre_edge_settings: | 
| 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 435 ref_channel = pre_edge_settings.pop("ref_channel") | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 436 | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 437 xftf_items = input_values["processing"]["xftf"].items() | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 438 xftf_settings = {k: v for k, v in xftf_items if v is not None} | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 439 do_xftf = xftf_settings.pop("xftf") == "true" | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 440 | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 441 plot_graph = input_values["plot_graph"] | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 442 annotation = input_values["annotation"] | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 443 | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 444 for key, group in keyed_data.items(): | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 445 main( | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 446 group, | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 447 do_calibrate=do_calibrate, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 448 calibrate_settings=calibrate_settings, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 449 do_rebin=do_rebin, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 450 do_pre_edge=do_pre_edge, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 451 pre_edge_settings=pre_edge_settings, | 
| 4 
a0d3b0fe0fa3
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
 muon-spectroscopy-computational-project parents: 
3diff
changeset | 452 ref_channel=ref_channel, | 
| 1 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 453 do_xftf=do_xftf, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 454 xftf_settings=xftf_settings, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 455 plot_graph=plot_graph, | 
| 
2b3115342fef
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 1cf6d7160497ba58fe16a51f00d088a20934eba6
 muon-spectroscopy-computational-project parents: 
0diff
changeset | 456 annotation=annotation, | 
| 0 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 457 path_key=key, | 
| 
ae2f265ecf8e
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 5be486890442dedfb327289d597e1c8110240735
 muon-spectroscopy-computational-project parents: diff
changeset | 458 ) | 
