\(\renewcommand\AA{\unicode{x212B}}\)
BilbySANSDataProcessor v1¶
Summary¶
BILBY SANS data reduction. Converts a workspace in wavelength into a 1D or 2D workspace of momentum transfer, assuming elastic scattering.
See Also¶
Properties¶
| Name | Direction | Type | Default | Description | 
|---|---|---|---|---|
| InputWorkspace | Input | Mandatory | Particle counts as a function of wavelength | |
| InputMaskingWorkspace | Input | Mask for the scattering data | ||
| BlockedBeamWorkspace | Input | Blocked beam scattering | ||
| EmptyBeamSpectrumShapeWorkspace | Input | Mandatory | Empty beam transmission, where only a given wavelength slice is considered | |
| SensitivityCorrectionMatrix | Input | Detector sensitivity calibration data set | ||
| TransmissionWorkspace | Input | Mandatory | Sample transmission workspace | |
| TransmissionEmptyBeamWorkspace | Input | Mandatory | Empty beam transmission workspace | |
| TransmissionMaskingWorkspace | Input | Mandatory | Mask for the transmission data | |
| FitMethod | Input | string | log | Function to use to fit transmission; can be Linear, Log, Polynomial (first letter shall be capital) | 
| PolynomialOrder | Input | string | 3 | Used only for Polynomial function, but needed as an input parameter anyway | 
| ScalingFactor | Input | number | 1 | Attenuating factor | 
| SampleThickness | Input | number | 1 | Thickness of sample | 
| BinningWavelength | Input | dbl list | Mandatory | Wavelength boundaries for reduction: a comma separated list of first bin boundary, width, last bin boundary | 
| BinningWavelengthTransm | Input | dbl list | Mandatory | Wavelengths boundaries for transmission binning: a comma separated list of first bin boundary, width, last bin | 
| BinningQ | Input | dbl list | Mandatory | Output Q-boundaries: a comma separated list of first bin boundary, width, last bin boundary | 
| Timemode | Input | boolean | True | If data collected in ToF or monochromatic mode | 
| AccountForGravity | Input | boolean | True | Whether to correct for the effects of gravity | 
| SolidAngleWeighting | Input | boolean | True | If True, pixels will be weighted by their solid angle | 
| RadiusCut | Input | number | 1 | To increase resolution some wavelengths are excluded within this distance from the beam center (mm). Note that RadiusCut and WaveCut both need to be larger than 0 to affect the effective cutoff. See the algorithm description for a detailed explanation of the cutoff. | 
| WaveCut | Input | number | 1 | To increase resolution by starting to remove some wavelengths below this threshold (angstrom). Note that WaveCut and RadiusCut both need to be larger than 0 to affect on the effective cutoff. See the algorithm description for a detailed explanation of the cutoff. | 
| WideAngleCorrection | Input | boolean | True | If true, the wide angle correction for transmissions will be applied | 
| Reduce2D | Input | boolean | False | If true, 2D data reduction will be performed | 
| OutputWorkspace | Output | Mandatory | Name of the workspace that contains the result of the calculation. Created automatically. | |
| OutputWorkspaceTransmissionFit | Output | Mandatory | Counts vs wavelength, fit for the sample transmission | 
Description¶
The main equation Bilby is using for the \(I(Q)\) calculation is the following:
Where \(C_{sam, corr}\) is the measured counts per pixel per wavelength, \(I_{empty\_beam}\) is the intensity of the empty beam collected for \(M_{empty\_beam}\) time, M is a time measure for the data collection, \(att_{empty\_beam}\) is attenuation factor, \(\Omega(R)\) is solid angle, \(Det_{flood}\) is a detector response function, \(T_{corr}\) is the sample transmission, and \(d_{sam}\) is the sample thickness.
Details are described in the paper [1]. The core algorithms the BilbySANSDataProcessor is utilising are Q1D and TOFSANSResolutionByPixel. Please refer to those pages for details of the input parameters. The unit of the output workspace is 1/cm. Absolute scale calibration done relatively to the empty beam transmission measurements.
Usage¶
See https://github.com/hortica/Mantid_Bilby/tree/master/example_data_reduction_settings page to download a set of the test input data.
Please note, currently we do not have a User Interface, so we are working with csv lists.
The steps to make the Bilby data reduction work are listed below:
- Two csv files, similar to (input_csv_example.csv and mantid_reduction_settings_example.csv) should be created during the experiment; the names can be different, the format (especially the top line in each) must stay the same 
- Download Mantid from http://download.mantidproject.org/ 
- Add the folder with your *.tar files AND the two csv files (input_csv_example.csv and mantid_reduction_settings_example.csv) to the path (added to “Mantid User Directories”)
- To keep it simple, one can put tar and csv files in one folder, but you can add as many folders on the paths as you want 
 
 
- Open the Script menu in Mantid: press “View”, and then “Script window”; alternalively just press F3 
- The script below shows an example script to run the Bilby reduction the reduction_settings_file options should be changed to the correct .csv file file and save_files set to true. 
- Run the reducer, Execute -> Execute All in the Menu
- All output 1D files will be saved in the folder you define in the mantid_reduction_settings_example.csv 
 
 
from BilbyReductionScript import RunBilbyReduction
run_bilby_reduction = RunBilbyReduction('mantid_reduction_settings_example.csv', '0', '0', 'shift_assembled.csv', False)
output_workspace, transmission_fit = run_bilby_reduction.run_bilby_reduction()
scale, aka attenuation factor 0.0029
References¶
Source¶
Python: BilbySANSDataProcessor.py
Categories: AlgorithmIndex | Workflow\SANS