\(\renewcommand\AA{\unicode{x212B}}\)
CrossCorrelate v1¶
Summary¶
Cross-correlates a range of spectra against one reference spectra in the same workspace.
See Also¶
Properties¶
Name |
Direction |
Type |
Default |
Description |
---|---|---|---|---|
InputWorkspace |
Input |
Mandatory |
A 2D workspace with X values of d-spacing |
|
OutputWorkspace |
Output |
Mandatory |
The name of the output workspace |
|
ReferenceSpectra |
Input |
number |
0 |
The Workspace Index of the spectra to correlate all other spectra against. |
WorkspaceIndexMin |
Input |
number |
0 |
The workspace index of the first member of the range of spectra to cross-correlate against. |
WorkspaceIndexMax |
Input |
number |
0 |
The workspace index of the last member of the range of spectra to cross-correlate against. |
WorkspaceIndexList |
Input |
unsigned int list |
A comma-separated list of individual workspace indices of spectra to cross-correlate against. |
|
XMin |
Input |
number |
0 |
The starting point of the region to be cross correlated. |
XMax |
Input |
number |
0 |
The ending point of the region to be cross correlated. |
MaxDSpaceShift |
Input |
number |
Optional |
Optional float for maximum shift to calculate (in d-spacing) |
Description¶
Compute the cross correlation function for a range of spectra with respect to a reference spectrum.
This is use in powder diffraction experiments when trying to estimate the offset of one spectra with respect to another one. The spectra are converted in d-spacing and then interpolate on the X-axis of the reference. The cross correlation function is computed in the range [-N/2,N/2] where N is the number of points.
More details can be found here.
Usage¶
Example - Crosscorrelate 2 spectra
#Create a workspace with 2 spectra with five bins of width 0.5
ws = CreateSampleWorkspace(BankPixelWidth=1, XUnit='dSpacing', XMax=5, BinWidth=0.5)
ws = ScaleX(InputWorkspace='ws', Factor=0.5, Operation='Add', IndexMin=1, IndexMax=1)
# Run algorithm CrossCorrelate
OutputWorkspace = CrossCorrelate(InputWorkspace='ws', WorkspaceIndexMax=1, XMin=2, XMax=4)
# Show workspaces
print("AutoCorrelation {}".format(OutputWorkspace.readY(0)))
print("CrossCorrelation {}".format(OutputWorkspace.readY(1)))
AutoCorrelation [-0.01890212 1. -0.01890212]
CrossCorrelation [-0.68136257 0.16838401 0.45685055]
Categories: AlgorithmIndex | Arithmetic
Source¶
C++ header: CrossCorrelate.h
C++ source: CrossCorrelate.cpp