Description | Perl tools for X-ray Absorption Spectroscopy |
Demeter::ScatteringPath::Rank - Ranking paths in a Feff calculation
This documentation refers to Demeter version 0.9.26.
This module provides a framework for evaluating path ranking formulas and associating the results with ScatteringPath objects. These rankings can be used to evaluate the importance of a path in a Feff calculation and, hopefully, provide some guidance about which paths to include in a fit.
This module is adapted from similar work by Karine Provost of Institut de Chimie et des Materiaux Paris-Est.
Feff has long had a strange little feature called the "curved wave importance factor" that purports to be an assessment of the importance of a path. Paths with large importance factors should, presumably, be included in a fit. Unfortunately, the formula Feff uses to compute this number is not very reliable when applied to real world fitting problems.
This module, then, provides a framework for applying alternative importance calculations. This gives the user more information about the list of paths from a Feff calculation and hopefully provides better guidance for creating fitting models.
feff
This is Feff's curve wave amplitude ratio.
akc
This is the sum over the k-range of |k*chi(k)|
.
aknc
This is the sum over the k-range of |k^n*chi(k)|
.
sqkc
This is the square root of the sum over the k-range of (k*chi(k))^2
.
sqknc
This is the square root of the sum over the k-range of (k^n*chi(k))^2
.
mkc
This is the sum over the k-range of |k*mag(chi(k))|
.
mknc
This is the sum over the k-range of |k^n*mag(chi(k))|
.
mft
This is the maximum value of |chi(R)|
within the R range with the Fourier transform performed using the current value of the plotting k-weight.
sft
This is the sum over the R-range of |chi(R)|
with the Fourier transform performed using the current value of the plotting k-weight.
rank
Run the selected path ranking calculations on a ScatteringPath object and store the results in the rankings
attribute, which is a hash reference. The keys of the referenced hash are given above.
$sp -> rank($how, $plot);
$how
specifies the ranking criterion. The configuration default will be used if not specified. If $plot
is true, the path will be plotted in R.
normalize
For amplitude-valued rankings, scale each path in a list such that the largest path in the input list has a value of 100.
$sp -> normalize(@list_of_sp);
$sp
will be included in the list, but care will be taken not to include it twice.
get_rank
Return a path's value for a given test.
$x = $sp->get_rank('akc');
get_rank_list
Return a list of identifying names for all the tests.
@all = $sp -> get_rank_list;
foreach my $r (@all) {
print $r, " = ", $sp->get_rank($r);
};
The pathfinder->rank
parameter is used to determine which criterion is used in the path interpretation. Other parameters in the pathfinder
configuration group set the default k- and R-ranges for the evaluations. Finally, pathfinder->rank_high
and pathfinder->rank_low
set the cutoff between high, mid, and low importance paths in the path interpretation.
Demeter's dependencies are in the Build.PL file.
Please report problems to the Ifeffit Mailing List (http://cars9.uchicago.edu/mailman/listinfo/ifeffit/)
Patches are welcome.
Bruce Ravel (http://bruceravel.github.io/home)
http://bruceravel.github.io/demeter/
Copyright (c) 2006-2018 Bruce Ravel (http://bruceravel.github.io/home). All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlgpl.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.