SANS2D: I(Q) workflow for a single run (sample)
Contents
SANS2D: I(Q) workflow for a single run (sample)#
This notebook describes in detail the steps that are undertaken in the sans.to_I_of_Q
workflow.
It assumes the detector data has been recorded in event mode, while the monitor data has been histogrammed.
The data used in this notebook has been published in Manasi et al. (2021), and we kindly thank the authors for allowing us to use their data.
Note: It uses sample run for simplicity and it is not intended to describe complete data reduction pipeline. The complete pipeline is described in SANS2D reduction.
Outline:
We will begin by loading the data files containing the sample and the direct (empty sample holder) measurements.
We will then apply some corrections to beamline components specific to the SANS2D beamline.
This will be followed by some masking of some saturated or defect detector pixels
Both sample and direct measurement, as well as their monitors, will then be converted to wavelength
From the direct run, and the direct beam function, the normalization term will be computed
Both sample measurement and normalization term will be converted to \(Q\)
Finally, the sample counts (as a function of \(Q\)) will be divided by the normalization term (as a function of \(Q\))
[1]:
import scipp as sc
from ess import loki, sans
from ess.logging import configure_workflow
import scippneutron as scn
Set up the logging systems of scipp (including scippneutron and ess) and Mantid.
[2]:
logger = configure_workflow('sans2d_I_of_Q', filename='sans2d.log')
Define reduction parameters#
We define here whether to include the effects of gravity, and the binning in wavelength and in \(Q\) to be used.
[3]:
# Include effects of gravity?
gravity = True
# Wavelength binning
wavelength_bins = sc.linspace(
dim='wavelength', start=2.0, stop=16.0, num=141, unit='angstrom'
)
# Q binning
q_bins = sc.linspace(dim='Q', start=0.01, stop=0.6, num=141, unit='1/angstrom')
Loading data files#
We load a sample measurement file (SANS2D00063114.hdf5
) and a direct measurement file (SANS2D00063091.hdf5
). We also load the direct beam measurement, which gives a measure of the efficiency of the detector pixels as a function of wavelength.
[4]:
# Sample measurement
sample = loki.io.load_sans2d(loki.data.get_path('SANS2D00063114.hdf5'))
# Direct measurement is with the empty sample holder/cuvette
direct = loki.io.load_sans2d(filename=loki.data.get_path('SANS2D00063091.hdf5'))
# Load direct beam function for main detector
direct_beam = sc.io.load_hdf5(
loki.data.get_path('DIRECT_SANS2D_REAR_34327_4m_8mm_16Feb16.hdf5')
)
# Inspect sample data
sample
[4]:
- spectrum: 61440
- tof: 1
- pixel_height()float64m0.002033984375
Values:
array(0.00203398) - pixel_width()float64m0.0035
Values:
array(0.0035) - position(spectrum)vector3m[-0.5192 -0.48095 23.281 ], [-0.51716204 -0.48095 23.281 ], ..., [ 0.51716204 0.48295 23.281 ], [ 0.5192 0.48295 23.281 ]
Values:
array([[-0.5192 , -0.48095 , 23.281 ], [-0.51716204, -0.48095 , 23.281 ], [-0.51512407, -0.48095 , 23.281 ], ..., [ 0.51512407, 0.48295 , 23.281 ], [ 0.51716204, 0.48295 , 23.281 ], [ 0.5192 , 0.48295 , 23.281 ]]) - sample_position()vector3m[ 0. 0. 19.334]
Values:
array([ 0. , 0. , 19.334]) - source_position()vector3m[0. 0. 0.]
Values:
array([0., 0., 0.]) - spectrum(spectrum)int329, 10, ..., 61447, 61448
Values:
array([ 9, 10, 11, ..., 61446, 61447, 61448], dtype=int32) - tof(tof [bin-edge])float64µs4.946, 1.000e+05
Values:
array([4.94618082e+00, 1.00005977e+05])
- (spectrum, tof)DataArrayViewbinned data [len=0, len=0, ..., len=0, len=1]
dim='event', content=DataArray( dims=(event: 6831225), data=float32[counts], coords={'tof':float64[µs], 'pulse_time':datetime64[ns]})
- Changer()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["IT", "JT"] - Det_Temp_FLB()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [16.8, 16.8, 16.8] - Det_Temp_FLT()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Det_Temp_FRB()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Det_Temp_FRT()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Det_Temp_RLB()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.8, 17.8, 17.8] - Det_Temp_RLT()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Det_Temp_RRB()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.3, 17.3, 17.3] - Det_Temp_RRT()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Fast_Shutter()DataArray{dims=[time: 4], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:4, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:37:42.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T20:38:13.000000000] Data: string [dimensionless] (time) ["OPEN ", "CLOSED", "OPEN ", "OPEN "] - Filename()string𝟙/home/nvaytet/.cache/ess/loki/1/SANS2D00063114.nxs
Values:
'/home/nvaytet/.cache/ess/loki/1/SANS2D00063114.nxs' - Front_Baffle_Z()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [3434.98, 3434.98, 3434.98] - Front_Det_HT()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["True", "True"] - Front_Det_Rot()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-20.0009, -20.0009, -20.0009] - Front_Det_X()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-980.08, -980.08, -980.08] - Front_Det_Z()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [2361.57, 2361.57, 2361.57] - Front_Stop_Rot()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0, 0, 0] - Front_Strip()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [1045, 1045, 1045] - Guide1()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-5.5, -5.5, -5.5] - Guide2()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [263.04, 263.04, 263.04] - Guide3()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-6.7, -6.7, -6.7] - Guide4()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [260.98, 260.98, 260.98] - Guide5()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [265.1, 265.1, 265.1] - Guide_Pressure()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0.083, 0.083, 0.083] - Height()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["top", "top"] - ICP_DAE_TD()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0.6616, 0.6574, ..., -2.545, -2.545] - ICP_SYS_TD()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0.8665, 0.3648, ..., -9.8951, -9.8951] - ID_freq()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [10, 10, 10] - ID_phase()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [99900, 99900, 99900] - JEast()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [153.999, 153.999, 153.999] - JNorth()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [200.999, 200.999, 200.999] - JSouth()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-158.999, -158.999, -158.999] - JWest()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-613.995, -613.995, -613.995] - Julabo_1()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [25.34, 25.34, 25.34] - Julabo_2()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [25.7, 25.7, 25.7] - M3()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["OUT", "OUT"] - M4()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [401, 401, 401] - Main_Shutter()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["OPEN", "OPEN"] - Moderator_Temp()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.58, 17.62, 17.62] - Monitors()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["True", "True"] - Rear_Baffle_Z()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [3647.99, 3647.99, 3647.99] - Rear_Det_HT()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["True", "True"] - Rear_Det_X()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [100.096, 100.096, 100.096] - Rear_Det_Z()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [4002.19, 4002.19, 4002.19] - Rear_Stop2M_Y()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [401, 401, 401] - Rear_Stop3L_Y()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [1134, 1134, 1134] - Rear_Stops_X()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-1190, -1190, -1190] - S1()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [812.923, 812.923, 812.923] - S2()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [817.289, 817.289, 817.289] - S3()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [813.266, 813.266, 813.266] - S4()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [674.019, 674.019, 674.019] - S5()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [539.878, 539.878, 539.878] - S6()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["Medium", "Medium"] - S6_num()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [24.0002, 24.0002, 24.0002] - SECI_OUT_OF_RANGE_BLOCK()DataArray{dims=[time: 24], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:24, ] Coordinates: * time datetime64 [ns] (time) [1727-11-03T20:50:44.-854775808, 1727-11-03T20:50:44.-854775808, ..., 1727-11-03T20:50:44.-854775808, 1727-11-03T20:50:44.-854775808] Data: string [dimensionless] (time) ["Fast_Shutter; ", "NONE_OUT_OF_RANGE", ..., "Fast_Shutter; ", "NONE_OUT_OF_RANGE"] - Sample()DataArray{dims=[time: 5], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:5, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:37:43.000000000, ..., 2020-02-12T20:38:43.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [282.703, 292.723, ..., 311.698, 311.698] - Status()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["SETUP ", "RUNNING"] - Strip()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [1045, 1045, 1045] - TD_freq()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [10, 9.99, 9.99] - TD_phase()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [3000, 3000, 3000] - TEMP1()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [24.78, 24.79, 24.79] - TEMP2()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [24.94, 24.93, 24.93] - Table()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [126.188, 126.188, 126.188] - Tank_Pressure()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0.022, 0.022, 0.022] - count_rate()DataArray{dims=[time: 61], unit=counts, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [counts] (time) [137.131, 143.066, ..., 141.326, 139.411] - current_period()int64𝟙1
Values:
array(1) - dae_beam_current()DataArray{dims=[time: 61], unit=µAh, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [µAh] (time) [38.7278, 40.232, ..., 40.1454, 39.3263] - duration()float64s1813.0
Values:
array(1813.) - end_time()string𝟙2020-02-12T21:08:13
Values:
'2020-02-12T21:08:13' - events_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [600, 599, ..., 530, 586] - experiment_identifier()string𝟙1920676
Values:
'1920676' - frame_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [0, 1, ..., 18129, 18130] - gd_prtn_chrg()float64µAh20.008955001831055
Values:
array(20.008955) - good_frame_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [1, 1, ..., 1, 1] - good_frames()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [49, 353, ..., 17928, 18082] - good_uah_log()DataArray{dims=[time: 61], unit=µAh, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [µAh] (time) [0.0539823, 0.389382, ..., 19.7849, 19.9538] - icp_event()DataArray{dims=[time: 6], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:6, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:54.000000000, 2020-02-12T20:38:00.000000000, ..., 2020-02-12T21:08:13.000000000, 2020-02-12T21:08:13.000000000] Data: string [dimensionless] (time) ["CHANGE_PERIOD 1 ", "CHANGE_PERIOD 1 ", ..., "STOP_COLLECTION PERIOD 1 GF 18131 RF 18131 GUAH 20.008955 DUR 1813", "END "] - instrument_name()stringSANS2D
Values:
'SANS2D' - is_running()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [1, 1, ..., 1, 0] - is_waiting()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [0, 0, ..., 0, 0] - measurement_id()string𝟙
Values:
'' - measurement_label()string𝟙
Values:
'' - measurement_subid()string𝟙
Values:
'' - measurement_type()string𝟙
Values:
'' - monitor1()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 7.217) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [31, 21, ..., 5, 1954] [31, 21, ..., 5, 1954] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 1 - monitor2()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 17.937) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 2, ..., 1, 5] [0, 2, ..., 1, 5] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 2 - monitor3()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 19.497) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 1, 10] [0, 0, ..., 1, 10] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 3 - monitor4()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 23.281) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [7, 6, ..., 70, 80] [7, 6, ..., 70, 80] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 4 - monitor_sum_1()DataArray{dims=[time: 61], unit=counts, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [counts] (time) [61085, 441037, ..., 22467725, 22660650] - np_ratio()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [dimensionless] (time) [0, 0, ..., 0, 0] - nperiods()int64𝟙1
Values:
array(1) - period()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [1, 1, ..., 1, 1] - period 1()DataArray{dims=[time: 1], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:1, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:54.000000000] Data: bool [dimensionless] (time) [True] - period_change_log()DataArray{dims=[time: 1], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:1, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998] Data: int32 [dimensionless] (time) [1] - period_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [1, 1, ..., 1, 1] - periods()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:54.000000000, 2020-02-12T20:38:00.000000000] Data: int32 [dimensionless] (time) [1, 1] - placeholder monitor_5()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 0) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 0, 0] [0, 0, ..., 0, 0] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 5 - placeholder monitor_6()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 0) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 0, 0] [0, 0, ..., 0, 0] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 6 - placeholder monitor_7()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 0) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 0, 0] [0, 0, ..., 0, 0] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 7 - placeholder monitor_8()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 0) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 0, 0] [0, 0, ..., 0, 0] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 8 - proton_charge()DataArray{dims=[time: 18131], unit=µAh, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: float64 [µAh] (time) [0.00109842, 0.00109842, ..., 0.00109842, 0.00109842] - proton_charge_by_period()Variable<scipp.Variable> (proton_charge_by_period: 1) float64 [dimensionless] [2...
Values:
<scipp.Variable> (proton_charge_by_period: 1) float64 [dimensionless] [20.009] - raw_events_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [600, 599, ..., 530, 586] - raw_frames()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [49, 353, ..., 17928, 18082] - raw_uah_log()DataArray{dims=[time: 61], unit=µAh, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [µAh] (time) [0.0539823, 0.389382, ..., 19.7849, 19.9538] - run_number()string𝟙63114
Values:
'63114' - run_start()string𝟙2020-02-12T20:38:00.888999998
Values:
'2020-02-12T20:38:00.888999998' - run_status()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [2, 2, ..., 2, 1] - run_title()string𝟙hd-DES_10_h-C16EO8_SANS
Values:
'hd-DES_10_h-C16EO8_SANS' - running()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: bool [dimensionless] (time) [True, False] - start_time()string𝟙2020-02-12T20:38:00
Values:
'2020-02-12T20:38:00' - total_counts()DataArray{dims=[time: 61], unit=counts, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [counts] (time) [191221, 1376627, ..., 69894018, 70490414] - veto_log()DataArray{dims=[time: 1], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:1, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998] Data: int32 [dimensionless] (time) [0]
Inspecting the monitor data#
The monitor counts play a major role in normalizing the detector counts. From the two loaded runs, we extract the data from the incident and transmission monitors.
[5]:
monitors = {
'sample-incident': sample.attrs["monitor2"].value,
'sample-transmission': sample.attrs["monitor4"].value,
'direct-incident': direct.attrs["monitor2"].value,
'direct-transmission': direct.attrs["monitor4"].value,
}
The monitor data contains background noise, which should be removed for best results when normalizing. Because incident and transmission monitors are located at different distances along the beamline path, it is more useful to inspect the counts as a function of wavelength instead of time-of-flight.
To compute the wavelength of the neutrons, we use Scipp’s transform_coords
method (see here for more information about using transform_coords
). In order to use transform_coords
, we need to define a coordinate transformation graph. The sans
module provides some pre-defined graphs, one of which is applicable for monitors.
[6]:
monitor_graph = sans.conversions.sans_monitor()
sc.show_graph(monitor_graph, simplified=True)
[6]:
It is then trivial to convert the monitor data to wavelength using
[7]:
monitors = {
key: mon.transform_coords('wavelength', graph=monitor_graph)
for key, mon in monitors.items()
}
We now plot them on the same figure to asses the level of background noise
[8]:
sc.plot(monitors, norm='log', grid=True)
[8]:
From this, we define a wavelength range between 0.7 Å and 17.1 Å where data is not considered to be background.
[9]:
non_background_range = sc.array(
dims=['wavelength'], values=[0.7, 17.1], unit='angstrom'
)
Then, we subtract a mean background value from each monitor, and rebin the data to the wavelength binning defined at the start of the notebook.
[10]:
processed_monitors = sans.i_of_q.preprocess_monitor_data(
monitors, non_background_range=non_background_range, wavelength_bins=wavelength_bins
)
sample_monitors = {
'incident': processed_monitors['sample-incident'],
'transmission': processed_monitors['sample-transmission'],
}
direct_monitors = {
'incident': processed_monitors['direct-incident'],
'transmission': processed_monitors['direct-transmission'],
}
Masking bad detector pixels#
Note: We use programmatic masks here and not those stored in xml files.
Now that the monitor data is cleaned and binned to the correct wavelength range, we turn to the detector data. The first step is to mask noisy and saturated pixels. We mask the edges of the square-shaped detector panel with a simple distance relation. We also mask the region close to the beam center, where the sample holder is visible as a dark patch with an arm extending to the north-east.
[11]:
mask_edges = (
sc.abs(sample.coords['position'].fields.x) > sc.scalar(0.48, unit='m')
) | (sc.abs(sample.coords['position'].fields.y) > sc.scalar(0.45, unit='m'))
summed = sample.sum('tof')
holder_mask = (
(summed.data < sc.scalar(100, unit='counts'))
& (sample.coords['position'].fields.x > sc.scalar(0, unit='m'))
& (sample.coords['position'].fields.x < sc.scalar(0.42, unit='m'))
& (sample.coords['position'].fields.y < sc.scalar(0.05, unit='m'))
& (sample.coords['position'].fields.y > sc.scalar(-0.15, unit='m'))
)
sample.masks['edges'] = mask_edges
sample.masks['holder_mask'] = holder_mask
A good sanity check is to view the masks on the instrument view:
[12]:
scn.instrument_view(sample.hist(), pixel_size=0.0075)
[12]:
Beam center finder#
The beam is not guaranteed to travel through the center of the detector panel, and we thus have to apply a horizontal and vertical offset to our pixel positions so that the beam centre is at x = y = 0
. This is necessary for subsequent azimuthal averaging of the data counts into \(Q\) bins.
The beam_center
utility in the sans
module is designed for this. It requires us to define a \(Q\) range over which convergence will be checked.
[13]:
q_range = sc.linspace('Q', 0.02, 0.3, 71, unit='1/angstrom')
center = sans.beam_center(
data=sample,
data_monitors=sample_monitors,
direct_monitors=direct_monitors,
wavelength_bins=wavelength_bins,
q_bins=q_range,
gravity=gravity,
)
print(center)
# Now shift pixels positions to get the correct beam center
sample.coords['position'] -= center
<scipp.Variable> () vector3 [m] (0.0945643, -0.082074, 0)
We once again use the instrument view to verify the beam center has been found and applied correctly.
[14]:
scn.instrument_view(sample.hist(), pixel_size=0.0075)
[14]:
Coordinate transformation graph#
To compute the wavelength \(\lambda\), the scattering angle \(\theta\), and the \(Q\) vector for our data, we construct a coordinate transformation graph.
It is based on classical conversions from tof
and pixel position
to \(\lambda\) (wavelength
), \(\theta\) (theta
) and \(Q\) (Q
), but takes into account the Earth’s gravitational field, which bends the flight path of the neutrons, to compute the scattering angle \(\theta\).
The angle can be found using the following expression (Seeger & Hjelm 1991)
where \(x\) and \(y\) are the spatial coordinates of the pixels in the horizontal and vertical directions, respectively, \(m_{\rm n}\) is the neutron mass, \(L_{2}\) is the distance between the sample and a detector pixel, \(g\) is the acceleration due to gravity, and \(h\) is Planck’s constant.
The monitors require a slightly different conversion graph, as the flight path of the neutrons hitting them does not scatter through the sample, it links the source to the monitor with a straight line.
The conversion graphs for the detectors and the monitors are defined in the sans
module, and can be obtained via
[15]:
graph = sans.conversions.sans_elastic(gravity=gravity)
sc.show_graph(graph, simplified=True)
[15]:
Convert the data to wavelength#
To convert the sample data to wavelength, we use once again the transform_coords
utility.
[16]:
sample = sample.transform_coords("wavelength", graph=graph)
sample
[16]:
- spectrum: 61440
- wavelength: 1
- L1()float64m19.334
Values:
array(19.334) - L2(spectrum)float64m4.014, 4.014, ..., 4.010, 4.010
Values:
array([4.01430164, 4.01399055, 4.01368048, ..., 4.00935551, 4.0095698 , 4.0097851 ]) - Ltotal(spectrum)float64m23.348, 23.348, ..., 23.344, 23.344
Values:
array([23.34830164, 23.34799055, 23.34768048, ..., 23.34335551, 23.3435698 , 23.3437851 ]) - incident_beam()vector3m[ 0. 0. 19.334]
Values:
array([ 0. , 0. , 19.334]) - pixel_height()float64m0.002033984375
Values:
array(0.00203398) - pixel_width()float64m0.0035
Values:
array(0.0035) - position(spectrum)vector3m[-0.61376428 -0.39887603 23.281 ], [-0.61172631 -0.39887603 23.281 ], ..., [ 0.42259776 0.56502397 23.281 ], [ 0.42463572 0.56502397 23.281 ]
Values:
array([[-0.61376428, -0.39887603, 23.281 ], [-0.61172631, -0.39887603, 23.281 ], [-0.60968835, -0.39887603, 23.281 ], ..., [ 0.42055979, 0.56502397, 23.281 ], [ 0.42259776, 0.56502397, 23.281 ], [ 0.42463572, 0.56502397, 23.281 ]]) - sample_position()vector3m[ 0. 0. 19.334]
Values:
array([ 0. , 0. , 19.334]) - scattered_beam(spectrum)vector3m[-0.61376428 -0.39887603 3.947 ], [-0.61172631 -0.39887603 3.947 ], ..., [0.42259776 0.56502397 3.947 ], [0.42463572 0.56502397 3.947 ]
Values:
array([[-0.61376428, -0.39887603, 3.947 ], [-0.61172631, -0.39887603, 3.947 ], [-0.60968835, -0.39887603, 3.947 ], ..., [ 0.42055979, 0.56502397, 3.947 ], [ 0.42259776, 0.56502397, 3.947 ], [ 0.42463572, 0.56502397, 3.947 ]]) - source_position()vector3m[0. 0. 0.]
Values:
array([0., 0., 0.]) - spectrum(spectrum)int329, 10, ..., 61447, 61448
Values:
array([ 9, 10, 11, ..., 61446, 61447, 61448], dtype=int32) - tof(wavelength [bin-edge])float64µs4.946, 1.000e+05
Values:
array([4.94618082e+00, 1.00005977e+05]) - wavelength(spectrum, wavelength [bin-edge])float64Å0.001, 16.945, ..., 0.001, 16.948
Values:
array([[8.38059224e-04, 1.69445748e+01], [8.38070390e-04, 1.69448006e+01], [8.38081521e-04, 1.69450257e+01], ..., [8.38236797e-04, 1.69481652e+01], [8.38229102e-04, 1.69480096e+01], [8.38221371e-04, 1.69478533e+01]])
- (spectrum, wavelength)DataArrayViewbinned data [len=0, len=0, ..., len=0, len=1]
dim='event', content=DataArray( dims=(event: 6831225), data=float32[counts], coords={'tof':float64[µs], 'pulse_time':datetime64[ns], 'wavelength':float64[Å]})
- edges(spectrum)boolTrue, True, ..., True, True
Values:
array([ True, True, True, ..., True, True, True]) - holder_mask(spectrum)boolFalse, False, ..., False, False
Values:
array([False, False, False, ..., False, False, False])
- Changer()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["IT", "JT"] - Det_Temp_FLB()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [16.8, 16.8, 16.8] - Det_Temp_FLT()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Det_Temp_FRB()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Det_Temp_FRT()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Det_Temp_RLB()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.8, 17.8, 17.8] - Det_Temp_RLT()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Det_Temp_RRB()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.3, 17.3, 17.3] - Det_Temp_RRT()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Fast_Shutter()DataArray{dims=[time: 4], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:4, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:37:42.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T20:38:13.000000000] Data: string [dimensionless] (time) ["OPEN ", "CLOSED", "OPEN ", "OPEN "] - Filename()string𝟙/home/nvaytet/.cache/ess/loki/1/SANS2D00063114.nxs
Values:
'/home/nvaytet/.cache/ess/loki/1/SANS2D00063114.nxs' - Front_Baffle_Z()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [3434.98, 3434.98, 3434.98] - Front_Det_HT()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["True", "True"] - Front_Det_Rot()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-20.0009, -20.0009, -20.0009] - Front_Det_X()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-980.08, -980.08, -980.08] - Front_Det_Z()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [2361.57, 2361.57, 2361.57] - Front_Stop_Rot()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0, 0, 0] - Front_Strip()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [1045, 1045, 1045] - Guide1()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-5.5, -5.5, -5.5] - Guide2()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [263.04, 263.04, 263.04] - Guide3()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-6.7, -6.7, -6.7] - Guide4()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [260.98, 260.98, 260.98] - Guide5()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [265.1, 265.1, 265.1] - Guide_Pressure()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0.083, 0.083, 0.083] - Height()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["top", "top"] - ICP_DAE_TD()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0.6616, 0.6574, ..., -2.545, -2.545] - ICP_SYS_TD()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0.8665, 0.3648, ..., -9.8951, -9.8951] - ID_freq()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [10, 10, 10] - ID_phase()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [99900, 99900, 99900] - JEast()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [153.999, 153.999, 153.999] - JNorth()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [200.999, 200.999, 200.999] - JSouth()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-158.999, -158.999, -158.999] - JWest()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-613.995, -613.995, -613.995] - Julabo_1()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [25.34, 25.34, 25.34] - Julabo_2()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [25.7, 25.7, 25.7] - M3()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["OUT", "OUT"] - M4()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [401, 401, 401] - Main_Shutter()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["OPEN", "OPEN"] - Moderator_Temp()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.58, 17.62, 17.62] - Monitors()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["True", "True"] - Rear_Baffle_Z()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [3647.99, 3647.99, 3647.99] - Rear_Det_HT()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["True", "True"] - Rear_Det_X()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [100.096, 100.096, 100.096] - Rear_Det_Z()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [4002.19, 4002.19, 4002.19] - Rear_Stop2M_Y()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [401, 401, 401] - Rear_Stop3L_Y()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [1134, 1134, 1134] - Rear_Stops_X()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-1190, -1190, -1190] - S1()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [812.923, 812.923, 812.923] - S2()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [817.289, 817.289, 817.289] - S3()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [813.266, 813.266, 813.266] - S4()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [674.019, 674.019, 674.019] - S5()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [539.878, 539.878, 539.878] - S6()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["Medium", "Medium"] - S6_num()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [24.0002, 24.0002, 24.0002] - SECI_OUT_OF_RANGE_BLOCK()DataArray{dims=[time: 24], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:24, ] Coordinates: * time datetime64 [ns] (time) [1727-11-03T20:50:44.-854775808, 1727-11-03T20:50:44.-854775808, ..., 1727-11-03T20:50:44.-854775808, 1727-11-03T20:50:44.-854775808] Data: string [dimensionless] (time) ["Fast_Shutter; ", "NONE_OUT_OF_RANGE", ..., "Fast_Shutter; ", "NONE_OUT_OF_RANGE"] - Sample()DataArray{dims=[time: 5], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:5, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:37:43.000000000, ..., 2020-02-12T20:38:43.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [282.703, 292.723, ..., 311.698, 311.698] - Status()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["SETUP ", "RUNNING"] - Strip()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [1045, 1045, 1045] - TD_freq()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [10, 9.99, 9.99] - TD_phase()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [3000, 3000, 3000] - TEMP1()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [24.78, 24.79, 24.79] - TEMP2()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [24.94, 24.93, 24.93] - Table()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [126.188, 126.188, 126.188] - Tank_Pressure()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0.022, 0.022, 0.022] - count_rate()DataArray{dims=[time: 61], unit=counts, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [counts] (time) [137.131, 143.066, ..., 141.326, 139.411] - current_period()int64𝟙1
Values:
array(1) - dae_beam_current()DataArray{dims=[time: 61], unit=µAh, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [µAh] (time) [38.7278, 40.232, ..., 40.1454, 39.3263] - duration()float64s1813.0
Values:
array(1813.) - end_time()string𝟙2020-02-12T21:08:13
Values:
'2020-02-12T21:08:13' - events_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [600, 599, ..., 530, 586] - experiment_identifier()string𝟙1920676
Values:
'1920676' - frame_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [0, 1, ..., 18129, 18130] - gd_prtn_chrg()float64µAh20.008955001831055
Values:
array(20.008955) - good_frame_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [1, 1, ..., 1, 1] - good_frames()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [49, 353, ..., 17928, 18082] - good_uah_log()DataArray{dims=[time: 61], unit=µAh, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [µAh] (time) [0.0539823, 0.389382, ..., 19.7849, 19.9538] - icp_event()DataArray{dims=[time: 6], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:6, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:54.000000000, 2020-02-12T20:38:00.000000000, ..., 2020-02-12T21:08:13.000000000, 2020-02-12T21:08:13.000000000] Data: string [dimensionless] (time) ["CHANGE_PERIOD 1 ", "CHANGE_PERIOD 1 ", ..., "STOP_COLLECTION PERIOD 1 GF 18131 RF 18131 GUAH 20.008955 DUR 1813", "END "] - instrument_name()stringSANS2D
Values:
'SANS2D' - is_running()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [1, 1, ..., 1, 0] - is_waiting()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [0, 0, ..., 0, 0] - measurement_id()string𝟙
Values:
'' - measurement_label()string𝟙
Values:
'' - measurement_subid()string𝟙
Values:
'' - measurement_type()string𝟙
Values:
'' - monitor1()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 7.217) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [31, 21, ..., 5, 1954] [31, 21, ..., 5, 1954] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 1 - monitor2()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 17.937) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 2, ..., 1, 5] [0, 2, ..., 1, 5] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 2 - monitor3()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 19.497) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 1, 10] [0, 0, ..., 1, 10] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 3 - monitor4()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 23.281) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [7, 6, ..., 70, 80] [7, 6, ..., 70, 80] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 4 - monitor_sum_1()DataArray{dims=[time: 61], unit=counts, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [counts] (time) [61085, 441037, ..., 22467725, 22660650] - np_ratio()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [dimensionless] (time) [0, 0, ..., 0, 0] - nperiods()int64𝟙1
Values:
array(1) - period()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [1, 1, ..., 1, 1] - period 1()DataArray{dims=[time: 1], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:1, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:54.000000000] Data: bool [dimensionless] (time) [True] - period_change_log()DataArray{dims=[time: 1], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:1, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998] Data: int32 [dimensionless] (time) [1] - period_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [1, 1, ..., 1, 1] - periods()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:54.000000000, 2020-02-12T20:38:00.000000000] Data: int32 [dimensionless] (time) [1, 1] - placeholder monitor_5()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 0) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 0, 0] [0, 0, ..., 0, 0] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 5 - placeholder monitor_6()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 0) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 0, 0] [0, 0, ..., 0, 0] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 6 - placeholder monitor_7()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 0) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 0, 0] [0, 0, ..., 0, 0] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 7 - placeholder monitor_8()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 0) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 0, 0] [0, 0, ..., 0, 0] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 8 - proton_charge()DataArray{dims=[time: 18131], unit=µAh, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: float64 [µAh] (time) [0.00109842, 0.00109842, ..., 0.00109842, 0.00109842] - proton_charge_by_period()Variable<scipp.Variable> (proton_charge_by_period: 1) float64 [dimensionless] [2...
Values:
<scipp.Variable> (proton_charge_by_period: 1) float64 [dimensionless] [20.009] - raw_events_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [600, 599, ..., 530, 586] - raw_frames()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [49, 353, ..., 17928, 18082] - raw_uah_log()DataArray{dims=[time: 61], unit=µAh, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [µAh] (time) [0.0539823, 0.389382, ..., 19.7849, 19.9538] - run_number()string𝟙63114
Values:
'63114' - run_start()string𝟙2020-02-12T20:38:00.888999998
Values:
'2020-02-12T20:38:00.888999998' - run_status()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [2, 2, ..., 2, 1] - run_title()string𝟙hd-DES_10_h-C16EO8_SANS
Values:
'hd-DES_10_h-C16EO8_SANS' - running()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: bool [dimensionless] (time) [True, False] - start_time()string𝟙2020-02-12T20:38:00
Values:
'2020-02-12T20:38:00' - total_counts()DataArray{dims=[time: 61], unit=counts, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [counts] (time) [191221, 1376627, ..., 69894018, 70490414] - veto_log()DataArray{dims=[time: 1], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:1, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998] Data: int32 [dimensionless] (time) [0]
Mask Bragg edges in wavelength#
We will now take out the wavelength regions with Bragg peaks from the beam stop and detector window, although in reality the peaks appear only close to the beam stop, and will make little difference to \(I(Q)\).
This could be implemented as masking specific wavelength bins for a specific region in space, but for now we keep it simple.
[17]:
mask = sc.DataArray(
data=sc.array(dims=['wavelength'], values=[True]),
coords={
'wavelength': sc.array(
dims=['wavelength'], values=[2.21, 2.59], unit='angstrom'
)
},
)
masking_args = dict(mask=mask, name='bragg_peaks')
sample = sans.common.mask_range(sample.bin(wavelength=1), **masking_args)
sample.hist(wavelength=200).sum('spectrum').plot()
[17]:
Adding wavelength masks the monitor data#
Because the monitor data is histogrammed (it does not contain events), the wavelength masking is applied slightly differently.
[18]:
sample_monitors = {
key: sans.common.mask_range(mon, **masking_args)
for key, mon in sample_monitors.items()
}
direct_monitors = {
key: sans.common.mask_range(mon, **masking_args)
for key, mon in direct_monitors.items()
}
Compute normalization term#
In a SANS experiment, the scattering cross section \(I(Q)\) is defined as (Heenan et al. 1997)
where \(A_{H}\) is the area of a mask (which avoids saturating the detector) placed between the monitor of area \(A_{M}\) and the main detector. \(\Omega\) is the detector solid angle, and \(C\) is the count rate on the main detector, which depends on the position \(R\) and the wavelength. \(t\) is the sample thickness, \(M\) represents the incident monitor count rate, and \(T\) is known as the transmission fraction. Finally, \(D\) is the ‘direct beam function’, and is defined as
where \(\eta\) and \(\eta_{M}\) are the detector and monitor efficiencies, respectively.
Hence, in order to normalize the main detector counts \(C\), we need compute the transmission fraction \(T(\lambda)\), the direct beam function \(D(\lambda)\) and the solid angle \(\Omega(R)\).
Transmission fraction#
The transmission fraction is computed from the monitor counts. It essentially compares the neutron counts before the sample, and after the sample, to give an absorption profile of the sample as a function of wavelength.
It is defined as the ratio of counts between on the transmission monitor to the counts on the incident monitor for the sample run, multiplied by the inverse ratio for the direct run, i.e.
The transmission fraction is finally computed by using
[19]:
transmission_fraction = sans.normalization.transmission_fraction(
data_monitors=sample_monitors, direct_monitors=direct_monitors
)
transmission_fraction
[19]:
- wavelength: 140
- source_position()vector3m[0. 0. 0.]
Values:
array([0., 0., 0.]) - wavelength(wavelength [bin-edge])float64Å2.0, 2.1, ..., 15.9, 16.0
Values:
array([ 2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3. , 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4. , 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5. , 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6. , 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 6.9, 7. , 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8. , 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9. , 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9, 10. , 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 11. , 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 11.9, 12. , 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 12.8, 12.9, 13. , 13.1, 13.2, 13.3, 13.4, 13.5, 13.6, 13.7, 13.8, 13.9, 14. , 14.1, 14.2, 14.3, 14.4, 14.5, 14.6, 14.7, 14.8, 14.9, 15. , 15.1, 15.2, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9, 16. ])
- (wavelength)float64𝟙0.764, 0.766, ..., 0.522, 0.542σ = 0.003, 0.003, ..., 0.013, 0.014
Values:
array([0.76391776, 0.766273 , 0.75945654, 0.76177845, 0.7565746 , 0.75191773, 0.75279159, 0.75065416, 0.74734966, 0.74561599, 0.74427274, 0.73905097, 0.73822525, 0.73620715, 0.72777709, 0.72585097, 0.72265055, 0.72274008, 0.71677161, 0.7155552 , 0.71468294, 0.71102202, 0.7106236 , 0.70732149, 0.70856554, 0.70303163, 0.70360955, 0.69753309, 0.69571671, 0.68963743, 0.68893576, 0.68943609, 0.68608652, 0.6806546 , 0.67546721, 0.67528134, 0.67043219, 0.67280392, 0.66763699, 0.67420212, 0.66865993, 0.6648653 , 0.66230648, 0.65686444, 0.65996508, 0.65511618, 0.65160582, 0.65289542, 0.64164955, 0.6452154 , 0.65227164, 0.64386016, 0.64173374, 0.64362834, 0.64517438, 0.63739322, 0.63896391, 0.64975745, 0.64000111, 0.63518659, 0.64321352, 0.6355513 , 0.63433948, 0.6394194 , 0.62901257, 0.62492529, 0.63217884, 0.62243466, 0.62614423, 0.62734671, 0.63070854, 0.6298845 , 0.62436274, 0.62569946, 0.62295023, 0.62862204, 0.61882654, 0.62847761, 0.6278613 , 0.61839821, 0.61926601, 0.62192978, 0.59985157, 0.61296052, 0.61320982, 0.60597629, 0.61495558, 0.59921123, 0.6095285 , 0.60626372, 0.59657626, 0.6005854 , 0.59694904, 0.60282915, 0.60575832, 0.5876717 , 0.60262314, 0.5763982 , 0.58129776, 0.58660561, 0.58628169, 0.58892167, 0.5800874 , 0.56582456, 0.56867359, 0.57716061, 0.56973447, 0.58368833, 0.57981539, 0.58325345, 0.56625457, 0.57057897, 0.57383879, 0.56811339, 0.56181626, 0.55314068, 0.54831493, 0.55428805, 0.54876953, 0.54859151, 0.5322606 , 0.53545438, 0.54307047, 0.55271515, 0.53558369, 0.53831531, 0.52266105, 0.54745645, 0.52598559, 0.53199713, 0.53140214, 0.54221782, 0.52793265, 0.52009911, 0.52774506, 0.50761124, 0.52450842, 0.52026475, 0.52220238, 0.5420044 ])
Variances (σ²):
array([8.79696729e-06, 7.15506023e-06, 5.68788280e-06, 4.76489965e-06, 4.07712600e-06, 3.67999826e-06, 3.59245576e-06, 3.60132847e-06, 3.47193064e-06, 3.42467839e-06, 3.43136549e-06, 3.43177072e-06, 3.49130794e-06, 3.56136239e-06, 3.59835820e-06, 3.79098915e-06, 4.01880377e-06, 4.04668200e-06, 4.03927289e-06, 4.15659197e-06, 4.26294945e-06, 4.26519113e-06, 4.35450180e-06, 4.39794094e-06, 4.51525198e-06, 4.59616458e-06, 4.76979804e-06, 4.81467231e-06, 5.00019596e-06, 5.13927004e-06, 5.36406650e-06, 5.62681449e-06, 5.84365653e-06, 6.01963064e-06, 6.23846139e-06, 6.53929508e-06, 6.75495583e-06, 7.15283716e-06, 7.38892382e-06, 7.92264697e-06, 8.17789088e-06, 8.47918771e-06, 8.84976638e-06, 9.11931476e-06, 9.67687416e-06, 1.00209452e-05, 1.03872283e-05, 1.09324350e-05, 1.10804715e-05, 1.17276537e-05, 1.25316311e-05, 1.28063625e-05, 1.32981771e-05, 1.40013208e-05, 1.46724952e-05, 1.50672054e-05, 1.58056291e-05, 1.70390423e-05, 1.72454656e-05, 1.77122056e-05, 1.89100321e-05, 1.93215584e-05, 2.00251125e-05, 2.11918001e-05, 2.13568455e-05, 2.19582715e-05, 2.34151743e-05, 2.36342085e-05, 2.48951232e-05, 2.59480046e-05, 2.72166119e-05, 2.82465058e-05, 2.88067303e-05, 3.00343002e-05, 3.10404202e-05, 3.28098271e-05, 3.29315483e-05, 3.52218576e-05, 3.67319777e-05, 3.69620656e-05, 3.83038218e-05, 4.02186309e-05, 3.90048821e-05, 4.21007795e-05, 4.34551057e-05, 4.41645036e-05, 4.70807479e-05, 4.64517813e-05, 4.97209347e-05, 5.08894551e-05, 5.07876598e-05, 5.33272583e-05, 5.48019321e-05, 5.77673893e-05, 5.99396923e-05, 5.87386968e-05, 6.35781910e-05, 6.07090647e-05, 6.37311888e-05, 6.70701900e-05, 6.94646997e-05, 7.19747971e-05, 7.25585666e-05, 7.11258349e-05, 7.45255877e-05, 7.93112936e-05, 7.97165691e-05, 8.64980689e-05, 8.86552193e-05, 9.14398195e-05, 8.92115606e-05, 9.27227949e-05, 9.76039963e-05, 9.94279777e-05, 9.99225705e-05, 9.99537241e-05, 1.00964983e-04, 1.07124066e-04, 1.09267006e-04, 1.11325444e-04, 1.08947834e-04, 1.13129722e-04, 1.20218624e-04, 1.28454043e-04, 1.24196546e-04, 1.29556116e-04, 1.25567842e-04, 1.41515718e-04, 1.35306304e-04, 1.41887954e-04, 1.46931864e-04, 1.57046560e-04, 1.53765921e-04, 1.52477178e-04, 1.63945914e-04, 1.55010687e-04, 1.69764604e-04, 1.71806598e-04, 1.80965050e-04, 1.98805895e-04])
- bragg_peaks(wavelength)boolFalse, False, ..., False, False
Values:
array([False, False, True, True, True, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False])
- instrument_name()stringSANS2D
Values:
'SANS2D' - sample_position()vector3m[ 0. 0. 19.281]
Values:
array([ 0. , 0. , 19.281])
[20]:
transmission_fraction.plot()
[20]:
Direct beam function#
The direct beam function is a parameter of the instrument that is well-known to the instrument scientist, and does not vary much over time. It is usually stored in a file, and updated a small number of times per year.
Here, we use the direct beam function for the SANS2D instrument from file (loaded at the top of the notebook), and perform an interpolation so that it spans the same wavelength range as the one requested at the top of the notebook.
[21]:
direct_beam = sans.i_of_q.resample_direct_beam(
direct_beam=direct_beam, wavelength_bins=wavelength_bins
)
sc.plot(direct_beam)
[2024-04-03T11:19:55+0000] WARNING <scipp.ess.sans> :
An interpolation was performed on the direct_beam function. The variances in the direct_beam function have been dropped.
[21]:
The denominator term#
We combine all the terms above to compute the denominator
.
Note:
Heybrock et al. (2023) describe how broadcasting operations introduce correlations which are not tracked by Scipp’s uncertainty propagation. In the normalization term above, multiplying \(M(\lambda)T(\lambda)D(\lambda)\) (wavelength dependent) by the solid angle \(\Omega(R)\) (pixel dependent) is such a broadcasting operation. The article however states that for normalization operations, under the limit where the counts of the numerator a much smaller than that of the denominator, dropping the variances of the denominator is a satisfactory approximation.
The helper function below internally calculates the solid angles of the detector pixels \(\Omega(R)\), and performs a verification that our data satisfies that condition.
We are not able to perform this check earlier in the workflow, because the verification involves comparing integrated counts, and the integration needs to be performed over the same wavelength range for both the monitors and the detector counts. To be able to compute the wavelengths of the detector data, we needed to first run the beam center finder.
[22]:
denominator = sans.normalization.iofq_denominator(
data=sample,
data_transmission_monitor=sample_monitors['transmission'],
direct_incident_monitor=direct_monitors['incident'],
direct_transmission_monitor=direct_monitors['transmission'],
direct_beam=direct_beam,
)
# Insert a copy of coords needed for conversion to Q.
# TODO: can this be avoided by copying the Q coords from the converted numerator?
for coord in ['position', 'sample_position', 'source_position']:
denominator.coords[coord] = sample.coords[coord]
denominator
[22]:
- spectrum: 61440
- wavelength: 140
- position(spectrum)vector3m[-0.61376428 -0.39887603 23.281 ], [-0.61172631 -0.39887603 23.281 ], ..., [ 0.42259776 0.56502397 23.281 ], [ 0.42463572 0.56502397 23.281 ]
Values:
array([[-0.61376428, -0.39887603, 23.281 ], [-0.61172631, -0.39887603, 23.281 ], [-0.60968835, -0.39887603, 23.281 ], ..., [ 0.42055979, 0.56502397, 23.281 ], [ 0.42259776, 0.56502397, 23.281 ], [ 0.42463572, 0.56502397, 23.281 ]]) - sample_position()vector3m[ 0. 0. 19.334]
Values:
array([ 0. , 0. , 19.334]) - source_position()vector3m[0. 0. 0.]
Values:
array([0., 0., 0.]) - wavelength(wavelength)float64Å2.05, 2.150, ..., 15.850, 15.95
Values:
array([ 2.05, 2.15, 2.25, 2.35, 2.45, 2.55, 2.65, 2.75, 2.85, 2.95, 3.05, 3.15, 3.25, 3.35, 3.45, 3.55, 3.65, 3.75, 3.85, 3.95, 4.05, 4.15, 4.25, 4.35, 4.45, 4.55, 4.65, 4.75, 4.85, 4.95, 5.05, 5.15, 5.25, 5.35, 5.45, 5.55, 5.65, 5.75, 5.85, 5.95, 6.05, 6.15, 6.25, 6.35, 6.45, 6.55, 6.65, 6.75, 6.85, 6.95, 7.05, 7.15, 7.25, 7.35, 7.45, 7.55, 7.65, 7.75, 7.85, 7.95, 8.05, 8.15, 8.25, 8.35, 8.45, 8.55, 8.65, 8.75, 8.85, 8.95, 9.05, 9.15, 9.25, 9.35, 9.45, 9.55, 9.65, 9.75, 9.85, 9.95, 10.05, 10.15, 10.25, 10.35, 10.45, 10.55, 10.65, 10.75, 10.85, 10.95, 11.05, 11.15, 11.25, 11.35, 11.45, 11.55, 11.65, 11.75, 11.85, 11.95, 12.05, 12.15, 12.25, 12.35, 12.45, 12.55, 12.65, 12.75, 12.85, 12.95, 13.05, 13.15, 13.25, 13.35, 13.45, 13.55, 13.65, 13.75, 13.85, 13.95, 14.05, 14.15, 14.25, 14.35, 14.45, 14.55, 14.65, 14.75, 14.85, 14.95, 15.05, 15.15, 15.25, 15.35, 15.45, 15.55, 15.65, 15.75, 15.85, 15.95])
- (spectrum, wavelength)float64counts0.024, 0.026, ..., 7.937e-05, 8.015e-05
Values:
array([[2.44177242e-02, 2.61359695e-02, 2.27432927e-02, ..., 8.31309285e-05, 7.91920847e-05, 7.99707475e-05], [2.44215091e-02, 2.61400208e-02, 2.27468181e-02, ..., 8.31438145e-05, 7.92043601e-05, 7.99831436e-05], [2.44252826e-02, 2.61440599e-02, 2.27503328e-02, ..., 8.31566615e-05, 7.92165985e-05, 7.99955023e-05], ..., [2.44780070e-02, 2.62004944e-02, 2.27994417e-02, ..., 8.33361634e-05, 7.93875954e-05, 8.01681806e-05], [2.44753907e-02, 2.61976940e-02, 2.27970048e-02, ..., 8.33272562e-05, 7.93791101e-05, 8.01596119e-05], [2.44727624e-02, 2.61948807e-02, 2.27945566e-02, ..., 8.33183078e-05, 7.93705857e-05, 8.01510037e-05]])
- bragg_peaks(wavelength)boolFalse, False, ..., False, False
Values:
array([False, False, True, True, True, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]) - edges(spectrum)boolTrue, True, ..., True, True
Values:
array([ True, True, True, ..., True, True, True]) - holder_mask(spectrum)boolFalse, False, ..., False, False
Values:
array([False, False, False, ..., False, False, False])
[23]:
sc.plot(denominator.sum('spectrum'), norm='log')
[23]:
Convert to Q#
Using the coordinate transformation graph as above, we can compute the momentum vector \(Q\), and then merge all the events in the detector pixel bins, so as to obtain an intensity that depends only on \(Q\).
This is done with the convert_to_q_and_merge_spectra
helper.
[24]:
wavelength_bands = sc.concat(
[wavelength_bins.min(), wavelength_bins.max()], dim='wavelength'
)
[25]:
sample_q = sans.i_of_q.convert_to_q_and_merge_spectra(
data=sample,
graph=graph,
wavelength_bands=wavelength_bands,
q_bins=q_bins,
gravity=gravity,
)
[26]:
sc.plot(sample_q.hist(), norm='log')
[26]:
Convert denominator to Q#
Converting the denominator to \(Q\) is achieved in the same way
[27]:
denominator_q = sans.i_of_q.convert_to_q_and_merge_spectra(
data=denominator,
graph=graph,
wavelength_bands=wavelength_bands,
q_bins=q_bins,
gravity=gravity,
)
sc.plot(denominator_q, norm='log')
[27]:
Normalize the sample#
Finally, we normalize the sample with the denominator as a function of \(Q\).
[28]:
sample_normalized = sans.normalization.normalize(
numerator=sample_q, denominator=denominator_q
)
sample_normalized
[28]:
- Q: 140
- L1()float64m19.334
Values:
array(19.334) - Q(Q [bin-edge])float641/Å0.01, 0.014, ..., 0.596, 0.6
Values:
array([0.01 , 0.01421429, 0.01842857, 0.02264286, 0.02685714, 0.03107143, 0.03528571, 0.0395 , 0.04371429, 0.04792857, 0.05214286, 0.05635714, 0.06057143, 0.06478571, 0.069 , 0.07321429, 0.07742857, 0.08164286, 0.08585714, 0.09007143, 0.09428571, 0.0985 , 0.10271429, 0.10692857, 0.11114286, 0.11535714, 0.11957143, 0.12378571, 0.128 , 0.13221429, 0.13642857, 0.14064286, 0.14485714, 0.14907143, 0.15328571, 0.1575 , 0.16171429, 0.16592857, 0.17014286, 0.17435714, 0.17857143, 0.18278571, 0.187 , 0.19121429, 0.19542857, 0.19964286, 0.20385714, 0.20807143, 0.21228571, 0.2165 , 0.22071429, 0.22492857, 0.22914286, 0.23335714, 0.23757143, 0.24178571, 0.246 , 0.25021429, 0.25442857, 0.25864286, 0.26285714, 0.26707143, 0.27128571, 0.2755 , 0.27971429, 0.28392857, 0.28814286, 0.29235714, 0.29657143, 0.30078571, 0.305 , 0.30921429, 0.31342857, 0.31764286, 0.32185714, 0.32607143, 0.33028571, 0.3345 , 0.33871429, 0.34292857, 0.34714286, 0.35135714, 0.35557143, 0.35978571, 0.364 , 0.36821429, 0.37242857, 0.37664286, 0.38085714, 0.38507143, 0.38928571, 0.3935 , 0.39771429, 0.40192857, 0.40614286, 0.41035714, 0.41457143, 0.41878571, 0.423 , 0.42721429, 0.43142857, 0.43564286, 0.43985714, 0.44407143, 0.44828571, 0.4525 , 0.45671429, 0.46092857, 0.46514286, 0.46935714, 0.47357143, 0.47778571, 0.482 , 0.48621429, 0.49042857, 0.49464286, 0.49885714, 0.50307143, 0.50728571, 0.5115 , 0.51571429, 0.51992857, 0.52414286, 0.52835714, 0.53257143, 0.53678571, 0.541 , 0.54521429, 0.54942857, 0.55364286, 0.55785714, 0.56207143, 0.56628571, 0.5705 , 0.57471429, 0.57892857, 0.58314286, 0.58735714, 0.59157143, 0.59578571, 0.6 ]) - gravity()vector3m/s^2[ 0. -9.80665 0. ]
Values:
array([ 0. , -9.80665, 0. ]) - incident_beam()vector3m[ 0. 0. 19.334]
Values:
array([ 0. , 0. , 19.334]) - pixel_height()float64m0.002033984375
Values:
array(0.00203398) - pixel_width()float64m0.0035
Values:
array(0.0035) - sample_position()vector3m[ 0. 0. 19.334]
Values:
array([ 0. , 0. , 19.334]) - source_position()vector3m[0. 0. 0.]
Values:
array([0., 0., 0.]) - wavelength(wavelength)float64Å2.0, 16.0
Values:
array([ 2., 16.])
- (Q)DataArrayViewbinned data [len=20757, len=36096, ..., len=3, len=2]
dim='event', content=DataArray( dims=(event: 6058857), data=float32[dimensionless], coords={'tof':float64[µs], 'pulse_time':datetime64[ns], 'wavelength':float64[Å], 'two_theta':float64[rad], 'Q':float64[1/Å]})
- Changer()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["IT", "JT"] - Det_Temp_FLB()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [16.8, 16.8, 16.8] - Det_Temp_FLT()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Det_Temp_FRB()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Det_Temp_FRT()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Det_Temp_RLB()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.8, 17.8, 17.8] - Det_Temp_RLT()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Det_Temp_RRB()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.3, 17.3, 17.3] - Det_Temp_RRT()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.4, 17.4, 17.4] - Fast_Shutter()DataArray{dims=[time: 4], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:4, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:37:42.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T20:38:13.000000000] Data: string [dimensionless] (time) ["OPEN ", "CLOSED", "OPEN ", "OPEN "] - Filename()string𝟙/home/nvaytet/.cache/ess/loki/1/SANS2D00063114.nxs
Values:
'/home/nvaytet/.cache/ess/loki/1/SANS2D00063114.nxs' - Front_Baffle_Z()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [3434.98, 3434.98, 3434.98] - Front_Det_HT()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["True", "True"] - Front_Det_Rot()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-20.0009, -20.0009, -20.0009] - Front_Det_X()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-980.08, -980.08, -980.08] - Front_Det_Z()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [2361.57, 2361.57, 2361.57] - Front_Stop_Rot()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0, 0, 0] - Front_Strip()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [1045, 1045, 1045] - Guide1()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-5.5, -5.5, -5.5] - Guide2()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [263.04, 263.04, 263.04] - Guide3()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-6.7, -6.7, -6.7] - Guide4()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [260.98, 260.98, 260.98] - Guide5()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [265.1, 265.1, 265.1] - Guide_Pressure()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0.083, 0.083, 0.083] - Height()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["top", "top"] - ICP_DAE_TD()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0.6616, 0.6574, ..., -2.545, -2.545] - ICP_SYS_TD()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0.8665, 0.3648, ..., -9.8951, -9.8951] - ID_freq()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [10, 10, 10] - ID_phase()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [99900, 99900, 99900] - JEast()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [153.999, 153.999, 153.999] - JNorth()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [200.999, 200.999, 200.999] - JSouth()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-158.999, -158.999, -158.999] - JWest()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-613.995, -613.995, -613.995] - Julabo_1()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [25.34, 25.34, 25.34] - Julabo_2()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [25.7, 25.7, 25.7] - M3()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["OUT", "OUT"] - M4()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [401, 401, 401] - Main_Shutter()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["OPEN", "OPEN"] - Moderator_Temp()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [17.58, 17.62, 17.62] - Monitors()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["True", "True"] - Rear_Baffle_Z()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [3647.99, 3647.99, 3647.99] - Rear_Det_HT()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["True", "True"] - Rear_Det_X()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [100.096, 100.096, 100.096] - Rear_Det_Z()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [4002.19, 4002.19, 4002.19] - Rear_Stop2M_Y()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [401, 401, 401] - Rear_Stop3L_Y()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [1134, 1134, 1134] - Rear_Stops_X()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [-1190, -1190, -1190] - S1()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [812.923, 812.923, 812.923] - S2()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [817.289, 817.289, 817.289] - S3()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [813.266, 813.266, 813.266] - S4()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [674.019, 674.019, 674.019] - S5()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [539.878, 539.878, 539.878] - S6()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["Medium", "Medium"] - S6_num()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [24.0002, 24.0002, 24.0002] - SECI_OUT_OF_RANGE_BLOCK()DataArray{dims=[time: 24], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:24, ] Coordinates: * time datetime64 [ns] (time) [1727-11-03T20:50:44.-854775808, 1727-11-03T20:50:44.-854775808, ..., 1727-11-03T20:50:44.-854775808, 1727-11-03T20:50:44.-854775808] Data: string [dimensionless] (time) ["Fast_Shutter; ", "NONE_OUT_OF_RANGE", ..., "Fast_Shutter; ", "NONE_OUT_OF_RANGE"] - Sample()DataArray{dims=[time: 5], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:5, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:37:43.000000000, ..., 2020-02-12T20:38:43.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [282.703, 292.723, ..., 311.698, 311.698] - Status()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000] Data: string [dimensionless] (time) ["SETUP ", "RUNNING"] - Strip()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [1045, 1045, 1045] - TD_freq()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [10, 9.99, 9.99] - TD_phase()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [3000, 3000, 3000] - TEMP1()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [24.78, 24.79, 24.79] - TEMP2()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [24.94, 24.93, 24.93] - Table()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [126.188, 126.188, 126.188] - Tank_Pressure()DataArray{dims=[time: 3], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:3, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:41.000000000, 2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: float64 [dimensionless] (time) [0.022, 0.022, 0.022] - count_rate()DataArray{dims=[time: 61], unit=counts, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [counts] (time) [137.131, 143.066, ..., 141.326, 139.411] - current_period()int64𝟙1
Values:
array(1) - dae_beam_current()DataArray{dims=[time: 61], unit=µAh, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [µAh] (time) [38.7278, 40.232, ..., 40.1454, 39.3263] - duration()float64s1813.0
Values:
array(1813.) - end_time()string𝟙2020-02-12T21:08:13
Values:
'2020-02-12T21:08:13' - events_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [600, 599, ..., 530, 586] - experiment_identifier()string𝟙1920676
Values:
'1920676' - frame_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [0, 1, ..., 18129, 18130] - gd_prtn_chrg()float64µAh20.008955001831055
Values:
array(20.008955) - good_frame_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [1, 1, ..., 1, 1] - good_frames()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [49, 353, ..., 17928, 18082] - good_uah_log()DataArray{dims=[time: 61], unit=µAh, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [µAh] (time) [0.0539823, 0.389382, ..., 19.7849, 19.9538] - icp_event()DataArray{dims=[time: 6], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:6, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:54.000000000, 2020-02-12T20:38:00.000000000, ..., 2020-02-12T21:08:13.000000000, 2020-02-12T21:08:13.000000000] Data: string [dimensionless] (time) ["CHANGE_PERIOD 1 ", "CHANGE_PERIOD 1 ", ..., "STOP_COLLECTION PERIOD 1 GF 18131 RF 18131 GUAH 20.008955 DUR 1813", "END "] - instrument_name()stringSANS2D
Values:
'SANS2D' - is_running()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [1, 1, ..., 1, 0] - is_waiting()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [0, 0, ..., 0, 0] - measurement_id()string𝟙
Values:
'' - measurement_label()string𝟙
Values:
'' - measurement_subid()string𝟙
Values:
'' - measurement_type()string𝟙
Values:
'' - monitor1()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 7.217) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [31, 21, ..., 5, 1954] [31, 21, ..., 5, 1954] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 1 - monitor2()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 17.937) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 2, ..., 1, 5] [0, 2, ..., 1, 5] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 2 - monitor3()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 19.497) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 1, 10] [0, 0, ..., 1, 10] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 3 - monitor4()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 23.281) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [7, 6, ..., 70, 80] [7, 6, ..., 70, 80] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 4 - monitor_sum_1()DataArray{dims=[time: 61], unit=counts, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [counts] (time) [61085, 441037, ..., 22467725, 22660650] - np_ratio()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [dimensionless] (time) [0, 0, ..., 0, 0] - nperiods()int64𝟙1
Values:
array(1) - period()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [1, 1, ..., 1, 1] - period 1()DataArray{dims=[time: 1], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:1, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:54.000000000] Data: bool [dimensionless] (time) [True] - period_change_log()DataArray{dims=[time: 1], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:1, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998] Data: int32 [dimensionless] (time) [1] - period_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [1, 1, ..., 1, 1] - periods()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:37:54.000000000, 2020-02-12T20:38:00.000000000] Data: int32 [dimensionless] (time) [1, 1] - placeholder monitor_5()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 0) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 0, 0] [0, 0, ..., 0, 0] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 5 - placeholder monitor_6()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 0) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 0, 0] [0, 0, ..., 0, 0] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 6 - placeholder monitor_7()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 0) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 0, 0] [0, 0, ..., 0, 0] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 7 - placeholder monitor_8()DataArray{dims=[tof: 481], unit=counts, coords=[tof, position, source_position]}
Values:
<scipp.DataArray> Dimensions: Sizes[tof:481, ] Coordinates: * position vector3 [m] () (0, 0, 0) * source_position vector3 [m] () (0, 0, 0) * tof float64 [µs] (tof [bin-edge]) [5.5, 50, ..., 99750, 100005] Data: float64 [counts] (tof) [0, 0, ..., 0, 0] [0, 0, ..., 0, 0] Attributes: instrument_name string <no unit> () "SANS2D" sample_position vector3 [m] () (0, 0, 19.281) spectrum int32 <no unit> () 8 - proton_charge()DataArray{dims=[time: 18131], unit=µAh, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: float64 [µAh] (time) [0.00109842, 0.00109842, ..., 0.00109842, 0.00109842] - proton_charge_by_period()Variable<scipp.Variable> (proton_charge_by_period: 1) float64 [dimensionless] [2...
Values:
<scipp.Variable> (proton_charge_by_period: 1) float64 [dimensionless] [20.009] - raw_events_log()DataArray{dims=[time: 18131], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:18131, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998, 2020-02-12T20:38:00.989000022, ..., 2020-02-12T21:08:13.786010742, 2020-02-12T21:08:13.885986328] Data: int32 [dimensionless] (time) [600, 599, ..., 530, 586] - raw_frames()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [49, 353, ..., 17928, 18082] - raw_uah_log()DataArray{dims=[time: 61], unit=µAh, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: float64 [µAh] (time) [0.0539823, 0.389382, ..., 19.7849, 19.9538] - run_number()string𝟙63114
Values:
'63114' - run_start()string𝟙2020-02-12T20:38:00.888999998
Values:
'2020-02-12T20:38:00.888999998' - run_status()DataArray{dims=[time: 61], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [dimensionless] (time) [2, 2, ..., 2, 1] - run_title()string𝟙hd-DES_10_h-C16EO8_SANS
Values:
'hd-DES_10_h-C16EO8_SANS' - running()DataArray{dims=[time: 2], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:2, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.000000000, 2020-02-12T21:08:13.000000000] Data: bool [dimensionless] (time) [True, False] - start_time()string𝟙2020-02-12T20:38:00
Values:
'2020-02-12T20:38:00' - total_counts()DataArray{dims=[time: 61], unit=counts, coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:61, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:05.000000000, 2020-02-12T20:38:36.000000000, ..., 2020-02-12T21:07:53.000000000, 2020-02-12T21:08:14.000000000] Data: int32 [counts] (time) [191221, 1376627, ..., 69894018, 70490414] - veto_log()DataArray{dims=[time: 1], coords=[time]}
Values:
<scipp.DataArray> Dimensions: Sizes[time:1, ] Coordinates: * time datetime64 [ns] (time) [2020-02-12T20:38:00.888999998] Data: int32 [dimensionless] (time) [0]
[29]:
sc.plot(sample_normalized.hist())
/home/runner/micromamba/envs/ess-developer/lib/python3.8/site-packages/matplotlib/axes/_axes.py:3642: RuntimeWarning: invalid value encountered in add
low, high = dep + np.row_stack([-(1 - lolims), 1 - uplims]) * err
[29]:
References#
Heenan R. K., Penfold J., King S. M., 1997, SANS at Pulsed Neutron Sources: Present and Future Prospects, J. Appl. Cryst., 30, 1140-1147
Heybrock S., Wynen J.-L., Vaytet N., 2023, Systematic underestimation of uncertainties by widespread neutron-scattering data-reduction software, Journal of Neutron Research
Manasi I., Andalibi M. R., Atri R. S., Hooton J., King S. M., Edler K. J., 2021, Self-assembly of ionic and non-ionic surfactants in type IV cerium nitrate and urea based deep eutectic solvent, J. Chem. Phys. 155, 084902
Seeger P. A., Hjelm R. P. Jnr, 1991, Small-angle neutron scattering at pulsed spallation sources, J. Appl. Cryst., 24, 467-478