Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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)