Table of Contents
Name | Direction | Type | Default | Description |
---|---|---|---|---|
Filename | Input | string | Mandatory | Name of SPICE data file. Allowed extensions: [‘.dat’] |
FloatSampleLogNames | Input | str list | List of log names that will be imported as float property. | |
IntegerSampleLogNames | Input | str list | List of log names that will be imported as integer property. | |
StringSampleLogNames | Input | str list | List of log names that will be imported as string property. | |
IgnoreUnlistedLogs | Input | boolean | False | If it is true, all log names are not listed in any of above 3 input lists will be ignored. Otherwise, any log name is not listed will be treated as string property. |
DateAndTimeLog | Input | str list | date,MM/DD/YYYY,time,HH:MM:SS AM | Name and format for date and time |
OutputWorkspace | Output | TableWorkspace | Mandatory | Name of TableWorkspace containing experimental data. |
RunInfoWorkspace | Output | MatrixWorkspace | Mandatory | Name of TableWorkspace containing experimental information. |
This algorithm is to import data file generated by SPICE, a data acquisition software used in HFIR , and record the data and run information to TableWorkspaces.
There are two parts of content in SPICE data file. One is the run information, in which line that starts with #.
In most cases, the run information is give as
# run info name = run info value
The other is the experimental data. The first item is an integer as the index of experimental data point.
Two table worskpaces will be exported from the algorith.
‘OutputWorkspace’ is the table workspace containing the measured experimental data. Each row of it contains all the measured parameters of one data point.
‘RunInfoWorkspace’ is the table workspace that stores the run information, such as scan number, IPTS, sample information and etc.
Example - load a SPICE .dat file:
LoadSpiceAscii(Filename="HB2A_exp0231_scan0001.dat",
IntegerSampleLogNames="Sum of Counts, scan, mode, experiment_number",
FloatSampleLogNames="samplemosaic, preset_value, Full Width Half-Maximum, Center of Mass",
OutputWorkspace="HB2A_0231_0001_Data",
RunInfoWorkspace="HB2A_0231_Info")
datatbws = mtd['HB2A_0231_0001_Data']
infows = mtd['HB2A_0231_Info']
print "Number of measuring points = %d" % (datatbws.rowCount())
print "Number of columns in data workspace = %d" % (datatbws.columnCount())
propertylist = infows.getRun().getProperties()
print "Number of run information = %d" % (len(propertylist))
for i in xrange(len(propertylist)):
print "Property %d: Name = %-20s." % (i, propertylist[i].name)
print "Sum of Counts = %d" % (infows.getRun().getProperty("Sum of Counts").value)
print "Center of Mass = %.5f +/- %.5f" % (infows.getRun().getProperty("Center of Mass").value,
infows.getRun().getProperty("Center of Mass.error").value)
Output:
Number of measuring points = 61
Number of columns in data workspace = 70
Number of run information = 35
Property 0: Name = Center of Mass .
Property 1: Name = Center of Mass.error.
Property 2: Name = Full Width Half-Maximum.
Property 3: Name = Full Width Half-Maximum.error.
Property 4: Name = Sum of Counts .
Property 5: Name = analyzer .
Property 6: Name = builtin_command .
Property 7: Name = col_headers .
Property 8: Name = collimation .
Property 9: Name = command .
Property 10: Name = date .
Property 11: Name = def_x .
Property 12: Name = def_y .
Property 13: Name = experiment .
Property 14: Name = experiment_number .
Property 15: Name = latticeconstants .
Property 16: Name = local_contact .
Property 17: Name = mode .
Property 18: Name = monochromator .
Property 19: Name = preset_channel .
Property 20: Name = preset_type .
Property 21: Name = preset_value .
Property 22: Name = proposal .
Property 23: Name = runend .
Property 24: Name = samplemosaic .
Property 25: Name = samplename .
Property 26: Name = sampletype .
Property 27: Name = scan .
Property 28: Name = scan_title .
Property 29: Name = sense .
Property 30: Name = time .
Property 31: Name = ubconf .
Property 32: Name = ubmatrix .
Property 33: Name = users .
Property 34: Name = run_start .
Sum of Counts = 1944923
Center of Mass = 9.00076 +/- 0.00921
Categories: Algorithms | DataHandling