From cf110d70829e7d9d4e4fb1bc09f759db19f18fa4 Mon Sep 17 00:00:00 2001 From: "Peana, David" Date: Fri, 17 Jun 2022 17:01:41 -0400 Subject: [PATCH] routine --- andor_repo/andor/andor_driver.py | 63 ++++++++++-------- flir_repo/build/lib/flir/driver.py | 2 +- .../flir/__pycache__/driver.cpython-38.pyc | Bin 3956 -> 3956 bytes flir_repo/flir/driver.py | 10 +-- 4 files changed, 41 insertions(+), 34 deletions(-) diff --git a/andor_repo/andor/andor_driver.py b/andor_repo/andor/andor_driver.py index 151eb89..9112e7b 100644 --- a/andor_repo/andor/andor_driver.py +++ b/andor_repo/andor/andor_driver.py @@ -16,28 +16,34 @@ def __init__(self): (ret) = self.cam.CoolerON() (ret) = self.cam.SetCoolerMode(1) - (ret) = self.cam.SetTemperature(-60) #David added this - (ret) = self.cam.SetHSSpeed(0,0) #David added this 0 - (ret) = self.cam.SetVSSpeed(4)#.3) #David added this - (ret) = self.cam.SetVSAmplitude(0) #David added this - (ret) = self.cam.SetPreAmpGain(2) #David added this + (ret) = self.cam.SetTemperature(-60) + (ret) = self.cam.SetADChannel(0) # Added 4/6/22 + (ret) = self.cam.SetHSSpeed(0,0) # 0 corresponds to 17MHz on AD channel 0 (the only channel for our camera) in EM Gain mode + print("HSSpeed",self.cam.GetHSSpeed(0, 0, 0)) + (ret) = self.cam.SetVSSpeed(4) # 4 corresponds to 3.3us. 0 is .3 + print("VSSpeed",self.cam.GetVSSpeed(4)) + (ret) = self.cam.SetVSAmplitude(0) # 0 corresponds to 'Normal' 3 required for good image at 0.3 usec VSSpeed + print("Number VSAmplitudes is",self.cam.GetNumberVSAmplitudes()) + (ret) = self.cam.SetPreAmpGain(2) # 2 corresponds to a gain of 3.0 + print("PreAmpGain", self.cam.GetPreAmpGain(2)) (ret) = self.cam.SetBaselineClamp(1) (ret) = self.cam.SetOutputAmplifier(0) # 0 is EMCCD. David added this (ret) = self.cam.SetEMGainMode(3) # Max is 300? David added this (ret) = self.cam.SetEMCCDGain(50) # Max is 300? David added this (ret) = self.cam.SetCountConvertMode(1) # 1 is electron, 2 is photon + (ret) = self.cam.SetFrameTransferMode(0) # (ret) = self.cam.SetCountConvertWavelength(float(852)) - - #The only setting I have missed is the readout rate which I could not find. might be SetHorizontalSpeed - + (ret) = self.cam.SetShutter(0,1,50,50) # (0,1,50,50) opens shutter. (0,2,50,50) closes shutter. # (ret) = self.cam.SetAcquisitionMode(1) ############################################################## - (ret) = self.cam.SetFastExtTrigger(1) - (ret) = self.cam.SetAcquisitionMode(3) - (ret) = self.cam.SetNumberKinetics(2) + (ret) = self.cam.SetFastExtTrigger(1) #when FastExtTrigger is active, set to 1, camera will NOT wait until a Keep Clean cycle is complete before taking an image + (ret) = self.cam.SetAcquisitionMode(3) #3 is Kinetics + (ret) = self.cam.SetNumberKinetics(2) #number of images taken in an acquisition (ret) = self.cam.EnableKeepCleans(1) + (ret) = self.cam.SetNumberAccumulations(1) #Default value is 1. Excplicitly stating this is probably unnecessary. + (ret) = self.cam.SaveEEPROMToFile(r'C:\Users\hoodl\Desktop\EEPROM.txt') #(ret) = SetIsolatedCropMode(1, 30, 30, 1, 1) ############################################################## @@ -48,33 +54,34 @@ def __init__(self): (ret, self.xpixels, self.ypixels) = self.cam.GetDetector() self.imageSize = self.xpixels*self.ypixels (ret) = self.cam.SetImage(1, 1, 1, self.xpixels, 1, self.ypixels) - (ret) = self.cam.SetExposureTime(0.001) # Set exposure time here! 0.012 + (ret) = self.cam.SetExposureTime(0.012) # Set exposure time here! 0.012 (ret, self.fminExposure, self.fAccumulate, self.fKinetic) = self.cam.GetAcquisitionTimings() - ############################################################## (ret) = self.cam.PrepareAcquisition() - ############################################################## if atmcd.DRV_SUCCESS==ret: print("Andor Initializiation was successful...") else: print("Andor Initializiation failed...Try restarting Artiq and/or powercycling camera") - - #Settings we still need: temperature(-40), shift speed (3.3), Vertical Clock Voltage Amplitude (Normal/+0), Readout Rate (17MHz at 16-bit) - # ,Pre-Amp Gain (Gain 3), Output Amplifier (Electron Multiplying), Electron Multiplier (EM) Gain (Enabled->2) - - def shift_speed_change(self, HSSpeed1 = 0, HSSpeed2 = 0, VSSpeed = 4, VSAmplitude = 0, PreAmpGain = 2): + # # # def shift_speed_change(self, x, HSSpeed = 0, VSSpeed = 4, VSAmplitude = 0, PreAmpGain = 2): - (ret) = self.cam.SetHSSpeed(HSSpeed1, HSSpeed2) #David added this 0 - (ret) = self.cam.SetVSSpeed(VSSpeed)#.3) #David added this - (ret) = self.cam.SetVSAmplitude(VSAmplitude) #David added this - (ret) = self.cam.SetPreAmpGain(PreAmpGain) #David added this - - if atmcd.DRV_SUCCESS==ret: - print("shift success") - else: - print("shift_speed_change failed") + # # # (ret) = self.cam.SetHSSpeed(0, HSSpeed) # The first 0 declares electron multiplication + #print("HSSpeed",self.cam.GetHSSpeed(0,0,HSSpeed)) + # # # (ret) = self.cam.SetVSSpeed(VSSpeed) + #print("VSSpeed",self.cam.GetVSSpeed(VSSpeed)) + # # # (ret) = self.cam.SetVSAmplitude(VSAmplitude) + # # # (ret) = self.cam.SetPreAmpGain(PreAmpGain) + #print("PreAmpGain", self.cam.GetPreAmpGain(PreAmpGain)) + + # # # (ret) = self.cam.SetEMCCDGain(50) # Max is 300? David added this + # # # (ret) = self.cam.SetExposureTime(0.012) # Set exposure time here! 0.012 + + # # # (ret) = self.cam.PrepareAcquisition() + # # # if atmcd.DRV_SUCCESS==ret: + # # # print("shift success") + # # # else: + # # # print("shift_speed_change failed") def retrieve_trigger(self,images=1,timeout = 0): # Time out time in seconds # print("Retrieving trigger...") diff --git a/flir_repo/build/lib/flir/driver.py b/flir_repo/build/lib/flir/driver.py index 0ec0a05..f7b86c6 100644 --- a/flir_repo/build/lib/flir/driver.py +++ b/flir_repo/build/lib/flir/driver.py @@ -53,7 +53,7 @@ def __init__(self): # try: # Set camera serial numbers - serial_1 = '20343286' + serial_1 = '20409335' # 20343286 for 1st camera # Get system self.system = PySpin.System.GetInstance() diff --git a/flir_repo/flir/__pycache__/driver.cpython-38.pyc b/flir_repo/flir/__pycache__/driver.cpython-38.pyc index fa06fec193c6692c03aa0b0914d4db85768c7505..3df9d8ec71dfd5b3b6f9f32ee6b4d9cb16e04b11 100644 GIT binary patch delta 35 pcmew&_eG8`l$V!_0SI<-&r2#+-^j