def on_activate(self):
""" Activate module.
This method needs to set ip the CLR to Python binding and start Lightfield.
"""
lfpath = os.environ['LIGHTFIELD_ROOT']
lfaddinpath = os.path.join(os.environ['LIGHTFIELD_ROOT'], 'AddInViews')
sys.path.append(lfpath)
sys.path.append(lfaddinpath)
ref1 = clr.AddReference('PrincetonInstruments.LightFieldViewV4')
ref2 = clr.AddReference('PrincetonInstruments.LightField.AutomationV4')
#print(dir(ref), '\n\n')
#ref.LoadFrom(ref.Location)
verbose = list(clr.ListAssemblies(True))
short = list(clr.ListAssemblies(False))
#for i in short:
# print('ASSEMBLY:', i)
#for i in verbose:
# print('ASS:', i)
#for i in ref2.Modules:
# print('ASS Module:', i)
#for i in ref2.ExportedTypes:
# print('ASS Exported type:', i)
try:
for i in ref2.DefinedTypes:
print('ASS Defined type:', i)
except System.Reflection.ReflectionTypeLoadException as e:
for i in e.LoaderExceptions:
print('EXC:', i.Message)
print('ASS Entry point:', ref2.EntryPoint)
print('ASS is Dynamic:', ref2.IsDynamic)
from PrincetonInstruments.LightField.Automation import Automation
import PrincetonInstruments.LightField.AddIns as ai
lst = col.List[System.String]()
self.au = Automation(True, lst)
self.app = self.au.LightFieldApplication
self.exp = self.app.Experiment
self.exp.ExperimentCompleted += EventHandler(self.setAcquisitionComplete)
self.exp.ImageDataSetReceived += EventHandler(self.frameCallback)
self.exp.SettingChanged += EventHandler(self.settingChangedCallback)
self.app.UserInteractionManager.SuppressUserInteraction = True
self.prevExperimentName = self.exp.Name
print('Prev Exp', self.prevExperimentName)
#self.getExperimentList()
#self.openExperiment(name)
self.lastframe = list()
评论列表
文章目录