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

SaveHKL v1

../_images/SaveHKL-v1_dlg.png

SaveHKL dialog.

Summary

Save a PeaksWorkspace to a ASCII .hkl file.

Properties

Name Direction Type Default Description
InputWorkspace Input PeaksWorkspace Mandatory An input PeaksWorkspace.
ScalePeaks Input number 1 Multiply FSQ and sig(FSQ) by scaleFactor
MinDSpacing Input number 0 Minimum d-spacing (Angstroms)
MinWavelength Input number 0 Minimum wavelength (Angstroms)
MaxWavelength Input number 100 Maximum wavelength (Angstroms)
AppendFile Input boolean False Append to file if true. Use same corrections as file. If false, new file (default).
ApplyAnvredCorrections Input boolean False Apply anvred corrections to peaks if true. If false, no corrections during save (default).
LinearScatteringCoef Input number Optional Linear scattering coefficient in 1/cm if not set with SetSampleMaterial
LinearAbsorptionCoef Input number Optional Linear absorption coefficient at 1.8 Angstroms in 1/cm if not set with SetSampleMaterial
Radius Input number Optional Radius of the sample in centimeters
PowerLambda Input number 4 Power of lambda
SpectraFile Input string   Spectrum data read from a spectrum file. Allowed extensions: [‘.dat’]
Filename Input string Mandatory Path to an hkl file to save. Allowed extensions: [‘.hkl’]
SortBy Input string   Sort the histograms by bank, run number or both (default). Allowed values: [‘Bank’, ‘RunNumber’, ‘’]
MinIsigI Input number Optional The minimum I/sig(I) ratio
WidthBorder Input number Optional Width of border of detectors
MinIntensity Input number Optional The minimum Intensity
OutputWorkspace Output PeaksWorkspace SaveHKLOutput Output PeaksWorkspace
HKLDecimalPlaces Input number Optional Number of decimal places for fractional HKL. Default is integer HKL.
DirectionCosines Input boolean False Extra columns (22 total) in file if true for direction cosines. If false, original 14 columns (default).
UBFilename Input string   Path to an ISAW-style UB matrix text file only needed for DirectionCosines if workspace does not have lattice. Allowed extensions: [‘.mat’, ‘.ub’, ‘.txt’]

Description

SaveHKL outputs the peaks with corrections applied in a format that works successfully in GSAS and SHELX. Peaks that have not been integrated and also peaks that were not indexed are removed.

hklFile.write(‘%4d%4d%4d%8.2f%8.2f%4d%8.4f%7.4f%7d%7d%7.4f%4d%9.5f%9.4f\n’% (H, K, L, FSQ, SIGFSQ, hstnum, WL, TBAR, CURHST, SEQNUM, TRANSMISSION, DN, TWOTH, DSP))

HKL is flipped by -1 due to different q convention in ISAW vs Mantid.

FSQ = integrated intensity of peak (scaled)

SIGFSQ = sigma from integrating peak

hstnum = number of sample orientation (starting at 1)

WL = wavelength of peak

TBAR = output of absorption correction (-log(transmission)/mu)

CURHST = run number of sample

SEQNUM = peak number (unique number for each peak in file)

TRANSMISSION = output of absorption correction (exp(-mu*tbar))

DN = detector bank number

TWOTH = two-theta scattering angle

DSP = d-Spacing of peak (Angstroms)/TR

Last line must have all 0’s

Usage

Example - a simple example of running SaveHKL.

import os

path = os.path.join(os.path.expanduser("~"), "MyPeaks.hkl")

#load a peaks workspace from file
peaks = LoadIsawPeaks(Filename=r'Peaks5637.integrate')
SaveHKL(peaks, path)

print(os.path.isfile(path))

Output:

True

Example - an example of running SaveHKL with sorting and filtering options.

import os

#load a peaks workspace from file
peaks = LoadIsawPeaks(Filename=r'Peaks5637.integrate')
print("Number of peaks in table {}".format(peaks.rowCount()))

path = os.path.join(os.path.expanduser("~"), "MyPeaks.hkl")
SaveHKL(peaks, path, MinWavelength=0.5, MaxWavelength=2,MinDSpacing=0.2, SortBy='Bank')

peaks = LoadHKL(path)
print("Number of peaks in table {}".format(peaks.rowCount()))

Output:

Number of peaks in table 434
Number of peaks in table 234

Example - SaveHKL with shape from SetSample

import os
path = os.path.join(os.path.expanduser("~"), "MyPeaks.hkl")

# load a peaks workspace from file
peaks = LoadIsawPeaks(Filename=r'SXD23767.peaks')
SetSample(peaks,
          Geometry={'Shape': 'Cylinder', 'Height': 4.0,
                    'Radius': 0.8,
                    'Center': [0.,0.,0.]},
          Material={'ChemicalFormula': 'V', 'SampleNumberDensity': 0.1})
SaveHKL(peaks, path)
print(os.path.isfile(path))

Output:

True

Categories: AlgorithmIndex | Crystal\DataHandling | DataHandling\Text

Source

C++ header: SaveHKL.h (last modified: 2021-03-31)

C++ source: SaveHKL.cpp (last modified: 2021-05-24)