本文整理汇总了Python中Direct.DirectEnergyConversion.DirectEnergyConversion.map_file方法的典型用法代码示例。如果您正苦于以下问题:Python DirectEnergyConversion.map_file方法的具体用法?Python DirectEnergyConversion.map_file怎么用?Python DirectEnergyConversion.map_file使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Direct.DirectEnergyConversion.DirectEnergyConversion
的用法示例。
在下文中一共展示了DirectEnergyConversion.map_file方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_multirep_mode
# 需要导入模块: from Direct.DirectEnergyConversion import DirectEnergyConversion [as 别名]
# 或者: from Direct.DirectEnergyConversion.DirectEnergyConversion import map_file [as 别名]
def test_multirep_mode(self):
# create test workspace
run_monitors=CreateSampleWorkspace(Function='Multiple Peaks', NumBanks=4, BankPixelWidth=1,\
NumEvents=100000,XUnit='Energy', XMin=3, XMax=200, BinWidth=0.1)
LoadInstrument(run_monitors,InstrumentName='MARI', RewriteSpectraMap=True)
ConvertUnits(InputWorkspace='run_monitors', OutputWorkspace='run_monitors', Target='TOF')
run_monitors = mtd['run_monitors']
tof = run_monitors.dataX(3)
tMin = tof[0]
tMax = tof[-1]
run = CreateSampleWorkspace( Function='Multiple Peaks',WorkspaceType='Event',NumBanks=8, BankPixelWidth=1,\
NumEvents=100000, XUnit='TOF',xMin=tMin,xMax=tMax)
LoadInstrument(run,InstrumentName='MARI', RewriteSpectraMap=True)
MoveInstrumentComponent(Workspace='run', ComponentName='Detector', DetectorID=1102,Z=1)
# MoveInstrumentComponent(Workspace='run', ComponentName='Detector', DetectorID=1103,Z=4)
# MoveInstrumentComponent(Workspace='run', ComponentName='Detector', DetectorID=1104,Z=5)
# do second
run2 = CloneWorkspace(run)
run2_monitors = CloneWorkspace(run_monitors)
wb_ws = Rebin(run,Params=[tMin,1,tMax],PreserveEvents=False)
# Run multirep
tReducer = DirectEnergyConversion(run.getInstrument())
tReducer.prop_man.run_diagnostics=True
tReducer.hard_mask_file=None
tReducer.map_file=None
tReducer.save_format=None
tReducer.multirep_tof_specta_list = [4,5]
result = tReducer.convert_to_energy(wb_ws,run,[67.,122.],[-2,0.02,0.8])
self.assertEqual(len(result),2)
ws1=result[0]
self.assertEqual(ws1.getAxis(0).getUnit().unitID(),'DeltaE')
x = ws1.readX(0)
self.assertAlmostEqual(x[0],-2*67.)
self.assertAlmostEqual(x[-1],0.8*67.)
ws2=result[1]
self.assertEqual(ws2.getAxis(0).getUnit().unitID(),'DeltaE')
x = ws2.readX(0)
self.assertAlmostEqual(x[0],-2*122.)
self.assertAlmostEqual(x[-1],0.8*122.)
# test another ws
# rename samples from previous workspace to avoid deleting them on current run
for ind,item in enumerate(result):
result[ind]=RenameWorkspace(item,OutputWorkspace='SampleRez#'+str(ind))
#
result2 = tReducer.convert_to_energy(None,run2,[67.,122.],[-2,0.02,0.8])
rez = CompareWorkspaces(result[0],result2[0])
self.assertTrue(rez[0])
rez = CompareWorkspaces(result[1],result2[1])
self.assertTrue(rez[0])
示例2: test_abs_multirep_with_bkg_and_bleed
# 需要导入模块: from Direct.DirectEnergyConversion import DirectEnergyConversion [as 别名]
# 或者: from Direct.DirectEnergyConversion.DirectEnergyConversion import map_file [as 别名]
def test_abs_multirep_with_bkg_and_bleed(self):
# create test workspace
run_monitors=CreateSampleWorkspace(Function='Multiple Peaks', NumBanks=4, BankPixelWidth=1,\
NumEvents=100000, XUnit='Energy', XMin=3, XMax=200, BinWidth=0.1)
LoadInstrument(run_monitors,InstrumentName='MARI', RewriteSpectraMap=True)
ConvertUnits(InputWorkspace='run_monitors', OutputWorkspace='run_monitors', Target='TOF')
run_monitors = mtd['run_monitors']
tof = run_monitors.dataX(3)
tMin = tof[0]
tMax = tof[-1]
run = CreateSampleWorkspace( Function='Multiple Peaks',WorkspaceType='Event',NumBanks=8, BankPixelWidth=1,\
NumEvents=100000, XUnit='TOF',xMin=tMin,xMax=tMax)
LoadInstrument(run,InstrumentName='MARI', RewriteSpectraMap=True)
AddSampleLog(run,LogName='gd_prtn_chrg',LogText='1.',LogType='Number')
run.setMonitorWorkspace(run_monitors)
# build "monovanadium"
mono = CloneWorkspace(run)
mono_monitors = CloneWorkspace(run_monitors)
mono.setMonitorWorkspace(mono_monitors)
# build "White-beam"
wb_ws = Rebin(run,Params=[tMin,1,tMax],PreserveEvents=False)
# build "second run" to ensure repeated execution
run2 = CloneWorkspace(run)
run2_monitors = CloneWorkspace(run_monitors)
run2.setMonitorWorkspace(run2_monitors)
# Run multirep
tReducer = DirectEnergyConversion(run.getInstrument())
tReducer.prop_man.run_diagnostics=True
tReducer.hard_mask_file=None
tReducer.map_file=None
tReducer.prop_man.check_background = True
tReducer.prop_man.background_range=[0.99*tMax,tMax]
tReducer.prop_man.monovan_mapfile=None
tReducer.save_format=None
tReducer.prop_man.normalise_method='monitor-2'
tReducer.prop_man.bleed = True
tReducer.norm_mon_integration_range=[tMin,tMax]
AddSampleLog(run,LogName='good_frames',LogText='1.',LogType='Number Series')
result = tReducer.convert_to_energy(wb_ws,run,[67.,122.],[-2,0.02,0.8],None,mono)
self.assertEqual(len(result),2)
ws1=result[0]
self.assertEqual(ws1.getAxis(0).getUnit().unitID(),'DeltaE')
x = ws1.readX(0)
self.assertAlmostEqual(x[0],-2*67.)
self.assertAlmostEqual(x[-1],0.8*67.)
ws2=result[1]
self.assertEqual(ws2.getAxis(0).getUnit().unitID(),'DeltaE')
x = ws2.readX(0)
self.assertAlmostEqual(x[0],-2*122.)
self.assertAlmostEqual(x[-1],0.8*122.)
# test another ws
# rename samples from previous workspace to avoid deleting them on current run
for ind,item in enumerate(result):
result[ind]=RenameWorkspace(item,OutputWorkspace='SampleRez#'+str(ind))
#
AddSampleLog(run2,LogName='goodfrm',LogText='1',LogType='Number')
result2 = tReducer.convert_to_energy(None,run2)
rez = CompareWorkspaces(result[0],result2[0])
self.assertTrue(rez[0])
rez = CompareWorkspaces(result[1],result2[1])
self.assertTrue(rez[0])
示例3: test_multirep_abs_units_mode
# 需要导入模块: from Direct.DirectEnergyConversion import DirectEnergyConversion [as 别名]
# 或者: from Direct.DirectEnergyConversion.DirectEnergyConversion import map_file [as 别名]
def test_multirep_abs_units_mode(self):
# create test workspace
run_monitors = CreateSampleWorkspace(
Function="Multiple Peaks",
NumBanks=4,
BankPixelWidth=1,
NumEvents=100000,
XUnit="Energy",
XMin=3,
XMax=200,
BinWidth=0.1,
)
LoadInstrument(run_monitors, InstrumentName="MARI", RewriteSpectraMap=True)
ConvertUnits(InputWorkspace="run_monitors", OutputWorkspace="run_monitors", Target="TOF")
run_monitors = mtd["run_monitors"]
tof = run_monitors.dataX(3)
tMin = tof[0]
tMax = tof[-1]
run = CreateSampleWorkspace(
Function="Multiple Peaks",
WorkspaceType="Event",
NumBanks=8,
BankPixelWidth=1,
NumEvents=100000,
XUnit="TOF",
xMin=tMin,
xMax=tMax,
)
LoadInstrument(run, InstrumentName="MARI", RewriteSpectraMap=True)
# build "monovanadium"
mono = CloneWorkspace(run)
mono_monitors = CloneWorkspace(run_monitors)
# build "White-beam"
wb_ws = Rebin(run, Params=[tMin, 1, tMax], PreserveEvents=False)
# build "second run" to ensure repeated execution
run2 = CloneWorkspace(run)
run2_monitors = CloneWorkspace(run_monitors)
# Run multirep
tReducer = DirectEnergyConversion(run.getInstrument())
tReducer.prop_man.run_diagnostics = True
tReducer.hard_mask_file = None
tReducer.map_file = None
tReducer.prop_man.background_range = [0.99 * tMax, tMax]
tReducer.prop_man.monovan_mapfile = None
tReducer.save_format = None
tReducer.prop_man.normalise_method = "monitor-1"
tReducer.norm_mon_integration_range = [tMin, tMax]
result = tReducer.convert_to_energy(wb_ws, run, [67.0, 122.0], [-2, 0.02, 0.8], None, mono)
self.assertEqual(len(result), 2)
ws1 = result[0]
self.assertEqual(ws1.getAxis(0).getUnit().unitID(), "DeltaE")
x = ws1.readX(0)
self.assertAlmostEqual(x[0], -2 * 67.0)
self.assertAlmostEqual(x[-1], 0.8 * 67.0)
ws2 = result[1]
self.assertEqual(ws2.getAxis(0).getUnit().unitID(), "DeltaE")
x = ws2.readX(0)
self.assertAlmostEqual(x[0], -2 * 122.0)
self.assertAlmostEqual(x[-1], 0.8 * 122.0)
# test another ws
# rename samples from previous workspace to avoid deleting them on current run
for ind, item in enumerate(result):
result[ind] = RenameWorkspace(item, OutputWorkspace="SampleRez#" + str(ind))
#
result2 = tReducer.convert_to_energy(None, run2)
rez = CheckWorkspacesMatch(result[0], result2[0])
self.assertEqual(rez, "Success!")
rez = CheckWorkspacesMatch(result[1], result2[1])
self.assertEqual(rez, "Success!")