\(\renewcommand\AA{\unicode{x212B}}\)
Table of Contents
Name | Direction | Type | Default | Description |
---|---|---|---|---|
InputWorkspace | Input | Workspace | Mandatory | MatrixWorkspace with 2D POLDI data and valid POLDI instrument. |
MaximumPeakNumber | Input | number | 10 | Maximum number of peaks to process in the analysis. |
MinimumPeakSeparation | Input | number | 10 | Minimum number of points between neighboring peaks. |
MinimumPeakHeight | Input | number | 0 | Minimum height of peaks. If it is left at 0, the minimum peak height is calculatedfrom background noise. |
MaximumRelativeFwhm | Input | number | 0.02 | Peaks with a relative FWHM larger than this are removed during the 1D fit. |
ScatteringContributions | Input | string | 1 | If there is more than one compound, you may supply estimates of their scattering contributions, which sometimes improves indexing. |
ExpectedPeaks | Input | Workspace | Mandatory | TableWorkspace or WorkspaceGroup with expected peaks used for indexing. |
RemoveUnindexedPeaksFor2DFit | Input | boolean | False | Discard unindexed peaks for 2D fit, this is always the case if PawleyFit is active. |
ProfileFunction | Input | string | Gaussian | Allowed values: [‘Gaussian’, ‘Lorentzian’, ‘PseudoVoigt’, ‘Voigt’] |
TieProfileParameters | Input | boolean | True | If this option is activated, certain parameters are kept the same for all peaks. An example is the mixing parameter of the PseudoVoigt function. |
PawleyFit | Input | boolean | False | Should the 2D-fit determine lattice parameters? |
MultipleRuns | Input | boolean | False | If this is activated, peaks are searched again in theresiduals and the 1D- and 2D-fit is repeated with these data. |
PlotResult | Input | boolean | True | If this is activated, plot the sum of residuals and calculated spectrum together with the theoretical spectrum and the residuals. |
OutputIntegratedIntensities | Input | boolean | False | If this option is checked the peak intensities of the 2D-fit will be integrated, otherwise they will be the maximum intensity. |
OutputRawFitParameters | Input | boolean | False | Activating this option produces an output workspace which contains the raw fit parameters. |
OutputWorkspace | Output | Workspace | Mandatory | WorkspaceGroup with result data from all processing steps. |
This algorithm performs all necessary steps for a complete analysis of POLDI data, combining all algorithms that are specific to POLDI. In detail, it performs these steps on the supplied data:
Finally, the calculated diffractogram and the residuals are added together and all three spectra are plotted to give an impression of the result. If the MultipleRuns option is activated, steps 2 - 6 are repeated, but instead of using the initial correlation spectrum, the sum or calculated and residuals is used. Because this is usually much smoother than the initial correlation spectrum, additional peaks can be found there sometimes. The 2D-fit is still performed with the original data.
The actual output is a WorkspaceGroup with content that varies a bit depending on the input parameters. If PawleyFit was active, it contains refined cell parameters. For the ExpectedPeaks parameter, a WorkpsaceGroup may be given (this is necessary when multiple phases are present in a sample).
Note
To run these usage examples please first download the usage data, and add these to your path. In Mantid this is done using Manage User Directories.
The algorithm requires relatively little input and can be run like this:
import numpy as np
# Load POLDI data
PoldiLoadRuns(2013, 6903, 6904, 2, OutputWorkspace='poldi', MaskBadDetectors=False)
# Create Silicon peaks
PoldiCreatePeaksFromCell(SpaceGroup='F d -3 m', Atoms='Si 0 0 0 1.0 0.01', a=5.431,
LatticeSpacingMin=0.7,
OutputWorkspace='Si')
PoldiDataAnalysis(InputWorkspace='poldi_data_6904',
ExpectedPeaks='Si', PawleyFit=True,
MaximumPeakNumber=8,
PlotResult=False,
OutputWorkspace='result')
# Take a look at the refined cell:
cell = AnalysisDataService.retrieve('poldi_data_6904_cell_refined')
cell_a = np.round(cell.cell(0, 1), 5)
cell_a_error = np.round(cell.cell(0, 2), 5)
print("Refined lattice parameter a = {:.5f} +/- {}".format(cell_a, cell_a_error))
This will print the following output:
Refined lattice parameter a = 5.43126 +/- 5e-05
If PlotResult is changed to True, a plot of the spectrum and the residuals is created as described above.
Categories: AlgorithmIndex | SINQ\Poldi
Python: PoldiDataAnalysis.py (last modified: 2021-04-19)