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

StatisticsOfPeaksWorkspace v1

../_images/ImageNotFound.png

Enable screenshots using DOCS_SCREENSHOTS in CMake

Summary

Statistics of a PeaksWorkspace.

See Also

ShowPeakHKLOffsets

Properties

Name

Direction

Type

Default

Description

InputWorkspace

Input

PeaksWorkspace

Mandatory

An input PeaksWorkspace with an instrument.

PointGroup

Input

string

-1

Which point group applies to this crystal? Allowed values: [‘-1’, ‘-3’, ‘-3 r’, ‘-31m’, ‘-3m’, ‘-3m r’, ‘-3m1’, ‘-4’, ‘-42m’, ‘-43m’, ‘-4m2’, ‘-6’, ‘-62m’, ‘-6m2’, ‘1’, ‘112’, ‘112/m’, ‘11m’, ‘2’, ‘2/m’, ‘222’, ‘23’, ‘2mm’, ‘3’, ‘3 r’, ‘312’, ‘31m’, ‘32’, ‘32 r’, ‘321’, ‘3m’, ‘3m r’, ‘3m1’, ‘4’, ‘4/m’, ‘4/mmm’, ‘422’, ‘432’, ‘4mm’, ‘6’, ‘6/m’, ‘6/mmm’, ‘622’, ‘6mm’, ‘m’, ‘m-3’, ‘m-3m’, ‘m2m’, ‘mm2’, ‘mmm’, ‘-1 (Triclinic)’, ‘-3 (Trigonal - Hexagonal)’, ‘-3 r (Trigonal - Rhombohedral)’, ‘-31m (Trigonal - Hexagonal)’, ‘-3m (Trigonal - Hexagonal)’, ‘-3m r (Trigonal - Rhombohedral)’, ‘-3m1 (Trigonal - Hexagonal)’, ‘-4 (Tetragonal)’, ‘-42m (Tetragonal)’, ‘-43m (Cubic)’, ‘-4m2 (Tetragonal)’, ‘-6 (Hexagonal)’, ‘-62m (Hexagonal)’, ‘-6m2 (Hexagonal)’, ‘1 (Triclinic)’, ‘112 (Monoclinic, unique axis c)’, ‘112/m (Monoclinic, unique axis c)’, ‘11m (Monoclinic, unique axis c)’, ‘2 (Monoclinic, unique axis b)’, ‘2/m (Monoclinic, unique axis b)’, ‘222 (Orthorhombic)’, ‘23 (Cubic)’, ‘2mm (Orthorhombic)’, ‘3 (Trigonal - Hexagonal)’, ‘3 r (Trigonal - Rhombohedral)’, ‘312 (Trigonal - Hexagonal)’, ‘31m (Trigonal - Hexagonal)’, ‘32 (Trigonal - Hexagonal)’, ‘32 r (Trigonal - Rhombohedral)’, ‘321 (Trigonal - Hexagonal)’, ‘3m (Trigonal - Hexagonal)’, ‘3m r (Trigonal - Rhombohedral)’, ‘3m1 (Trigonal - Hexagonal)’, ‘4 (Tetragonal)’, ‘4/m (Tetragonal)’, ‘4/mmm (Tetragonal)’, ‘422 (Tetragonal)’, ‘432 (Cubic)’, ‘4mm (Tetragonal)’, ‘6 (Hexagonal)’, ‘6/m (Hexagonal)’, ‘6/mmm (Hexagonal)’, ‘622 (Hexagonal)’, ‘6mm (Hexagonal)’, ‘m (Monoclinic, unique axis b)’, ‘m-3 (Cubic)’, ‘m-3m (Cubic)’, ‘m2m (Orthorhombic)’, ‘mm2 (Orthorhombic)’, ‘mmm (Orthorhombic)’, ‘222 (Orthorombic)’, ‘mm2 (Orthorombic)’, ‘2mm (Orthorombic)’, ‘m2m (Orthorombic)’, ‘mmm (Orthorombic)’]

LatticeCentering

Input

string

P

Appropriate lattice centering for the peaks. Allowed values: [‘P’, ‘C’, ‘A’, ‘B’, ‘I’, ‘F’, ‘Robv’, ‘Rrev’, ‘H’, ‘Primitive’, ‘C-face centred’, ‘A-face centred’, ‘B-face centred’, ‘Body centred’, ‘All-face centred’, ‘Rhombohedrally centred, obverse’, ‘Rhombohedrally centred, reverse’, ‘Hexagonally centred, reverse’]

OutputWorkspace

Output

PeaksWorkspace

Mandatory

Output PeaksWorkspace

StatisticsTable

Output

TableWorkspace

StatisticsTable

An output table workspace for the statistics of the peaks.

SortBy

Input

string

ResolutionShell

Sort the peaks by resolution shell in d-Spacing(default), bank, run number, or only overall statistics. Allowed values: [‘ResolutionShell’, ‘Bank’, ‘RunNumber’, ‘Overall’]

EquivalentIntensities

Input

string

Mean

Replace intensities by mean(default), or median. Allowed values: [‘Mean’, ‘Median’]

SigmaCritical

Input

number

3

Removes peaks whose intensity deviates more than SigmaCritical from the mean (or median).

EquivalentsWorkspace

Output

MatrixWorkspace

EquivalentIntensities

Output Equivalent Intensities

WeightedZScore

Input

boolean

False

Use weighted ZScore if true. If false, standard ZScore (default).

Description

Statistics of the Peaks Workspaces are calculated for all peaks and by default for resolution shell(d-Spacing). There is a SortBy option to change this to by orientation (RunNumber) or by Anger camera (bank) or only do all peaks. This algorithm calls SortHKL v1, so more details are in the documentation for that algorithm.

After removing invalid peaks with \(I \leq 0\), \(\sigma \leq 0\) and \(h=k=l=0\), the peaks are assigned to their respective unique reflection so that each theoretically present reflection may have \(n\) observations (\(n\) can be zero). The number of unique reflections which have at least one observation can be labeled \(N_{unique}\).

Currently the satellite peaks are removed so only peaks with \(m=n=p=0\) are used in the statistics. In the future, this algorithm will also calculate statistics for these peaks.

The intensities of peaks in each reflection are checked for outliers, which are removed. Outliers in this context are peaks with an intensity that deviates more than \(3\sigma_{hkl}\) from the mean of the reflection, where \(\sigma_{hkl}\) is the standard deviation of the peak intensities.

Formulas for the statistics columns are:

\(N_{unique}\)

\(dSpacing_{min}\)

\(dSpacing_{max}\)

\(Multiplicity = \frac{N_{observed}}{N_{unique}}\)

\(\langle \frac{I}{\sigma_I} \rangle\)

In the following, all sums over hkl extend only over unique reflections with more than one observation! Output is percentages.

\(R_{merge} = 100 * \frac{\sum_{hkl} \sum_{j} \vert I_{hkl,j}-\langle I_{hkl}\rangle\vert}{\sum_{hkl} \sum_{j}I_{hkl,j}}\) where \(\langle I_{hkl}\rangle\) is the average of j multiple measurements of the n equivalent reflections.

\(R_{pim} = 100 * \frac{\sum_{hkl} \sqrt \frac{1}{n-1} \sum_{j=1}^{n} \vert I_{hkl,j}-\langle I_{hkl}\rangle\vert}{\sum_{hkl} \sum_{j}I_{hkl,j}}\)

\(Completeness = 100 * \frac{N_{unique}}{N_{theoretical}}\)

Usage

Example - an example of running StatisticsOfPeaksWorkspace with PointGroup option.

# Load example peak data and find cell
peaks = LoadIsawPeaks(Filename=r'Peaks5637.integrate')

FindUBUsingFFT(peaks, MinD=0.25, MaxD=10, Tolerance=0.2)
SelectCellWithForm(peaks, FormNumber=9, Apply=True, Tolerance=0.15)
OptimizeLatticeForCellType(peaks,
                           CellType='Hexagonal', Apply=True, Tolerance=0.2)

# Run the SortHKL algorithm
sorted, statistics_table, equivI = StatisticsOfPeaksWorkspace(peaks, PointGroup='-3m1 (Trigonal - Hexagonal)',
                                                      LatticeCentering='Rhombohedrally centred, obverse',
                                                      SortBy='Overall')

statistics = statistics_table.row(0)

peak = sorted.getPeak(0)
print("HKL of first peak in table {} {} {}".format(peak.getH(),peak.getK(),peak.getL()))
print("Multiplicity = %.2f" % statistics['Multiplicity'])
print("Resolution Min = %.2f" % statistics['Resolution Min'])
print("Resolution Max = %.2f" % statistics['Resolution Max'])
print("No. of Unique Reflections = %i" % statistics['No. of Unique Reflections'])
print("Mean ((I)/sd(I)) = %.2f" % statistics['Mean ((I)/sd(I))'])
print("Rmerge = %.2f" % statistics['Rmerge'])
print("Rpim = %.2f" % statistics['Rpim'])

Output:

HKL of first peak in table -10.0 5.0 42.0
Multiplicity = 1.21
Resolution Min = 0.21
Resolution Max = 2.08
No. of Unique Reflections = 337
Mean ((I)/sd(I)) = 27.51
Rmerge = 10.08
Rpim = 10.08

Categories: AlgorithmIndex | Crystal\Peaks | DataHandling\Text

Source

C++ header: StatisticsOfPeaksWorkspace.h

C++ source: StatisticsOfPeaksWorkspace.cpp