def loadXrayData(): #Kalpha1, Kalpha2, Kbeta1, KalphaMean, AbsorptionK, Voltage elementWavelength = fg.readLines(FILE_XRAY_SOURCES_WAVELENGTHS) header = elementWavelength[0].strip().split("\t") xRayData = {} for line in elementWavelength[1:]: newElementWavelength = line.split("\t") xRayData[newElementWavelength[0]] = {header[1]: int(newElementWavelength[1]), header[6]: float(newElementWavelength[6]), header[7]: float(newElementWavelength[7])} xRayData[newElementWavelength[0]][header[2]] = {"Wavelength": float(newElementWavelength[2])} xRayData[newElementWavelength[0]][header[3]] = {"Wavelength": float(newElementWavelength[3])} xRayData[newElementWavelength[0]][header[4]] = {"Wavelength": float(newElementWavelength[4])} xRayData[newElementWavelength[0]][header[5]] = {"Wavelength": float(newElementWavelength[5])} elementEnergies = fg.readLines(FILE_XRAY_SOURCES_ENERGIES) headerEg = elementEnergies[0].strip().split("\t") for lineEg in elementEnergies[1:]: newElementEnergies = lineEg.split("\t") #xRayData[newElementEnergies[0]][headerEg[1]] = int(newElementEnergies[1]) xRayData[newElementEnergies[0]][headerEg[8]] = float(newElementEnergies[8]) xRayData[newElementEnergies[0]][headerEg[9]] = float(newElementEnergies[9]) bf.setdict2(xRayData[newElementEnergies[0]], headerEg[2], 'Energy', float(newElementEnergies[2])) bf.setdict2(xRayData[newElementEnergies[0]], headerEg[3], 'Energy', float(newElementEnergies[3])) bf.setdict2(xRayData[newElementEnergies[0]], headerEg[4], 'Energy', float(newElementEnergies[4])) bf.setdict2(xRayData[newElementEnergies[0]], headerEg[5], 'Energy', float(newElementEnergies[5])) bf.setdict2(xRayData[newElementEnergies[0]], headerEg[6], 'Energy', float(newElementEnergies[6])) bf.setdict2(xRayData[newElementEnergies[0]], headerEg[7], 'Energy', float(newElementEnergies[7])) xRayData[newElementEnergies[0]]['KalphaMean']['Energy'] = (xRayData[newElementEnergies[0]]['Kalpha1']['Energy'] + xRayData[newElementEnergies[0]]['Kalpha2']['Energy']) / 2 return xRayData
def initStressAnalysisSettings(*args): # default values settings = { "method": "ED", "showPlots": True, "showDeviation": False, "anode": "", "material": "Fe", "a0Val": 0.28665, "decList": np.array([]), "maxPsi": 45 } # 'ED', 'AD' if len(args) % 2 == 0: # set specified values for i in range(0, len(args), 2): if bf.hasKey( settings, args[i]): # adding new entries is currently not allowed settings[args[i]] = args[i + 1] elif len(args) == 1: # file with settings is specified lines = fg.readLines(args[0]) for line in lines: lineData = line.split('\t') if lineData[1].startswith('['): settings[lineData[0]] = bf.strArray2npArray(lineData[1]) else: settings[lineData[0]] = eval(lineData[1]) return settings
def initPeakfitSettings(*args): # default values settings = { "peakFunction": "Gauss", "withGraphic": 1, "peakZones": 1, "withCorrection": 0, "withFourier": 0, "bestWindow": 0, "onlyValues": 0, "toEnergies": 0, "par": 0, "parDeadTime": 0, "saveExcel": 0, "saveText": 1, "confInterval": 0 } # 'Gauss', 'Pearson7', 'Lorentz', 'PseudoVoigt' if len(args) % 2 == 0: # set specified values for i in range(0, len(args), 2): if bf.hasKey( settings, args[i]): # adding new entries is currently not allowed settings[args[i]] = args[i + 1] elif len(args) == 1: # file with settings is specified lines = fg.readLines(args[0]) for line in lines: lineData = line.split('\t') if lineData[1].startswith('['): settings[lineData[0]] = bf.strArray2npArray(lineData[1]) else: settings[lineData[0]] = eval(lineData[1]) return settings
def importFileHeader(importFile='', delim='\t', withMetaLine=False, fileType=(('Data file', '*.txt'), ('Data file', '*.dat')), diagTitle='Select data file', multiSel='off'): if len(importFile) == 0: importFile = fg.requestFiles(fileType, diagTitle, multiSel) importFile = importFile[0] if len(importFile) > 0: # read header from file if withMetaLine: heading = fg.readLines(importFile, 2) # first line consists of comments or metadata metaInfo = heading[0] # second line contains header information heading = bf.split(heading[1], delim) else: heading = fg.readLines(importFile, 1) metaInfo = '' heading = bf.split(heading[0], '\t') return heading, metaInfo
def loadMaterialData(): #Name Lattice parameter Lattice file data = fg.readLines(FILE_SAMPLE_MATERIALS) materialData = {} for line in data[0:]: lineData = line.split("\t") materialData[lineData[0]] = {"a": float(lineData[1])} materialData[lineData[0]]["dec"] = fg.dlmread(lineData[2].strip(), "\t", 1) return materialData
def getSpectrumFromFile(specFile="", dataDelim='\t', headerLines=5): data = 0 heading = 0 if len(specFile) == 0: specFile = fg.requestFiles((('Text file', '*.txt'),), 'Spektrumdatei auswaehlen', 'off') if len(specFile) > 0: #Read data from file heading = fg.readLines(specFile, headerLines) data = fg.dlmread(specFile, dataDelim, headerLines) return data, heading
def initFinalFileSettings(*args): # default values settings = {"type": "H4_1", "unused": np.array([1, 2]), "energy": 0, "anode": "", "pars": np.array([])} # 'EDDI', 'ED', 'AD', 'Seifert', 'SeifertM', 'H4_1', 'H4_2', 'P61_0' or 'P61_1' if len(args) % 2 == 0: # set specified values for i in range(0, len(args), 2): if bf.hasKey(settings, args[i]): # adding new entries is currently not allowed settings[args[i]] = args[i + 1] elif len(args) == 1: # file with settings is specified lines = fg.readLines(args[0]) for line in lines: lineData = line.split('\t') if lineData[1].startswith('['): settings[lineData[0]] = bf.strArray2npArray(lineData[1]) else: settings[lineData[0]] = eval(lineData[1]) return settings