\(\renewcommand\AA{\unicode{x212B}}\)

ExtractMask v1

Summary

Extracts the masking from a given workspace and places it in a new workspace.

See Also

ExtractMaskToTable

Properties

Name

Direction

Type

Default

Description

InputWorkspace

Input

MatrixWorkspace

Mandatory

A workspace whose masking is to be extracted

UngroupDetectors

Input

boolean

False

If true, the spectra will be ungrouped and masked individually.

OutputWorkspace

Output

MatrixWorkspace

Mandatory

A workspace containing the masked spectra as zeroes and ones.

DetectorList

Output

int list

A comma separated list or array containing a list of masked detector ID’s

Description

The masking from the InputWorkspace property is extracted by creating a new MatrixWorkspace with a single X bin where:

  • 0 = masked;

  • 1 = unmasked.

The spectra containing 0 are also marked as masked and the instrument link is preserved so that the instrument view functions correctly.

A list of masked detector IDs is also output. Note this contains the detector IDs which are masked rather than the index or spectrum number.

Ungroup Detectors

If UngroupDetectors is set to True, the detector IDs are ungrouped. This means that if the input workspace has a grouped detector, the output workspace will have a single spectra for each detector.

Usage

Example

#create a workspace with a 3*3 pixel detector
bankPixelWidth = 3
ws = CreateSampleWorkspace(NumBanks=1,BankPixelWidth=bankPixelWidth)

#Mask out every other detector
MaskDetectors(ws,WorkspaceIndexList=range(0,bankPixelWidth*bankPixelWidth,2))

wsMask, maskList = ExtractMask(ws)

#This mask can then be applied to another workspace
ws2 = CreateSampleWorkspace(NumBanks=1,BankPixelWidth=bankPixelWidth)
MaskDetectors(ws2,MaskedWorkspace="wsMask")

print("Masked Detectors")
print("n ws    ws2")
for i in range (ws.getNumberHistograms()):
    print("%i %-5s %s" % (i, ws.getDetector(i).isMasked(), ws2.getDetector(i).isMasked()))

print("\nMasked detector IDs")
print(maskList)

Output:

Masked Detectors
n ws    ws2
0 True  True
1 False False
2 True  True
3 False False
4 True  True
5 False False
6 True  True
7 False False
8 True  True

Masked detector IDs
[ 9 11 13 15 17]

Categories: AlgorithmIndex | Transforms\Masking

Source

C++ header: ExtractMask.h

C++ source: ExtractMask.cpp