本文整理汇总了Python中EnggUtils.applyVanadiumCorrections方法的典型用法代码示例。如果您正苦于以下问题:Python EnggUtils.applyVanadiumCorrections方法的具体用法?Python EnggUtils.applyVanadiumCorrections怎么用?Python EnggUtils.applyVanadiumCorrections使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EnggUtils
的用法示例。
在下文中一共展示了EnggUtils.applyVanadiumCorrections方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PyExec
# 需要导入模块: import EnggUtils [as 别名]
# 或者: from EnggUtils import applyVanadiumCorrections [as 别名]
def PyExec(self):
# Get peaks in dSpacing from file, and check we have what we need, before doing anything
expectedPeaksD = EnggUtils.readInExpectedPeaks(self.getPropertyValue("ExpectedPeaksFromFile"),
self.getProperty('ExpectedPeaks').value)
if len(expectedPeaksD) < 1:
raise ValueError("Cannot run this algorithm without any input expected peaks")
inWS = self.getProperty('Workspace').value
WSIndices = EnggUtils.getWsIndicesFromInProperties(inWS, self.getProperty('Bank').value,
self.getProperty(self.INDICES_PROP_NAME).value)
vanWS = self.getProperty("VanadiumWorkspace").value
vanIntegWS = self.getProperty('VanIntegrationWorkspace').value
vanCurvesWS = self.getProperty('VanCurvesWorkspace').value
# These corrections rely on ToF<->Dspacing conversions, so ideally they'd be done after the
# calibration step, which creates a cycle / chicken-and-egg issue.
EnggUtils.applyVanadiumCorrections(self, inWS, WSIndices, vanWS, vanIntegWS, vanCurvesWS)
rebinnedWS = self._prepareWsForFitting(inWS)
posTbl = self._calculateCalibPositionsTbl(rebinnedWS, WSIndices, expectedPeaksD)
# Produce 2 results: 'output table' and 'apply calibration' + (optional) calibration file
self.setProperty("OutDetPosTable", posTbl)
self._applyCalibrationTable(inWS, posTbl)
self._outputDetPosFile(self.getPropertyValue('OutDetPosFilename'), posTbl)
示例2: PyExec
# 需要导入模块: import EnggUtils [as 别名]
# 或者: from EnggUtils import applyVanadiumCorrections [as 别名]
def PyExec(self):
# Get the run workspace
wks = self.getProperty('InputWorkspace').value
# Get spectra indices either from bank or direct list of indices, checking for errors
bank = self.getProperty('Bank').value
spectra = self.getProperty(self.INDICES_PROP_NAME).value
indices = EnggUtils.getWsIndicesFromInProperties(wks, bank, spectra)
detPos = self.getProperty("DetectorPositions").value
nreports = 5
if detPos:
nreports += 1
prog = Progress(self, start=0, end=1, nreports=nreports)
# Leave only the data for the bank/spectra list requested
prog.report('Selecting spectra from input workspace')
wks = EnggUtils.cropData(self, wks, indices)
prog.report('Masking some bins if requested')
self._mask_bins(wks, self.getProperty('MaskBinsXMins').value, self.getProperty('MaskBinsXMaxs').value)
prog.report('Preparing input workspace with vanadium corrections')
# Leave data for the same bank in the vanadium workspace too
vanWS = self.getProperty('VanadiumWorkspace').value
vanIntegWS = self.getProperty('VanIntegrationWorkspace').value
vanCurvesWS = self.getProperty('VanCurvesWorkspace').value
EnggUtils.applyVanadiumCorrections(self, wks, indices, vanWS, vanIntegWS, vanCurvesWS)
# Apply calibration
if detPos:
self._applyCalibration(wks, detPos)
# Convert to dSpacing
wks = EnggUtils.convertToDSpacing(self, wks)
prog.report('Summing spectra')
# Sum the values across spectra
wks = EnggUtils.sumSpectra(self, wks)
prog.report('Preparing output workspace')
# Convert back to time of flight
wks = EnggUtils.convertToToF(self, wks)
prog.report('Normalizing input workspace if needed')
if self.getProperty('NormaliseByCurrent').value:
self._normalize_by_current(wks)
# OpenGenie displays distributions instead of pure counts (this is done implicitly when
# converting units), so I guess that's what users will expect
self._convertToDistr(wks)
self.setProperty("OutputWorkspace", wks)
示例3: PyExec
# 需要导入模块: import EnggUtils [as 别名]
# 或者: from EnggUtils import applyVanadiumCorrections [as 别名]
def PyExec(self):
# Get the run workspace
wks = self.getProperty('InputWorkspace').value
# Get spectra indices either from bank or direct list of indices, checking for errors
bank = self.getProperty('Bank').value
spectra = self.getProperty(self.INDICES_PROP_NAME).value
indices = EnggUtils.getWsIndicesFromInProperties(wks, bank, spectra)
# Leave the data for the bank we are interested in only
wks = EnggUtils.cropData(self, wks, indices)
prog = Progress(self, start=0, end=1, nreports=3)
prog.report('Preparing input workspace')
# Leave data for the same bank in the vanadium workspace too
vanWS = self.getProperty('VanadiumWorkspace').value
vanIntegWS = self.getProperty('VanIntegrationWorkspace').value
vanCurvesWS = self.getProperty('VanCurvesWorkspace').value
EnggUtils.applyVanadiumCorrections(self, wks, indices, vanWS, vanIntegWS, vanCurvesWS)
# Apply calibration
detPos = self.getProperty("DetectorPositions").value
if detPos:
self._applyCalibration(wks, detPos)
# Convert to dSpacing
wks = EnggUtils.convertToDSpacing(self, wks)
prog.report('Summing spectra')
# Sum the values
wks = EnggUtils.sumSpectra(self, wks)
prog.report('Preparing output workspace')
# Convert back to time of flight
wks = EnggUtils.convertToToF(self, wks)
# OpenGenie displays distributions instead of pure counts (this is done implicitly when
# converting units), so I guess that's what users will expect
self._convertToDistr(wks)
self.setProperty("OutputWorkspace", wks)