Table of Contents
Name | Direction | Type | Default | Description |
---|---|---|---|---|
PeaksWorkspace | InOut | PeaksWorkspace | Mandatory | An input PeaksWorkspace with an instrument. |
CellType | Input | string | Cubic | Select the cell type. Allowed values: [‘Cubic’, ‘Tetragonal’, ‘Orthorhombic’, ‘Hexagonal’, ‘Rhombohedral’, ‘Monoclinic’, ‘Triclinic’] |
Apply | Input | boolean | False | Re-index the peaks |
PerRun | Input | boolean | False | Make per run orientation matrices |
Tolerance | Input | number | 0.12 | Indexing Tolerance |
EdgePixels | Input | number | 0 | Remove peaks that are at pixels this close to edge. |
OutputChi2 | Output | number | Returns the goodness of the fit | |
OutputDirectory | Input | string | . | The directory where the per run peaks files and orientation matrices will be written. |
This does a least squares fit between indexed peaks and Q values for a set of runs producing an overall leastSquare orientation matrix.
Get estimates of the standard deviations of the parameters, by approximating chisq by a quadratic polynomial through three points and finding the change in the parameter that would cause a change of 1 in chisq. (See Bevington, 2nd ed., pg 147, eqn: 8.13 ) In this version, we calculate a sequence of approximations for each parameter, with delta ranging over 10 orders of magnitude and keep the value in the sequence with the smallest relative change.
Example:
ws=LoadIsawPeaks("TOPAZ_3007.peaks")
FindUBUsingFFT(ws,MinD=8.0,MaxD=13.0)
print("Before Optimization:")
print(ws.sample().getOrientedLattice().getUB())
OptimizeLatticeForCellType(ws,CellType="Monoclinic")
print("\nAfter Optimization:")
print(ws.sample().getOrientedLattice().getUB())
Output:
Before Optimization:
[[ 0.01223576 0.00480107 0.08604016]
[-0.11654506 0.00178069 -0.00458823]
[-0.02737294 -0.08973552 -0.02525994]]
After Optimization:
[[-0.04519948 0.04084577 -0.01259083]
[ 0.00160373 -0.00322317 0.11582993]
[ 0.05743318 0.03223531 0.02753568]]
Categories: Algorithm Index | Crystal\Cell
C++ source: OptimizeLatticeForCellType.cpp (last modified: 2018-10-05)
C++ header: OptimizeLatticeForCellType.h (last modified: 2018-10-05)