\(\renewcommand\AA{\unicode{x212B}}\)
SaveCanSAS1D v2¶
Summary¶
Save a MatrixWorkspace to a file in the CanSAS1D XML format (for 1D data).
See Also¶
Properties¶
Name |
Direction |
Type |
Default |
Description |
---|---|---|---|---|
InputWorkspace |
Input |
Mandatory |
The input workspace, which must be in units of Q. Must be a 1D workspace. |
|
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 Mantid install directory. |
|
Geometry |
Input |
string |
Unknown |
The geometry type of the collimation. Allowed values: [‘Cylinder’, ‘FlatPlate’, ‘Flat plate’, ‘Disc’, ‘Unknown’] |
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 |
BackgroundSubtractionWorkspace |
Input |
string |
The name of the workspace used in the scaled background subtraction, to be included in the metadata. Optional. |
|
BackgroundSubtractionScaleFactor |
Input |
number |
0 |
The scale factor used in the scaled background subtraction, to be included in the metadata. Optional. |
Description¶
Saves the given Matrix Workspace to a file in the CanSAS1D XML format.
This format is only intended to be used for 1D workspaces.
If the workspace contains several spectra, two options are available:
if
OneSpectrumPerFile
isfalse
(default value), all spectra will be appended into the same file (into different<SASdata>
entries)if
OneSpectrumPerFile
istrue
, 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 created file can be loaded back into Mantid using the LoadCanSAS1D v2 algorithm.
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