\(\renewcommand\AA{\unicode{x212B}}\)
GeneralisedSecondDifference v1¶
Summary¶
Computes the generalised second difference of a spectrum or several spectra.
Properties¶
Name |
Direction |
Type |
Default |
Description |
---|---|---|---|---|
InputWorkspace |
Input |
Mandatory |
Name of the input workspace |
|
OutputWorkspace |
Output |
Mandatory |
The name of the workspace to be created as the output of the algorithm |
|
M |
Input |
number |
0 |
The number of points for averaging, i.e. summing will be done in the range [y(i-m),y(i+m)] |
Z |
Input |
number |
0 |
The number of iteration steps in the averaging procedure |
WorkspaceIndexMin |
Input |
number |
0 |
Lower bound of the spectrum range (default 0) |
WorkspaceIndexMax |
Input |
number |
0 |
Upper bound of the spectrum range (default workspace max) |
Description¶
Compute the generalised second difference of a spectrum or several spectra based on the method described by M.A. Mariscotti., Nuclear Instruments and Methods 50, 309 (1967). Given a spectrum with value yi (0<=i<n), the generalised second difference corresponds to the second difference curve, smoothed by averaging each point in the interval [-m,+m], and applying this procedure z times.
Usage¶
Example - Use on a single peak
# Create Workspace with peak around x=15.0
ws = CreateSampleWorkspace(BankPixelWidth=1, Xmax=30, BinWidth=1)
# Apply algorithm.
wsD = GeneralisedSecondDifference(ws,M=2,Z=2)
# Show values around the peak
print("{:.2f}, {:.2f}, {:.2f}, {:.2f}, {:.2f}".format(wsD.readY(0)[8], wsD.readY(0)[9], wsD.readY(0)[10], wsD.readY(0)[11], wsD.readY(0)[12]))
print("Peak at {}".format(wsD.readX(0)[10]))
Output:
-0.34, -7.21, -20.00, -7.21, -0.34
Peak at 15.0
Categories: AlgorithmIndex | Arithmetic
Source¶
C++ header: GeneralisedSecondDifference.h
C++ source: GeneralisedSecondDifference.cpp