Table of Contents
NormaliseToUnity takes a 2D workspace or an EventWorkspace as input and normalises it to 1. Optionally, the range summed can be restricted in either dimension.
Name | Direction | Type | Default | Description |
---|---|---|---|---|
InputWorkspace | Input | MatrixWorkspace | Mandatory | The name of the input workspace. |
OutputWorkspace | Output | MatrixWorkspace | Mandatory | The name with which to store the output workspace in the [[Analysis Data Service]] |
RangeLower | Input | number | Optional | The X (frame) value to integrate from |
RangeUpper | Input | number | Optional | The X (frame) value to integrate to |
StartWorkspaceIndex | Input | number | 0 | The lowest workspace index of the specta that will be integrated |
EndWorkspaceIndex | Input | number | Optional | The highest workspace index of the spectra that will be integrated |
IncludePartialBins | Input | boolean | False | If true then partial bins from the beginning and end of the input range are also included in the integration. |
IncludeMonitors | Input | boolean | True | Whether to include monitor spectra in the sum (default: yes) |
NormaliseToUnity uses Integration v1 to sum up all the X bins, then sums up the resulting spectra using SumSpectra v1. Each bin of the input workspace is then divided by the total sum, regardless of whether a bin was included in the sum or not. It is thus possible to normalize a workspace so that a range of X bins and spectra sums to 1. In that case the sum of the whole workspace will likely not be equal to 1.
Example - Normalise for 4 spectra each with 5 values
# Create a workspace with 4 spectra each with 5 values
ws = CreateSampleWorkspace("Histogram", NumBanks=1, BankPixelWidth=2, BinWidth=10, Xmax=50)
# Run algorithm
wsNorm = NormaliseToUnity (ws)
print("Normalised Workspace")
for i in range(4):
print("[ {:.4f}, {:.4f}, {:.4f}, {:.4f}, {:.4f} ]".format(
wsNorm.readY(i)[0], wsNorm.readY(i)[1], wsNorm.readY(i)[2],
wsNorm.readY(i)[3], wsNorm.readY(i)[4]))
Output:
Normalised Workspace
[ 0.2239, 0.0065, 0.0065, 0.0065, 0.0065 ]
[ 0.2239, 0.0065, 0.0065, 0.0065, 0.0065 ]
[ 0.2239, 0.0065, 0.0065, 0.0065, 0.0065 ]
[ 0.2239, 0.0065, 0.0065, 0.0065, 0.0065 ]
Categories: AlgorithmIndex | CorrectionFunctions\NormalisationCorrections
C++ source: NormaliseToUnity.cpp (last modified: 2019-06-05)
C++ header: NormaliseToUnity.h (last modified: 2018-10-05)