# HG changeset patch
# User muon-spectroscopy-computational-project
# Date 1712826108 0
# Node ID 2ceaa943a2ad49b2780a468d2a76b8df316f50f3
# Parent f802cd616862e37264595b9f11c2f3e773a67193
planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_artemis commit 3fe6078868efd0fcea0fb5eea8dcd4b152d9c0a8
diff -r f802cd616862 -r 2ceaa943a2ad common.py
--- a/common.py Mon Mar 04 11:43:09 2024 +0000
+++ b/common.py Thu Apr 11 09:01:48 2024 +0000
@@ -7,14 +7,14 @@
def get_group(athena_group: AthenaGroup, key: str = None) -> Group:
- group_keys = list(athena_group._athena_groups.keys())
+ group_keys = list(athena_group.keys())
if key is None:
key = group_keys[0]
else:
key = key.replace("-", "_")
try:
- return extract_athenagroup(athena_group._athena_groups[key])
+ return extract_athenagroup(athena_group.groups[key])
except KeyError as e:
raise KeyError(f"{key} not in {group_keys}") from e
@@ -28,7 +28,7 @@
do_fft=False,
)
all_groups = {}
- for key in athena_group._athena_groups.keys():
+ for key in athena_group.keys():
print(f"\nExtracting group {key}")
group = get_group(athena_group, key)
pre_edge_with_defaults(group=group)
@@ -52,13 +52,22 @@
return group
-def pre_edge_with_defaults(group: Group, settings: dict = None):
+def pre_edge_with_defaults(
+ group: Group, settings: dict = None, ref_channel: str = None
+):
merged_settings = {}
- try:
- bkg_parameters = group.athena_params.bkg
- except AttributeError as e:
- print(f"Cannot load group.athena_params.bkg from group:\n{e}")
- bkg_parameters = None
+ if ref_channel is not None:
+ print(f"Performing pre-edge with reference channel {ref_channel}")
+ ref = getattr(group, ref_channel.lower())
+ group.e0 = None
+ pre_edge(energy=group.energy, mu=ref, group=group)
+ bkg_parameters = group.pre_edge_details
+ else:
+ try:
+ bkg_parameters = group.athena_params.bkg
+ except AttributeError as e:
+ print(f"Cannot load group.athena_params.bkg from group:\n{e}")
+ bkg_parameters = None
keys = (
("e0", "e0", None),
@@ -73,7 +82,11 @@
)
for key, parameters_key, default in keys:
extract_attribute(
- merged_settings, key, bkg_parameters, parameters_key, default
+ merged_settings=merged_settings,
+ key=key,
+ parameters_group=bkg_parameters,
+ parameters_key=parameters_key,
+ default=default,
)
if settings:
@@ -116,7 +129,11 @@
)
for key, parameters_key, default in keys:
extract_attribute(
- merged_settings, key, fft_parameters, parameters_key, default
+ merged_settings=merged_settings,
+ key=key,
+ parameters_group=fft_parameters,
+ parameters_key=parameters_key,
+ default=default,
)
if settings:
diff -r f802cd616862 -r 2ceaa943a2ad larch_artemis.xml
--- a/larch_artemis.xml Mon Mar 04 11:43:09 2024 +0000
+++ b/larch_artemis.xml Thu Apr 11 09:01:48 2024 +0000
@@ -2,7 +2,7 @@
generate Artemis projects from XAFS data
- 0.9.74
+ 0.9.75
0
diff -r f802cd616862 -r 2ceaa943a2ad test-data/fit_report.txt
--- a/test-data/fit_report.txt Mon Mar 04 11:43:09 2024 +0000
+++ b/test-data/fit_report.txt Thu Apr 11 09:01:48 2024 +0000
@@ -1,50 +1,53 @@
=================== FEFFIT RESULTS ====================
\[\[Statistics\]\]
- nvarys, npts = 6, 104
- n_independent = 12\.205
- chi_square = [\d\.]{9}
- reduced chi_square = [\d\.]{9}
- r-factor = [\d\.]{9}
- Akaike info crit = [\d\.]{9}
- Bayesian info crit = [\d\.]{9}
-
-\[\[Data\]\]
- fit space = 'r'
- r-range = 1\.400, 3\.000
- k-range = 3\.000, 14\.000
- k window, dk = 'hanning', 1\.000
- paths used in fit = \['feff/feff0001\.dat', 'feff/feff0002\.dat', 'feff/feff0003\.dat', 'feff/feff0004\.dat'\]
- k-weight = 2
- epsilon_k = Array\(mean=5\.1913e-4, std=4\.5676e-4\)
- epsilon_r = [\d\.]{9}
- n_independent = 12\.205
+ n_function_calls = 4\d\d
+ n_variables = 6
+ n_data_points = 104
+ n_independent = 12\.2045080
+ chi_square = [\d\.]{10}
+ reduced chi_square = [\d\.]{10}
+ r-factor = [\d\.]{10}
+ Akaike info crit = [\d\.]{10}
+ Bayesian info crit = [\d\.]{10}
\[\[Variables\]\]
- alpha = [-\s][\d\.]{9} \+/- [\d\.]{9} \(init= 1\.0000e-7\)
- amp = [-\s][\d\.]{9} \+/- [\d\.]{9} \(init= 1\.0000000\)
- enot = [-\s][\d\.]{9} \+/- [\d\.]{9} \(init= 1\.0000e-7\)
- ss = [-\s][\d\.]{9} \+/- [\d\.]{9} \(init= 0\.0030000\)
- ss2 = [-\s][\d\.]{9} \+/- [\d\.]{9} \(init= 0\.0030000\)
- ss3 = [-\s][\d\.]{9} \+/- [\d\.]{9} = 'ss2'
- ssfe = [-\s][\d\.]{9} \+/- [\d\.]{9} \(init= 0\.0030000\)
+ alpha = [-\s][\d\.]{9} \+/- [\d\.]{9} \(init= 1\.0000e-7\)
+ amp = [-\s][\d\.]{9} \+/- [\d\.]{9} \(init= 1\.0000000\)
+ enot = [-\s][\d\.]{9} \+/- [\d\.]{9} \(init= 1\.0000e-7\)
+ ss = [-\s][\d\.]{9} \+/- [\d\.]{9} \(init= 0\.0030000\)
+ ss2 = [-\s][\d\.]{9} \+/- [\d\.]{9} \(init= 0\.0030000\)
+ ss3 = [-\s][\d\.]{9} \+/- [\d\.]{9} = 'ss2'
+ ssfe = [-\s][\d\.]{9} \+/- [\d\.]{9} \(init= 0\.0030000\)
-\[\[Correlations\]\] \(unreported correlations are < 0\.100\)
- \w+, \w+\s+= [\s\-]0\.\d{3}
- \w+, \w+\s+= [\s\-]0\.\d{3}
- \w+, \w+\s+= [\s\-]0\.\d{3}
- \w+, \w+\s+= [\s\-]0\.\d{3}
- \w+, \w+\s+= [\s\-]0\.\d{3}
- \w+, \w+\s+= [\s\-]0\.\d{3}
- \w+, \w+\s+= [\s\-]0\.\d{3}
- \w+, \w+\s+= [\s\-]0\.\d{3}
- \w+, \w+\s+= [\s\-]0\.\d{3}
- \w+, \w+\s+= [\s\-]0\.\d{3}
- \w+, \w+\s+= [\s\-]0\.\d{3}
- \w+, \w+\s+= [\s\-]0\.\d{3}
- \w+, \w+\s+= [\s\-]0\.\d{3}
- \w+, \w+\s+= [\s\-]0\.\d{3}
+\[\[Correlations\]\] \(unreported correlations are < 0\.100\)
+ \w+, \w+\s+= [\s\-]0\.\d{3}
+ \w+, \w+\s+= [\s\-]0\.\d{3}
+ \w+, \w+\s+= [\s\-]0\.\d{3}
+ \w+, \w+\s+= [\s\-]0\.\d{3}
+ \w+, \w+\s+= [\s\-]0\.\d{3}
+ \w+, \w+\s+= [\s\-]0\.\d{3}
+ \w+, \w+\s+= [\s\-]0\.\d{3}
+ \w+, \w+\s+= [\s\-]0\.\d{3}
+ \w+, \w+\s+= [\s\-]0\.\d{3}
+ \w+, \w+\s+= [\s\-]0\.\d{3}
+ \w+, \w+\s+= [\s\-]0\.\d{3}
+ \w+, \w+\s+= [\s\-]0\.\d{3}
+ \w+, \w+\s+= [\s\-]0\.\d{3}
+ \w+, \w+\s+= [\s\-]0\.\d{3}
+\[\[Dataset\]\]
+ unique_id = 'dm7xe57x'
+ fit space = 'r'
+ r-range = 1\.400, 3\.000
+ k-range = 3\.000, 14\.000
+ k window, dk = 'hanning', 1\.000
+ paths used in fit = \['feff/feff0001\.dat', 'feff/feff0002\.dat', 'feff/feff0003\.dat', 'feff/feff0004\.dat'\]
+ k-weight = 2
+ epsilon_k = Array\(mean=5\.1913e-4, std=4\.5676e-4\)
+ epsilon_r = [\d\.]{9}
+ n_independent = 12\.205
+
\[\[Paths\]\]
= Path 'S1' = Rh K Edge
feffdat file = feff/feff0001\.dat, from feff run 'feff'