Hi, In fact, Artemis and Athena both attempt to deal correctly with input chi(k) data that is not on the expected grid. Both codes perform a test to see if the data is on the standard grid and, if not, front-loads the data with zeros and uses Ifeffit's boxcar rebinning function to put the data on the expected grid. Alas, there was a bug in the rebinning macro used by A&A which caused it to fail in a particular situation met by the data in Matthew's example. This bug will be fixed in the next release. If you import mu(E) data into Athena and then import data from the Athena project file into Artemis, you will never see the problem that Matthew reported. B On Tuesday 17 January 2006 16:09, Matt Newville wrote:
Hi Matthew, Bruce,
OK, I think it's a bug. Well, maybe it's just a consequence of a "known but not well advertised" problem.
The chi(k) data you have doesn't start at k=0. By itself, this should be OK, and the fit seems to be mostly fine. There seems to be a bug in Ifeffit that the output fit chi(k) has the same number of data points as the input chi(k) data. In this case is incorrect -- it should go to the last data point in k. From looking at the code, I'm pretty sure this has no effect on the fit and is only an error in the output array. But the shortened chi_fit(k) will have an impact on the way Bruce is calculating the residual. Even if that were fixed, the residual would still be wrong, as the residual in Artemis is calculated as set(data0_res.k = data0.k) set(data0_res.chi = data0.chi - data0_fit.chi)
and then Fourier transforming to R-space. Since the data and fit aren't aligned in k-space, the residual is incorrect. It should be
set(data0_res.chi = data0.chi - interp(data0_fit.k, data0_fit.chi, data0.k))
or some variation on that.
Sorry for the trouble. It's definitely a result of narrow-mindedly expecting that all chi(k) data comes from Ifeffit/Athena and will always start at k=0. We should get this fixed (it's mostly there!) so that data from other sources can be used. Right now, the easiest work-around is to pre-pack the chi(k) data with zeros (starting from k=0.00)
--Matt
_______________________________________________ Ifeffit mailing list Ifeffit@millenia.cars.aps.anl.gov http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
-- Bruce Ravel ---------------------------------------------- bravel@anl.gov Molecular Environmental Science Group, Building 203, Room E-165 MRCAT, Sector 10, Advance Photon Source, Building 433, Room B007 Argonne National Laboratory phone and voice mail: (1) 630 252 5033 Argonne IL 60439, USA fax: (1) 630 252 9793 My homepage: http://cars9.uchicago.edu/~ravel EXAFS software: http://cars9.uchicago.edu/~ravel/software/