Coverage for /Users/Newville/Codes/xraylarch/larch/xafs/__init__.py: 100%

24 statements  

« prev     ^ index     » next       coverage.py v7.3.2, created at 2023-11-09 10:08 -0600

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 

33from .autobk import autobk 

34from .mback import mback, mback_norm 

35from .diffkk import diffkk, diffKKGroup 

36from .fluo import fluo_corr 

37 

38## from .cif2feff import cif_sites, cif2feff6l 

39 

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

41from .feff8lpath import feff8_xafs 

42from .feffutils import get_feff_pathinfo 

43 

44from .cauchy_wavelet import cauchy_wavelet 

45from .deconvolve import xas_convolve, xas_deconvolve 

46from .estimate_noise import estimate_noise 

47from .rebin_xafs import rebin_xafs, sort_xafs 

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

49 

50 

51def _larch_init(_larch): 

52 """initialize xafs""" 

53 # initialize _xafs._feff_executable 

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

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

56 

57 

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

59 TransformGroup, FeffitDataSet) 

60 

61_larch_builtins = {'_xafs': dict(autobk=autobk, etok=etok, ktoe=ktoe, 

62 guess_energy_units=guess_energy_units, 

63 diffkk=diffkk, xftf=xftf, xftr=xftr, 

64 xftf_prep=xftf_prep, xftf_fast=xftf_fast, 

65 xftr_fast=xftr_fast, ftwindow=ftwindow, 

66 find_e0=find_e0, pre_edge=pre_edge, 

67 find_energy_step=find_energy_step, 

68 energy_align=energy_align, 

69 prepeaks_setup=prepeaks_setup, 

70 prepeaks_fit=prepeaks_fit, 

71 pre_edge_baseline=pre_edge_baseline, 

72 mback=mback, mback_norm=mback_norm, 

73 cauchy_wavelet=cauchy_wavelet, 

74 xas_deconvolve=xas_deconvolve, 

75 xas_convolve=xas_convolve, 

76 fluo_corr=fluo_corr, 

77 estimate_noise=estimate_noise, 

78 rebin_xafs=rebin_xafs, 

79 sort_xafs=sort_xafs, 

80 gnxas=gnxas, 

81 sigma2_eins=sigma2_eins, 

82 sigma2_debye=sigma2_debye, feffit=feffit, 

83 feffit_dataset=feffit_dataset, 

84 feffit_transform=feffit_transform, 

85 feffit_report=feffit_report, 

86 feffrunner=feffrunner, feff6l=feff6l, 

87 feff8l=feff8l, 

88 feffpath= feffpath, 

89 use_feffpath= use_feffpath, 

90 path2chi=path2chi, ff2chi=ff2chi, 

91 feff8_xafs=feff8_xafs, 

92 get_feff_pathinfo=get_feff_pathinfo)}