Hi Everyone,
I've just posted Ifeffit version 1.0077. It's been a while
since the last release, and there have been several changes
and improvements. The highlights are:
- The spline() and bkg_cl() now uses a new
rebinning/interpolation algorithm to convert data from
chi(E) to chi(k). For finely-spaced energy data such as
from QEXAFS measurements, this averages over all energy
points within the corresponding k range. For data that
isn't finely-spaced, a three-point interpolation is used
(as before). There is also a rebin() function that works
like other interpolation functions:
new.y = rebin(old.x, old.y, new.x)
which will use the the same algorithm. Again, this is not
normally needed, as spline() and bkg_cl() do this as well.
- feffit() now supports multiple-k-weights in a single fit:
feffit(..., kweight=2, kweight=0, kweight=4,...)
That is, listing multiple values of 'kweight' will use all
of them (up to the first 5). Each portion of the fit will
be properly weighted, but the error bars reported for such
fits always reflect the fact that only 1 data set is really
is used (and if 'bkg=true' is used, only 1 set of bkg
parameters will be used).
The output arrays generated for this form of
multiple-k-weight fits will use the FIRST kweight listed.
Other outputs will have to be created explicitly.
- other improvements to feffit:
feffit(bkg=true) now works with multiple-data-set fits.
feffit() and minimize() now list 'bad variables' after
a fit for which error bars could not be estimated.
feffit() now produces correct chi(R) data when input
chi(k) data is not on a k=0.05Ang^-1 grid.
feffit() with multiple-data-set fits now looks closely
to see if repeated data is used, to avoid 'double
counting' for N_idp.
- f1f2() now looks up and uses the 'known core-width of an
edge' by default. That is, if the atom given has an edge
energy in the supplied energy range, the corresponding
core-width is used. Of course, you can still supply a
value for 'width'. Other improvements to f1f2() were made
in the Lorentzian convolution, and the precision of the
Cromer-Libermann data.
- read_data() no longer sorts on the first column by default.
- plotting improvements:
plot() now interprets 'key=""' correctly (ie, 'no legend')
plot(reset) now works to reset the color/style tables.
Notes on the windows installation:
- I included the latest versions of athena, artemis, and
sixpack as of this morning (05/05/2003).
- Source and binary installers for the Ifeffit Python module
are included in wrappers/python.
- I tried (briefly) to build sixpack with python2.2, but
ended up installing the binary sixpack from Sam's' web
page. Sixpack uses python2.1, which is fine, but clashes
with python2.2. To avoid version conflicts, I put sixpack
in a completely separate directory 'sixpack'. The batch
file and icons point to that version. This means some
duplication of files, so we may eventually want to move
uniformly to python2.2.
- The executables for feffit.exe and autobk.exe have been
updated. These should a) write output files more reliably,
and b) auto-sense RDF files better. This last feature is
not extensively tested.
There are lots of changes in this version, and so plenty of
room for mistakes. Please give this version and these new
features a try and let me know if there are any problems.
And, as always, suggestions for what to include in the next
version are welcome.
Thanks,
--Matt