SortXAxis v1#

Summary#

Clones the input MatrixWorkspace(s) and orders the x-axis in an ascending or descending fashion.

Properties#

Name

Direction

Type

Default

Description

InputWorkspace

Input

MatrixWorkspace

Mandatory

Input Workspace

OutputWorkspace

Output

MatrixWorkspace

Mandatory

Sorted Output Workspace

Ordering

Input

string

Ascending

Ascending or descending sorting. Allowed values: [‘Ascending’, ‘Descending’]

Description#

Clones the input Matrix Workspaces and orders the x-axis in an ascending or descending fashion. Ensures that the y-axis and error data as well as optional Dx data are sorted in a consistent way with the x-axis.

This algorithm is for use with either point data based workspaces or histogram based workspaces. It is particularly suitable for reformatting workspaces loaded via LoadAscii.

Usage#

#Import requirements
import numpy as np

# Create the workspace
dataX = [2., 1., 3.]
dataY = [2., 1., 3.]
dataE = [2., 1., 3.]
ws = CreateWorkspace(DataX=dataX,DataY=dataY,DataE=dataE,UnitX='TOF',Distribution=True)

# Print out the "Unordered X Axis"
print("Unordered Print")
print(ws.readX(0))
print(ws.readY(0))
print(ws.readE(0))

# Sort the X Axis in a Descending fashion
ws = SortXAxis(InputWorkspace='ws', Ordering='Descending')
print("In order print: Descending")
print(ws.readX(0))
print(ws.readY(0))
print(ws.readE(0))

# Sort the X Axis in a Ascending fashion
ws = SortXAxis(InputWorkspace='ws', Ordering='Ascending')
print("In order print: Ascending")
print(ws.readX(0))
print(ws.readY(0))
print(ws.readE(0))

Output:

Unordered Print
[2. 1. 3.]
[2. 1. 3.]
[2. 1. 3.]
In order print: Descending
[3. 2. 1.]
[3. 2. 1.]
[3. 2. 1.]
In order print: Ascending
[1. 2. 3.]
[1. 2. 3.]
[1. 2. 3.]

Categories: AlgorithmIndex | Transforms\Axes | Utility\Sorting

Source#

C++ header: SortXAxis.h

C++ source: SortXAxis.cpp