OptimizeCrystalPlacementByRun v1#

Summary#

Optimizes the sample position for each run in a peaks workspace.

See Also#

OptimizeCrystalPlacement

Properties#

Name

Direction

Type

Default

Description

InputWorkspace

Input

TableWorkspace

Mandatory

The name of the peaks workspace that will be optimized.

Tolerance

Input

number

0.15

Tolerance of indexing of peaks.

OutputWorkspace

Input

string

The name of the peaks workspace that will be created.

Description#

This algorithm basically optimizes h,k, and l offsets from an integer by varying the parameters sample positions for each run in the peaks workspace.

The crystal orientation matrix, UB matrix, from the PeaksWorkspace should index all the runs “very well”. Otherwise iterations that slowly build a UB matrix with corrected sample orientations may be needed.

Usage#

Example:

ws=LoadIsawPeaks("calibrated.peaks")
FindUBUsingFFT(PeaksWorkspace=ws,MinD=2,MaxD=20,Tolerance=0.12)
IndexPeaks(PeaksWorkspace='ws',Tolerance=0.12)
wsd = OptimizeCrystalPlacementByRun(InputWorkspace=ws,OutputWorkspace='wsd',Tolerance=0.12)
print('Optimized %s sample position: %s'%(mtd['wsd'].getPeak(0).getRunNumber(),mtd['wsd'].getPeak(0).getSamplePos()))
print('Optimized %s sample position: %s'%(mtd['wsd'].getPeak(8).getRunNumber(),mtd['wsd'].getPeak(8).getSamplePos()))

Output:

Optimized 71907 sample position: [-0.000678629,-2.16033e-05,0.00493278]
Optimized 72007 sample position: [-0.0027929,-0.00105681,0.00497094]

Categories: AlgorithmIndex | Crystal\Corrections

Source#

Python: OptimizeCrystalPlacementByRun.py