\(\renewcommand\AA{\unicode{x212B}}\)
QueryMDWorkspace v1¶
Summary¶
Query the IMDWorkspace in order to extract summary information.
Properties¶
| Name | Direction | Type | Default | Description | 
|---|---|---|---|---|
| InputWorkspace | Input | IMDWorkspace | Mandatory | An input MDWorkspace. | 
| OutputWorkspace | Output | Mandatory | The output Tableworkspace with columns containing key summary information about the MDWorkspace. | |
| LimitRows | Input | boolean | True | Limit the report output to a maximum number of rows | 
| MaximumRows | Input | number | 100000 | The number of neighbours to utilise. Defaults to 100000. | 
| Normalisation | Input | string | none | What normalisation do you wish to apply none: No normalisation. volume: Normalise by the volume. number of events: Normalise by the number of events. Allowed values: [‘none’, ‘volume’, ‘number of events’] | 
| TransformCoordsToOriginal | Input | boolean | True | Output box coordinates in terms of original workspace coordinates | 
| BoxDataTable | Output | Optional output data table with MDEventWorkspace-specific box data. | 
Description¶
This algorithm outputs a table workspace containing summary data about each box within an IMDWorkspace. The table workspace can be used as a basis for plotting.
Format¶
- Column 1: Signal (double) 
- Column 2: Error (double) 
- Column 3: Number of Events (integer) 
- Column 4: Coords of box center (string) 
Usage¶
Example - query MD workspace and look at the result:
# create sample inelastic workspace for MARI instrument containing 1 at all spectra
ws1 = CreateSimulationWorkspace(Instrument='MAR', BinParams='-10,1,10', UnitX='DeltaE')
AddSampleLog(ws1, 'Ei', '12.', 'Number')
ws2 = ws1 * 2;
# Convert to MD
mdWs1 = ConvertToMD(InputWorkspace=ws1, QDimensions='|Q|', QConversionScales='Q in A^-1', SplitInto='10,10', MaxRecursionDepth='1')
# get the query
table = QueryMDWorkspace(InputWorkspace=mdWs1)
# look at the output:
col_names = table.keys();
name0 = col_names[0];
nRows = len(table.column(name0));
print("Table contains {0} rows".format(nRows))
print("first 11 of them are:")
print("--------------------------------------------------------------------------------------------------------------")
print(' '.join('| {0:19}'.format(name) for name in col_names) + ' |')
print("--------------------------------------------------------------------------------------------------------------")
for i in range(0,11):
   print(' '.join('| {0:>19.4f}'.format(table.column(name)[i]) for name in col_names) + ' |')
Output:
Table contains 100 rows
first 11 of them are:
--------------------------------------------------------------------------------------------------------------
| Signal/none         | Error/none          | Number of Events    | |Q|/MomentumTransfer | DeltaE/DeltaE       |
--------------------------------------------------------------------------------------------------------------
|              0.0000 |              0.0000 |              0.0000 |              0.3982 |             -9.0000 |
|            338.0000 |              0.0000 |            338.0000 |              0.9065 |             -9.0000 |
|            164.0000 |              0.0000 |            164.0000 |              1.4149 |             -9.0000 |
|            164.0000 |              0.0000 |            164.0000 |              1.9233 |             -9.0000 |
|            153.0000 |              0.0000 |            153.0000 |              2.4317 |             -9.0000 |
|            162.0000 |              0.0000 |            162.0000 |              2.9401 |             -9.0000 |
|            171.0000 |              0.0000 |            171.0000 |              3.4485 |             -9.0000 |
|            195.0000 |              0.0000 |            195.0000 |              3.9568 |             -9.0000 |
|            231.0000 |              0.0000 |            231.0000 |              4.4652 |             -9.0000 |
|            258.0000 |              0.0000 |            258.0000 |              4.9736 |             -9.0000 |
|             28.0000 |              0.0000 |             28.0000 |              0.3982 |             -7.0000 |
Categories: AlgorithmIndex | MDAlgorithms\Utility\Workspace
Source¶
C++ header: QueryMDWorkspace.h
C++ source: QueryMDWorkspace.cpp