Coverage for larch/xafs/__init__.py: 100%

24 statements  

« prev     ^ index     » next       coverage.py v7.6.0, created at 2024-10-16 21:04 +0000

1__DOC__ = ''' 

2XAFS Functions for Larch, essentially Ifeffit 2 

3 

4The functions here include (but are not limited to): 

5 

6function description 

7------------ ------------------------------ 

8pre_edge pre_edge subtraction, normalization 

9autobk XAFS background subtraction (mu(E) to chi(k)) 

10xftf forward XAFS Fourier transform (k -> R) 

11xftr backward XAFS Fourier transform, Filter (R -> q) 

12ftwindow create XAFS Fourier transform window 

13 

14feffpath create a Feff Path from a feffNNNN.dat file 

15path2chi convert a single Feff Path to chi(k) 

16ff2chi sum a set of Feff Paths to chi(k) 

17 

18feffit_dataset create a Dataset for Feffit 

19feffit_transform create a Feffit transform group 

20feffit fit a set of Feff Paths to Feffit Datasets 

21feffit_report create a report from feffit() results 

22''' 

23 

24 

25from .xafsutils import KTOE, ETOK, set_xafsGroup, etok, ktoe, guess_energy_units 

26from .xafsft import xftf, xftr, xftf_fast, xftr_fast, ftwindow, xftf_prep 

27from .pre_edge import pre_edge, preedge, find_e0, energy_align, find_energy_step 

28from .prepeaks import prepeaks_setup, pre_edge_baseline, prepeaks_fit 

29from .feffdat import FeffDatFile, FeffPathGroup, feffpath, path2chi, ff2chi, use_feffpath 

30from .feffit import (FeffitDataSet, TransformGroup, feffit, 

31 feffit_dataset, feffit_transform, feffit_report, 

32 feffit_conf_map) 

33 

34from .autobk import autobk, autobk_lmfit, autobk_delta_chi 

35from .mback import mback, mback_norm 

36from .diffkk import diffkk, diffKKGroup 

37from .fluo import fluo_corr 

38 

39## from .cif2feff import cif_sites, cif2feff6l 

40 

41from .feffrunner import FeffRunner, feffrunner, feff6l, feff8l, find_exe 

42from .feff8lpath import feff8_xafs 

43from .feffutils import get_feff_pathinfo 

44 

45from .cauchy_wavelet import cauchy_wavelet 

46from .deconvolve import xas_convolve, xas_deconvolve 

47from .estimate_noise import estimate_noise 

48from .rebin_xafs import rebin_xafs, sort_xafs 

49from .sigma2_models import sigma2_eins, sigma2_debye, sigma2_correldebye, gnxas 

50 

51 

52def _larch_init(_larch): 

53 """initialize xafs""" 

54 # initialize _xafs._feff_executable 

55 _larch.symtable.set_symbol('_xafs._feff_executable', find_exe('feff6l')) 

56 _larch.symtable.set_symbol('_xafs._feff8_executable', find_exe('feff8l')) 

57 

58 

59_larch_groups = (diffKKGroup, FeffRunner, FeffDatFile, FeffPathGroup, 

60 TransformGroup, FeffitDataSet) 

61 

62_larch_builtins = {'_xafs': dict(autobk=autobk, autobk_lmfit=autobk_lmfit, 

63 autobk_delta_chi=autobk_delta_chi, 

64 etok=etok, ktoe=ktoe, 

65 guess_energy_units=guess_energy_units, 

66 diffkk=diffkk, xftf=xftf, xftr=xftr, 

67 xftf_prep=xftf_prep, xftf_fast=xftf_fast, 

68 xftr_fast=xftr_fast, ftwindow=ftwindow, 

69 find_e0=find_e0, pre_edge=pre_edge, 

70 find_energy_step=find_energy_step, 

71 energy_align=energy_align, 

72 prepeaks_setup=prepeaks_setup, 

73 prepeaks_fit=prepeaks_fit, 

74 pre_edge_baseline=pre_edge_baseline, 

75 mback=mback, mback_norm=mback_norm, 

76 cauchy_wavelet=cauchy_wavelet, 

77 xas_deconvolve=xas_deconvolve, 

78 xas_convolve=xas_convolve, 

79 fluo_corr=fluo_corr, 

80 estimate_noise=estimate_noise, 

81 rebin_xafs=rebin_xafs, 

82 sort_xafs=sort_xafs, 

83 gnxas=gnxas, 

84 sigma2_eins=sigma2_eins, 

85 sigma2_debye=sigma2_debye, feffit=feffit, 

86 feffit_dataset=feffit_dataset, 

87 feffit_transform=feffit_transform, 

88 feffit_report=feffit_report, 

89 feffit_conf_map=feffit_conf_map, 

90 feffrunner=feffrunner, feff6l=feff6l, 

91 feff8l=feff8l, 

92 feffpath= feffpath, 

93 use_feffpath= use_feffpath, 

94 path2chi=path2chi, ff2chi=ff2chi, 

95 feff8_xafs=feff8_xafs, 

96 get_feff_pathinfo=get_feff_pathinfo)}