Hi Everyone, I made some small, probably incomplete, progress on dealing with the problem of continuous scan (or QEXAFS) XAFS data for which the XAFS data is sampled on a fine energy grid -- 1eV was used for the data Raul posted. As mentioned earlier, Ifeffit currently uses a fixed k-grid of 0.05Ang^-1 for chi(k). At k = 10Ang^-1, this corresponds to energy steps of nearly 4eV. Any scheme to use "all the data" to map to chi(k=10) may be tricky. The basic approaches are 1) better interpolation algorithm. 2) change the k-space grid size. 3) doing some sort of averaging of the data around a particular k value. At this point I've tried the first 2 of these. More details are posted at http://cars9.uchicago.edu/ifeffit/qexafs/ including data files and some plots figures. This is all with 'experimental' versions of ifeffit. First, I made the interpolation scheme used for the translation of chi(E) to chi(k) in the spline command have a few options: 'linear' using two surroundings data points 'quadratic' or parabolic using three data points 'cubic spline' put a cubic spline through all the data points Linear interpolation is not very satisfying. The results from 'quadratic' and 'cubic spline' are very similar. The next thing I did was to change the k-grid spacing from 0.050 to 0.025 and to 0.010 Ang^-1, and repeated the use all 3 interpolation schemes. Using 0.050 is noticeably different from 0.025, while 0.025 and 0.010 seem pretty similar to me. This was all done by changing the kgrid at compile time, which will be possible in 1.0073. I also played around with trying to make the kgrid and size of the FFT array variables that can be set at run-time. This seems highly desirable for cases like this. Surprisingly to me, it also seems possible. I have a *highly* experimental version that allow kgrid to be set at run time. In favorable conditions, it even works correctly. There are still some severe bugs with this version that I do not fully understand, and I doubt I'll have much time to work on it soon. But if anyone is very eager to try it, I'd be willing to send it. I have not yet tried implementing any 'averaging of adjacent points' such based on a rolling boxcar or a convolution with a Lorenztian. I could be persuaded to try such things, but at this point I'm not sure what the right thing is. Finally, coming back to the interpolation of the continuous scan data, the data Raul sent has some systematic effects going on that might complicate these comparisons. The effects can be seen from the un-interpolated chi(k) data: http://cars9.uchicago.edu/ifeffit/qexafs/orig_data_zoom.png and the attempts to interpolate this data: http://cars9.uchicago.edu/ifeffit/qexafs/kgrid_zoom.png It looks like there are systematic trends due to insufficient precision (only 4 digits in the mu(E) data). I don't know enough about the electronics used to know if this is intrinsic to the measurements or not. Also, does anyone know how accurate the energies are with this kind of data? Thanks, --Matt
participants (1)
-
Matt Newville