\(\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 - OneSpectrumPerFileis- false(default value), all spectra will be appended into the same file (into different- <SASdata>entries)
- if - OneSpectrumPerFileis- 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 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