I worked on arch detection. I can't say its operational yet, but I fixed a possible bug with detecting the nearest crossings to a pair and better responded to the situation in which crossings decrease (now I atleast return the next best list of pairs instead of a list that is completely thrown off because of the less crossings. I also worked on detecting cases in which gaussians are very close together, so their outer zero crossings show first and get detected as 1 gaussian, instead of wings of separate wings. Now, as the inner points appears, the algorithm knows how to split the pairs such the gaussians are labeled correctly.
Ok, so I cleaned up a lot of code. Deleted extraneous comments and lines of code. Also fixed some potential bugs where a method would edit the parameters. I will continue to work on arch detection and then, when Lev is done, incorporate the more complex gauss creator into the code.
Oops. One last thing.
Took care of the case where there are odd crossings at large sigmas when the gaussians get cut off
Integrated Lev's abstracted Gaussian creator into the framework. The code works as behaved (after some debugging). I also cleaned up some now obsolete code (like gauss3 and gauss). Our next goal is to continually improve arch detection, amplitude estimation, and removing the amplitudes and sigmas from when use the LMA to find the mean coefficients, since the A's and sigmas have already been found when we found the number of guassians. Also, we need to work on estimating initial parameters for the mean coeffs.
Implemented gauss_complex_minimal, which stores the estimated amps and sigmas as constants so that the LMA has less variables to deal with.
Changed all the E's and I's to input_data and output_data for generality and clarity
for merging
I missed some renaming so I fixed that. Hopefully, that's all
merging
Merge branch 'arun_analysis' of https://github.com/arunjandaur/xas into lev_analysis
improved est_amps with least squares