\(\renewcommand\AA{\unicode{x212B}}\)

PoldiDataAnalysis v1

../_images/ImageNotFound.png

Enable screenshots using DOCS_SCREENSHOTS in CMake

Summary

Run all necessary steps for a complete analysis of POLDI data.

Properties

Name

Direction

Type

Default

Description

InputWorkspace

Input

Workspace

Mandatory

MatrixWorkspace with 2D POLDI data and valid POLDI instrument.

MaximumPeakNumber

Input

long

10

Maximum number of peaks to process in the analysis.

MinimumPeakSeparation

Input

long

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: [‘AsymmetricPearsonVII’, ‘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.

BoundProfileParameters

Input

boolean

True

If this option is activated, certain parameters will be bound to a specific range of values for all peaks. It is implemented for the “LeftShape” and “RightShape” parameters of the asymmetric Pearson VII function, which are set to be bound to a [0, 20] range.

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.

Description

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:

  1. PoldiAutoCorrelation v5

  2. PoldiPeakSearch v1

  3. PoldiFitPeaks1D v2

  4. PoldiIndexKnownCompounds v1

  5. PoldiFitPeaks2D v1

  6. PoldiAnalyseResiduals v1

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).

Usage

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

Source

Python: PoldiDataAnalysis.py