Table of Contents
Name | Direction | Type | Default | Description |
---|---|---|---|---|
InputWorkspace | Input | MatrixWorkspace | Mandatory | Name of the input workspace |
OutputWorkspace | Output | MatrixWorkspace | 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) |
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.
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: Algorithms | Arithmetic
C++ source: GeneralisedSecondDifference.cpp (last modified: 2016-10-05)
C++ header: GeneralisedSecondDifference.h (last modified: 2016-06-13)