def importMatlabLSPS(directory): ABF_Files = [] MAT_Files = [] #NPZ_Files = [] for File in listdir(directory): if fnmatch(File, '*.abf'): ABF_Files.append(File) for File in listdir(directory): if fnmatch(File, '*.mat'): MAT_Files.append(File) #for File in listdir(directory): # if fnmatch(File, '*.npz'): # NPZ_Files.append(File) Raw_Recording = importABF(ABF_Files[0]) for File in ABF_Files[1:]: Raw_Recording = addRun(File, Raw_Recording) if not np.size(MAT_Files) == 0: Parameters = loadMatlab_LSPS_Parameters(MAT_Files[0]) Images = loadMatlab_LSPS_Image(MAT_Files[0]) for File in MAT_Files[1:]: tempParam = loadMatlab_LSPS_Parameters(File) for key in Parameters['Random_Stimulations'].keys(): Parameters['Random_Stimulations'][(key)] = np.dstack((Parameters['Random_Stimulations'][key], tempParam['Random_Stimulations'][key])) tempImage = loadMatlab_LSPS_Image(File) Images = np.dstack((Images, tempImage)) # Reorder the recordings based on random stimulation order Raw_Recording = reorderMatlabLSPS(Raw_Recording, Parameters) return Raw_Recording, Parameters, Images
def Execute_Experiment(a, Pins, Parameters, FG): a.pinMode(Pins['DigiData_Start'], 'output') Parameters = Site_Coordinates(Parameters) Parameters = Random_Sites(Parameters) time.sleep(1) for i in range(Parameters['Num_Sites']): # Set Galvos a.analogWrite(20,Parameters['Random_Stimulations']['Galvo_X'][i]) a.analogWrite(21,Parameters['Random_Stimulations']['Galvo_Y'][i]) time.sleep(0.1) # DigiData Start a.digitalWrite(Pins['DigiData_Start'], 1) time.sleep(0.1) a.digitalWrite(Pins['DigiData_Start'], 0) # Wait until recording finishes temp = int(a.digitalRead(Pins['DigiData_DOut'])) while temp == 0: temp = int(a.digitalRead(Pins['DigiData_DOut'])) time.sleep(0.3) # Reset Galvos a.analogWrite(20,0) a.analogWrite(21,0) # Capture DIC Image Image = FG.capture() time.sleep(1) # Import Recording Data ABF_Files = [] for file in listdir('C:/Users/RMBradley/Desktop/pClamp Recordings'): if fnmatch(file, '*.abf'): ABF_Files.append(file) Raw_Data = importABF(str('C:/Users/RMBradley/Desktop/pClamp Recordings/'+ ABF_Files[-1])) # Save Data print 'Saving data...' stdout.flush() filename = ABF_Files[-1].replace('.abf', '') np.savez(str('C:/Users/RMBradley/Desktop/pClamp Recordings/'+ filename),Parameters=Parameters, Image=Image, Raw_Data=Raw_Data)