SetMDFrame v1

../_images/SetMDFrame-v1_dlg.png

SetMDFrame dialog.

Summary

Sets a new MDFrame type for a selection of axes for legacy MDHisto and MDEvent workspaces.

Properties

Name Direction Type Default Description
InputWorkspace InOut IMDWorkspace Mandatory The workspace for which the MDFrames are to be changed. Note that only MDHisto and MDEvent workspaces can be altered by this algorithm.
MDFrame Input string General Frame MDFrame type selection. Allowed values: [‘General Frame’, ‘QSample’, ‘QLab’, ‘HKL’, ‘Unknown frame’]
Axes Input int list   Selects the axes which are going to be set to the new MDFrame type.

Description

This algorithm allows the user to set the MDFrame type for each axis on a workspace. The algorithm makes it possible to introduce the correct MDFrame type to workspaces which are associated with legacy files. Note that this can only be applied to MDHisto and MDEvent workspaces.

The selectable frame types are: - “QLab” for a QLab-based frame - “QSample” for a QSample-based frame - “HKL” for an HKL-based frame - “General Frame” for a general purpose frame - “Unknown frame” when the frame type is unknown

One frame-type is selected and applied to several dimensions which are specified by a Numpy-style array selection.

Usage

Example - Sample useage of SetMDFrame

# Prepare the sample workspace
mdws = CreateMDWorkspace(Dimensions=3, Extents='-10,10,-10,10,-10,10',
                                    Names='A,B,C', Units='U,U,U',
                                    Frames='QSample, QSample, QSample')
print "The first MDFrame is of type " + mdws.getDimension(0).getMDFrame().name()
print "The second MDFrame is of type " + mdws.getDimension(1).getMDFrame().name()
print "The third MDFrame is of type " + mdws.getDimension(2).getMDFrame().name()

# Set the 0th and 2nd frame to QLab
SetMDFrame(mdws,MDFrame='QLab', Axes=[0,2])

print "The new first MDFrame is of type " + mdws.getDimension(0).getMDFrame().name()
print "The second MDFrame is of type " + mdws.getDimension(1).getMDFrame().name()
print "The new third MDFrame is of type " + mdws.getDimension(2).getMDFrame().name()

Output:

The first MDFrame is of type QSample
The second MDFrame is of type QSample
The third MDFrame is of type QSample
The new first MDFrame is of type QLab
The second MDFrame is of type QSample
The new third MDFrame is of type QLab

Categories: Algorithms | MDAlgorithms

Source

C++ source: SetMDFrame.cpp

C++ header: SetMDFrame.h