ConvolveWorkspaces v1#

Summary#

Convolution of two workspaces.

Properties#

Name

Direction

Type

Default

Description

Workspace1

Input

Workspace2D

Mandatory

The name of the resolution workspace

Workspace2

Input

Workspace2D

Mandatory

The name of the data workspace.

OutputWorkspace

Output

Workspace2D

Mandatory

The name of the output workspace.

Description#

Convolution of two workspaces using the Convolution function. Workspaces must have the same number of spectra.

Usage#

Example: Convolve sample workspaces

from numpy import ndarray
from math import pi

x = np.linspace(-5,5)
f1 = Gaussian(Height=1., PeakCentre=.3, Sigma=.6)
# normalise the gaussian
y1 = f1(x)/(0.6*np.sqrt(2.*pi))
ws1 = CreateWorkspace(x, y1)

f2 = Gaussian(Height=1., PeakCentre=-1.3, Sigma=1.2)
# normalise the gaussian
y2 = f2(x)/(1.2*np.sqrt(2.*pi))
ws2 = CreateWorkspace(x, y2)

# calculate convolution
ws3 = ConvolveWorkspaces(ws1, ws2)

print("Output:  {}".format(ws3.readY(0)))

Output:

Output:  [... ... ... ...
 ... ... ... ...
 ... ... ... ...
 ... ... ... ...
 ... ... ... ...
 ... ... ... ...
 ... ... ... ...
 ... ... ... ...
 ... ... ... ...
 ... ... ... ...
 ... ... ... ...
 ... ... ... ...
 ... ...]

Categories: AlgorithmIndex | Utility\Workspaces

Source#

C++ header: ConvolveWorkspaces.h

C++ source: ConvolveWorkspaces.cpp