\(\renewcommand\AA{\unicode{x212B}}\)
SaveCanSAS1D v2¶
Summary¶
Save a MatrixWorkspace to a file in the canSAS 1-D format
See Also¶
Properties¶
Name |
Direction |
Type |
Default |
Description |
---|---|---|---|---|
InputWorkspace |
Input |
Mandatory |
The input workspace, which must be in units of Q |
|
Filename |
Input |
string |
Mandatory |
The name of the xml file to save. Allowed extensions: [‘.xml’] |
RadiationSource |
Input |
string |
Spallation Neutron Source |
The type of radiation used. Allowed values: [‘Spallation Neutron Source’, ‘Pulsed Reactor Neutron Source’, ‘Reactor Neutron Source’, ‘Synchrotron X-ray Source’, ‘Pulsed Muon Source’, ‘Rotating Anode X-ray’, ‘Fixed Tube X-ray’, ‘neutron’, ‘x-ray’, ‘muon’, ‘electron’] |
Append |
Input |
boolean |
False |
Selecting append allows the workspace to be added to an existing canSAS 1-D file as a new SASentry |
Process |
Input |
string |
Text to append to Process section |
|
DetectorNames |
Input |
string |
Specify in a comma separated list, which detectors to store information about; where each name must match a name given for a detector in the [[IDF|instrument definition file (IDF)]]. IDFs are located in the instrument sub-directory of the MantidPlot install directory. |
|
Geometry |
Input |
string |
Disc |
The geometry type of the collimation. Allowed values: [‘Cylinder’, ‘Flat plate’, ‘Disc’] |
SampleHeight |
Input |
number |
0 |
The height of the collimation element in mm. If specified as 0 it will not be recorded. |
SampleWidth |
Input |
number |
0 |
The width of the collimation element in mm. If specified as 0 it will not be recorded. |
SampleThickness |
Input |
number |
0 |
The thickness of the sample in mm. If specified as 0 it will not be recorded. |
Transmission |
Input |
The transmission workspace. Optional. If given, will be saved at TransmissionSpectrum |
||
TransmissionCan |
Input |
The transmission workspace of the Can. Optional. If given, will be saved at TransmissionSpectrum |
||
SampleTransmissionRunNumber |
Input |
string |
The run number for the sample transmission workspace. Optional. |
|
SampleDirectRunNumber |
Input |
string |
The run number for the sample direct workspace. Optional. |
|
CanScatterRunNumber |
Input |
string |
The run number for the can scatter workspace. Optional. |
|
CanDirectRunNumber |
Input |
string |
The run number for the can direct workspace. Optional. |
|
OneSpectrumPerFile |
Input |
boolean |
False |
If true, each spectrum will be saved in an invididual file |
Description¶
Saves the given Matrix Workspace to a file in the canSAS 1-D format.
If the workspace contains several spectra, two options are available:
if OneSpectrumPerFile if false (default value), all spectra will be appended into the same file (into different <SASdata> entries)
if OneSpectrumPerFile is true, each spectrum will be written in a separate file. The name of the file will be created as follows: <Filename property>_ <spectrum index>_<axis value><axis unit>.<extension>
The canSAS 1-D Format¶
The canSAS 1-D standard for reduced 1-D SAS data is implemented using XML files. A single file can contain SAS data from a single experiment or multiple experiments.
Version 1.1 of the canSAS 1-D schema can be used to validate files of this format.
There is a canSAS Wiki available which provides more information about the format.
Versions¶
This is version 2 of the algorithm, which meets version 1.1 of the canSAS 1-D specification.
You can export data to files using version 1.0 of the specification by using version 1 of SaveCanSAS1D.
Usage¶
Example - Save/Load “Roundtrip”
import os
# Create dummy workspace.
dataX = [0,1,2,3]
dataY = [9,5,7]
out_ws = CreateWorkspace(dataX, dataY, UnitX="MomentumTransfer")
file_path = os.path.join(config["defaultsave.directory"], "canSASData.xml")
# Do a "roundtrip" of the data.
SaveCanSAS1D(out_ws, file_path)
in_ws = LoadCanSAS1D(file_path)
print("Contents of the file = " + str(in_ws.readY(0)) + ".")
Output:
Contents of the file = [ 9. 5. 7.].
Categories: AlgorithmIndex | DataHandling\XML | SANS\DataHandling
Source¶
C++ header: SaveCanSAS1D2.h
C++ source: SaveCanSAS1D2.cpp