LoadGSASInstrumentFile v1

../_images/LoadGSASInstrumentFile-v1_dlg.png

LoadGSASInstrumentFile dialog.

Summary

Load parameters from a GSAS Instrument file.

Properties

Name Direction Type Default Description
Filename Input string Mandatory Path to an GSAS file to load. Allowed extensions: [‘.prm’]
OutputTableWorkspace Output TableWorkspace   Name of the output TableWorkspace containing instrument parameter information read from file.
UseBankIDsInFile Input boolean True Use bank IDs as given in file rather than ordinal number of bank. If the bank IDs in the file are not unique, it is advised to set this to false.
Banks Input int list   ID(s) of specified bank(s) to load, The IDs are as specified by UseBankIDsInFile. Default is all banks contained in input .prm file.
Workspace InOut WorkspaceGroup   A workspace group with the instrument to which we add the parameters from the GSAS instrument file, with one workspace for each bank of the .prm file
WorkspacesForBanks Input int list   For each bank, the ID of the corresponding workspace in same order as the banks are specified. ID=1 refers to the first workspace in the workspace group, ID=2 refers to the second workspace and so on. Default is all workspaces in numerical order. If default banks are specified, they too are taken to be in numerical order

Description

Load Ikeda-Carpenter PV parameters from a GSAS instrument file into a table workspace or a workspace group.

Later developments of this algorithm will enable to load back-to-back-exponential pseudo-Voigt parameters translated into BackToBackExponential.

Usage

Example - Run LoadGSASInstrumentFile for both TableWorkspace and workspace with Instrument

Note

To run these usage examples please first download the usage data, and add these to your path. In MantidPlot this is done using Manage User Directories.

# We load a GSAS Instrument file with 2 Banks
tws = LoadGSASInstrumentFile("GSAS_2bank.prm")

#Print first four rows
for i in [0,1,2,3]:
   row = tws.row(i)
   print("{{'Name': '{}','Value_1': {:.2f}, 'Value_2': {:.2f}}}".format(row["Name"], row["Value_1"],  row["Value_2"] ))

Output:

{'Name': 'BANK','Value_1': 1.00, 'Value_2': 2.00}
{'Name': 'Alph0','Value_1': 0.00, 'Value_2': 0.00}
{'Name': 'Alph1','Value_1': 0.21, 'Value_2': 0.22}
{'Name': 'Beta0','Value_1': 31.79, 'Value_2': 31.79}

Example - Run LoadGSASInstrumentFile and put parameters into workspace

Note

To run these usage examples please first download the usage data, and add these to your path. In MantidPlot this is done using Manage User Directories.

# First we load MUSR00015189 workspace group
Load("MUSR00015189",OutputWorkspace="groupWs")
groupWs=mtd["groupWs"]
# We clear instrument parameters...
ClearInstrumentParameters(groupWs)

# ...and check they do not exist
instrument = groupWs.getItem(0).getInstrument()
print("Alpha0 parameter exists:  {}".format(instrument.hasParameter("Alpha0")))
print("Beta0 parameter exists:  {}".format(instrument.hasParameter("Beta0")))
print("SigmaSquared parameter exists:  {}".format(instrument.hasParameter("SigmaSquared")))

# Now we load a GSAS Instrument file with 2 Banks into the workspace...
print("\nLoading parameters from GSAS\n")
tws = LoadGSASInstrumentFile(Filename="GSAS_2bank.prm",UseBankIDsInFile=True,Workspace=groupWs,Banks=[1,2])

# ...and check parameters are there again
instrument = groupWs.getItem(0).getInstrument()
print("Alpha0 parameter exists:  {}".format(instrument.hasParameter("Alpha0")))
print("Beta0 parameter exists:  {}".format(instrument.hasParameter("Beta0")))
print("SigmaSquared parameter exists:  {}".format(instrument.hasParameter("SigmaSquared")))

Output:

Alpha0 parameter exists:  False
Beta0 parameter exists:  False
SigmaSquared parameter exists:  False

Loading parameters from GSAS

Alpha0 parameter exists:  True
Beta0 parameter exists:  True
SigmaSquared parameter exists:  True

Categories: AlgorithmIndex | Diffraction\DataHandling

Source

C++ source: LoadGSASInstrumentFile.cpp (last modified: 2019-06-05)

C++ header: LoadGSASInstrumentFile.h (last modified: 2018-10-05)