ReflectometryISISLoadAndProcess v1

../_images/ReflectometryISISLoadAndProcess-v1_dlg.png

ReflectometryISISLoadAndProcess dialog.

Summary

Reduce ISIS reflectometry data, including optional loading and summing/slicing of the input runs.

Properties

Name Direction Type Default Description
InputRunList Input str list Mandatory A list of run numbers or workspace names for the input runs. Multiple runs will be summed before reduction.
FirstTransmissionRunList Input str list   A list of run numbers or workspace names for the first transmission run. Multiple runs will be summed before reduction.
SecondTransmissionRunList Input str list   A list of run numbers or workspace names for the second transmission run. Multiple runs will be summed before reduction.
SliceWorkspace Input boolean False If true, slice the input workspace
TimeInterval Input dbl list   Array for lengths of time intervals for splitters. If the array is empty, then there will be one splitter created from StartTime and StopTime. If the array has one value, then all splitters will have same time intervals. If the size of the array is larger than one, then the splitters can have various time interval values.
LogName Input string   Name of the sample log to use to filter. For example, the pulse charge is recorded in ‘ProtonCharge’.
LogValueInterval Input number Optional Delta of log value to be sliced into from min log value and max log value. If not given, then only value
NumberOfSlices Input number Optional The number of uniform-length slices to slice the input workspace into
ThetaIn Input number Optional Angle in degrees
ThetaLogName Input string   The name ThetaIn can be found in the run log as
SummationType Input string SumInLambda The type of summation to perform. Allowed values: [‘SumInLambda’, ‘SumInQ’]
ReductionType Input string Normal The type of reduction to perform when summing in Q. Allowed values: [‘Normal’, ‘DivergentBeam’, ‘NonFlatSample’]
IncludePartialBins Input boolean False If true then partial bins at the beginning and end of the output range are included
AnalysisMode Input string PointDetectorAnalysis Analysis mode. This property is only used when ProcessingInstructions is not set. Allowed values: [‘PointDetectorAnalysis’, ‘MultiDetectorAnalysis’]
ProcessingInstructions Input string   Grouping pattern of spectrum numbers to yield only the detectors of interest. See GroupDetectors for syntax.
CorrectDetectors Input boolean True Moves detectors to twoTheta if ThetaIn or ThetaLogName is given
DetectorCorrectionType Input string VerticalShift When correcting detector positions, this determines whether detectorsshould be shifted vertically or rotated around the sample position. Allowed values: [‘RotateAroundSample’, ‘VerticalShift’]
WavelengthMin Input number Optional Wavelength Min in angstroms
WavelengthMax Input number Optional Wavelength Max in angstroms
I0MonitorIndex Input number Optional I0 monitor workspace index
MonitorBackgroundWavelengthMin Input number Optional Wavelength minimum for monitor background subtraction in angstroms.
MonitorBackgroundWavelengthMax Input number Optional Wavelength maximum for monitor background subtraction in angstroms.
MonitorIntegrationWavelengthMin Input number Optional Wavelength minimum for integration in angstroms.
MonitorIntegrationWavelengthMax Input number Optional Wavelength maximum for integration in angstroms.
NormalizeByIntegratedMonitors Input boolean True Normalize by dividing by the integrated monitors.
Params Input dbl list   A comma separated list of first bin boundary, width, last bin boundary. These parameters are used for stitching together transmission runs. Values are in wavelength (angstroms). This input is only needed if a SecondTransmission run is provided.
StartOverlap Input number Optional Start wavelength for stitching transmission runs together. Only used if a second transmission run is provided.
EndOverlap Input number Optional End wavelength (angstroms) for stitching transmission runs together. Only used if a second transmission run is provided.
ScaleRHSWorkspace Input boolean True Scale the right-hand-side or left-hand-side workspace. Only used if a second transmission run is provided.
TransmissionProcessingInstructions Input string   These processing instructions will be passed to the transmission workspace algorithm
CorrectionAlgorithm Input string AutoDetect The type of correction to perform. Allowed values: [‘None’, ‘AutoDetect’, ‘PolynomialCorrection’, ‘ExponentialCorrection’]
Polynomial Input dbl list   Coefficients to be passed to the PolynomialCorrection algorithm.
C0 Input number 0 C0 value to be passed to the ExponentialCorrection algorithm.
C1 Input number 0 C1 value to be passed to the ExponentialCorrection algorithm.
MomentumTransferMin Input number Optional Minimum Q value in IvsQ Workspace. Used for Rebinning the IvsQ Workspace
MomentumTransferStep Input number Optional Resolution value in IvsQ Workspace. Used for Rebinning the IvsQ Workspace. This value will be made minus to apply logarithmic rebinning. If you wish to have linear bin-widths then please provide a negative value.
MomentumTransferMax Input number Optional Maximum Q value in IvsQ Workspace. Used for Rebinning the IvsQ Workspace
ScaleFactor Input number Optional Factor you wish to scale Q workspace by.
PolarizationAnalysis Input boolean False Apply polarization corrections
FloodCorrection Input string Workspace The way to apply flood correction: Workspace - use FloodWorkspace property to get the flood workspace, ParameterFile - use parameters in the parameter file to construct and apply flood correction workspace. Allowed values: [‘Workspace’, ‘ParameterFile’]
FloodWorkspace Input MatrixWorkspace   A flood workspace to apply; if empty and FloodCorrection is ‘Workspace’ then no correction is applied.
Debug Input boolean False Whether to enable the output of extra workspaces.
GroupTOFWorkspaces Input boolean True If true, group the input TOF workspace
ReloadInvalidWorkspaces Input boolean True If true, reload input workspaces if they are of the incorrect type
OutputWorkspace Output Workspace   The output workspace, or workspace group if sliced.
OutputWorkspaceBinned Output Workspace   The binned output workspace, or workspace group if sliced.
OutputWorkspaceWavelength Output Workspace   The output workspace in wavelength, or workspace group if sliced.

ReflectometryISISLoadAndProcess

This algorithm performs full preparation and processing for a single run or combined set of runs in an ISIS reflectometry reduction. Note that a set of runs here is a set that will be combined prior to reduction (it does not deal with a group of runs that will be post-processed after reduction). This algorithm is primarily aimed at reducing a single row in the table on the ISIS Reflectometry interface.

The steps this algorithm performs are:

  • Ensure the required workspaces are loaded.
  • Optionally sum multiple runs into a single input run prior to reduction.
  • Optionally sum multiple transmission runs into a single input prior to reduction.
  • Optionally perform time-slicing of the input run.
  • Validate that the workspaces are the correct type.
  • Run ReflectometryReductionOneAuto to perform the reduction.
  • Group the TOF workspaces into a group called TOF

Input runs and transmission runs are loaded if required, or existing workspaces are used if they are already in the ADS. When runs are loaded, they are named based on the run number with a TOF_ or TRANS_ prefix. To determine whether workspaces are already in the ADS, workspace names are matched based on the run number with or without this prefix. Other naming formats are not considered to match.

Input runs can be combined before reduction by supplying a comma-separated list of run numbers. They will be summed using the Plus v1 algorithm. Similarly, multiple input runs for the first and/or second transmission workspace inputs can be summed prior to reduction.

For time slicing, the input run must be an event workspace. If the workspace for the run already exists in the ADS but is the incorrect type, or does not have monitors loaded, it will be reloaded.

Input properties for the reduction are the same as those for ReflectometryReductionOneAuto v3.

Usage

Note

To run these usage examples please first download the usage data, and add these to your path. In MantidPlot this is done using Manage User Directories.

Example: Run reduction on a single run

ReflectometryISISLoadAndProcess(InputRunList='INTER13460')
names = mtd.getObjectNames()
names.sort()
print('Workspaces in the ADS after reduction: {}'.format(names))

Output:

Workspaces in the ADS after reduction: ['IvsQ_13460', 'IvsQ_binned_13460', 'TOF', 'TOF_13460']

Example: Sum multiple input runs

ReflectometryISISLoadAndProcess(InputRunList='INTER13460, INTER13462')
names = mtd.getObjectNames()
names.sort()
print('Workspaces in the ADS after reduction: {}'.format(names))

Output:

Workspaces in the ADS after reduction: ['IvsQ_13460+13462', 'IvsQ_binned_13460+13462', 'TOF', 'TOF_13460', 'TOF_13460+13462', 'TOF_13462']

Example: Sum multiple transmission runs into a single input

ReflectometryISISLoadAndProcess(InputRunList='INTER13460',FirstTransmissionRunList='INTER13463,INTER13464')
names = mtd.getObjectNames()
names.sort()
print('Workspaces in the ADS after reduction: {}'.format(names))

Output:

Workspaces in the ADS after reduction: ['IvsQ_13460', 'IvsQ_binned_13460', 'TOF', 'TOF_13460', 'TRANS_13463', 'TRANS_13463+13464', 'TRANS_13464', 'TRANS_LAM_13463+13464']

Example: Two separate transmission run inputs

ReflectometryISISLoadAndProcess(InputRunList='INTER13460',FirstTransmissionRunList='INTER13463',
                                SecondTransmissionRunList='INTER13464')
names = mtd.getObjectNames()
names.sort()
print('Workspaces in the ADS after reduction: {}'.format(names))

Output:

Workspaces in the ADS after reduction: ['IvsQ_13460', 'IvsQ_binned_13460', 'TOF', 'TOF_13460', 'TRANS_13463', 'TRANS_13464', 'TRANS_LAM_13463_13464']

Example: Slice input run

ReflectometryISISLoadAndProcess(InputRunList='INTER38415', SliceWorkspace=True, TimeInterval=210)
names = mtd.getObjectNames()
names.sort()
print('Workspaces in the ADS after reduction: {}'.format(names))

Output:

Workspaces in the ADS after reduction: ['IvsLam_38415', 'IvsLam_38415_sliced_0_210', 'IvsLam_38415_sliced_210_420', 'IvsLam_38415_sliced_420_610', 'IvsQ_38415', 'IvsQ_38415_sliced_0_210', 'IvsQ_38415_sliced_210_420', 'IvsQ_38415_sliced_420_610', 'IvsQ_binned_38415', 'IvsQ_binned_38415_sliced_0_210', 'IvsQ_binned_38415_sliced_210_420', 'IvsQ_binned_38415_sliced_420_610', 'TOF', 'TOF_38415', 'TOF_38415_monitors', 'TOF_38415_sliced', 'TOF_38415_sliced_0_210', 'TOF_38415_sliced_210_420', 'TOF_38415_sliced_420_610']

See also

Algorithm ReflectometrySliceEventWorkspace v1, ReflectometryReductionOneAuto v3 and the ISIS Reflectometry interface.

Categories: AlgorithmIndex | ISIS\Reflectometry | Workflow\Reflectometry

Source

Python: ReflectometryISISLoadAndProcess.py (last modified: 2019-09-13)