示例#1
0
def get_data(data_files):
  data_ranges = []
  data_names = []
  new_data_files = []
  row_ranges = []
  headers = []
  for df in data_files:
    if type(df) == list:
      df, ranges = df
    else:
      ranges = None
    # read the data file, and don't try to convert column 0 -- the contour names --
    # to anything other than a string.
    data = datafile.DataFile(df, skip_empty = False, type_dict = {0:str})
    header, rows = data.get_header_and_data()
    headers.append(header)
    if ranges is None:
      data_ranges.append(rows)
      data_names.append(path.path(df).namebase)
      new_data_files.append(df)
      if header is None: start = 0
      else: start = 1
      row_ranges.append(range(1+start, len(data.data)+start))
    else:
      for low, high, name in ranges:
        try:
          # recall that low, high give an inclusive, one-indexed range...
          data_ranges.append(data.data[low-1:high])
        except:
          raise ValueError('Cannot get row range (%d, %d) from data file "%s" -- not enough rows?')
        data_names.append(name)
        new_data_files.append(df)
        row_ranges.append(range(low, high+1))
  return headers, data_ranges, data_names, new_data_files, row_ranges
示例#2
0
def read_files(files, data_column):
    names = []
    data_out = []
    for df in files:
        names.append(path.path(df).namebase)
        data = datafile.DataFile(df, skip_empty=False, type_dict={0: str})
        header, rows = data.get_header_and_data()
        data_out.append(numpy.array([row[data_column] for row in rows]))
    return names, data_out
import numpy
from celltool.utility.path import path
import celltool.utility.datafile as datafile
import matplotlib.image as mpimg
from PIL import Image
import glob
import os

t = 0.1
bins = numpy.arange(0, 4, t)
"""Sets up some paths..."""
parent_dir = 'C:/Users/vymak_i7/Desktop/New_ER/Screen/Tm3/flashes/lobula/'
parent_path = path(
    'C:/Users/vymak_i7/Desktop/New_ER/Screen/Tm3/flashes/lobula/')
"""I'll explain this in person, ignore through line 54."""
header, rows = datafile.DataFile(parent_path /
                                 'directories.csv').get_header_and_data()

dir_list = [parent_dir + '/' + row[1] for row in rows]
path_list = [parent_path / row[1] for row in rows]

for directory, p in zip(dir_list[:], path_list[:]):

    print(directory)

    plot_dir = directory + '/plots/'
    print(plot_dir)

    image_dir1 = directory + '/RGECO'
    print(image_dir1)
    """This IDs and sorts image file names for one channel."""
    imagefiles1 = glob.glob(os.path.join(image_dir1, '*tif'))
示例#4
0
unmap_mdir = mlb_mdir + '/unmappable/'

#input flashes directory name
flashes_dir = 'C:/Users/vymak_i7/Desktop/New_ER/Screen/Mi1/10s_flashes/'
f_mdir = flashes_dir + '/measurements/'
f_pdir = flashes_dir + '/plots/'

# #input gratings directory name
# gratings_dir = 'C:/Users/vymak_i7/Desktop/New_ER/Screen/Mi1/gratings/'
# g_mdir = gratings_dir + '/measurements/'
# g_pdir = gratings_dir +'/plots/'

for br in brain_regions[:]:

    #import flash ER and RGECO data w/ mapped RF centers and separate headers and rows from each dataset
    header, rows = datafile.DataFile(f_mdir + 'mapped/newavg_flash-' + br +
                                     '-ER210.csv').get_header_and_data()
    flash_ER = np.asarray(rows)
    mapf_ER = np.asarray(flash_ER[:, 6:], dtype='float')

    header, rows = datafile.DataFile(f_mdir + 'mapped/newavg_flash-' + br +
                                     '-RGECO.csv').get_header_and_data()
    flash_CYT = np.asarray(rows)
    mapf_CYT = np.asarray(flash_CYT[:, 6:], dtype='float')
    print(len(mapf_CYT))

    # #import flash ER and RGECO data w/ unmapped RF centers and separate headers and rows from each dataset
    # header,rows = datafile.DataFile(f_mdir+'unmapped/newavg_flash-'+br+'-ER210.csv').get_header_and_data()
    # flash_ER = np.asarray(rows)
    # umapf_ER = np.asarray(flash_ER[:,6:],dtype = 'float')

    # header,rows = datafile.DataFile(f_mdir+'unmapped/newavg_flash-'+br+'-RGECO.csv').get_header_and_data()
示例#5
0
T = numpy.arange(0, 5, t)  #5 for flashes, 31 for gratings

threshold = 0.14  #0.6 for flashes; 0.13 for sum>0
threshold_inverted = -0.1

colors = ['#9900cc', '#00cc66', '#808080']
alphas = [1, 0.6]
brain_regions = ['M1', 'M5', 'M9-M10']

directory = 'C:/Users/vymak_i7/Desktop/New_ER/Screen/Mi1/2s_flashes/'
plot_dir = directory + '/plots/wo_screen'
m_dir = directory + '/measurements/'

for br in brain_regions[:]:

    header, rows = datafile.DataFile(m_dir + 'average_responses-' + br +
                                     '-RGECO.csv').get_header_and_data()
    R = numpy.asarray(rows)
    R = numpy.asarray(R[:, 6:], dtype='float')
    print(len(R) / 2)

    header, rows = datafile.DataFile(m_dir + 'average_responses-' + br +
                                     '-ER210.csv').get_header_and_data()
    ER = numpy.asarray(rows)
    ER = numpy.asarray(ER[:, 6:], dtype='float')

    OFF = []
    ON = []
    OFFer = []
    ONer = []
    OFF_inverted = []
    ON_inverted = []
示例#6
0
to_unmap_axons=[0,1,2,3,4,5,24,28,95,107,112,113,114,115,116,\
 117,118,119,120,121,122,123,124,125,126,127,128,129,\
 137,138,143,144,145,146,147,148,240,254,255,262,263,264]
to_map_axons = [45, 47, 51, 60, 64, 69, 118, 119, 120, 121, 122, 123, 206, 209]

to_unmap_indexes = [to_unmap_M1, to_unmap_M5, to_unmap_axons]
to_map_indexes = [to_map_M1, to_map_M5, to_map_axons]

for br, tounmap, tomap in zip(brain_regions[:], to_unmap_indexes[:],
                              to_map_indexes[:]):
    print('BRAIN REGION ' + br)

    #______SCREEN RF CENTERS____________

    #import MLB data w/ mapped and unmapped RF centers and separate headers and rows from each dataset
    header, rows = datafile.DataFile(map_mdir + 'RF_centers-' + br +
                                     '.csv').get_header_and_data()  #mapped
    mapRF = np.asarray(rows)
    header, rows = datafile.DataFile(unmap_mdir + 'RF_centers-' + br +
                                     '.csv').get_header_and_data()  #unmapped
    unmapRF = np.asarray(rows)
    print('RF centers total: ' + str(len(mapRF) + len(unmapRF)))

    #import flash ER and RGECO data w/ mapped RF centers and separate headers and rows from each dataset
    headerf, rows = datafile.DataFile(f_mdir + '/mapped/average_responses-' +
                                      br + '-ER210.csv').get_header_and_data()
    fmapER = np.asarray(rows)
    headerf, rows = datafile.DataFile(f_mdir + '/mapped/average_responses-' +
                                      br + '-RGECO.csv').get_header_and_data()
    fmapCYT = np.asarray(rows)

    #import flash ER and RGECO data w/ unmapped RF centers and separate headers and rows from each dataset
示例#7
0
import os
import shutil
from celltool.utility.path import path
import celltool.utility.datafile as datafile

stim = '10s_flashes'
"""Set up path"""
directory = 'C:/Users/vymak_i7/Desktop/New_ER/Screen/Tm3/medulla/' + stim
parent_dir = path(directory)
directories = os.listdir(parent_dir)

t_dir = 'C:/Users/vymak_i7/Desktop/New_ER/Screen/Tm3/medulla/google_drive/'
target_dir = path(t_dir)
dirs = os.listdir(target_dir)

header, rows = datafile.DataFile(parent_dir /
                                 'directories.csv').get_header_and_data()

path_list = [parent_dir / row[1] for row in rows]

##0) to rename files (optional)
# for row in directories[1:19]:

#     prev=os.path.join(directory+row,'mask-M3-M4.tif')
#     new = os.path.join(directory+row,'mask-M2-M5.tif')
#     os.rename(prev,new)

# 1) CREATE DIRECTORIES FOR GOOGLE DRIVE FOLDER
# i=1
# for row in rows[:]:

#     targetname=row[1][2:13]+'-z'+str(i)
out_mdir = MLB_dir + '/measurements/2s'
map_mdir = out_mdir + '/mappable/'
unmap_mdir = out_mdir + '/unmappable/'

plot_dir = MLB_dir + '/plots/2s'
map_pdir = plot_dir + '/mappable/'
unmap_pdir = plot_dir + '/unmappable/'

for br in brain_regions[:]:

    print('BRAIN REGION ' + str(br))

    #RGECO moving light bars data
    OUT = []  #for ROIS w/ mappable RFs
    OUT2 = []  #for ROIs w/ unmappable RFs
    header, rows = datafile.DataFile(out_mdir + '/average_responses-' + br +
                                     '.csv').get_header_and_data()
    R = numpy.asarray(rows)
    print('mlb count: ' + str(len(R) / 4))

    #RGECO flash responses data
    norm_cytf = []  #empty list for RFs pointing at the visual screen
    abn_cytf = [
    ]  #empty list for RFs not pointing at the screen or RFs having weak responses
    flash_header, rows = datafile.DataFile(flash_mdir + '/average_responses-' +
                                           br +
                                           '-RGECO.csv').get_header_and_data()
    flash_cyt = numpy.asarray(rows)
    print('flash count: ' + str(len(flash_cyt) / 2))

    #ER210 flash responses data
    norm_ERf = [
subfont = 12
supfont = 16

xo = numpy.arange(0,240,0.3)
x = numpy.arange(0,241,30)
xti = numpy.arange(0,241,30)

#t = 0.2855
#bins = numpy.arange(0,29.95,t)
brain_regions = ['Lo2','Lo4']

color = ['#9900cc','#00cc66','#808080'] 

parent_dir = 'C:/Users/vymak_i7/Desktop/New_ER/Screen/Tm3/gratings/lobula/'
parent_path = path('C:/Users/vymak_i7/Desktop/New_ER/Screen/Tm3/gratings/lobula/')
header,rows = datafile.DataFile(parent_path/'directories.csv').get_header_and_data()
parent_mdir = parent_dir+'/measurements/'

dir_list = [parent_dir+'/'+row[1] for row in rows]
path_list = [parent_path/row[1] for row in rows]


for br in brain_regions[:]:
    
    out = []
    out2 = []

    #import gratings ER and RGECO data and separate headers and rows from each dataset
    header,rows = datafile.DataFile(parent_mdir+'all_responses-'+br+'-ER210.csv').get_header_and_data()
    out = numpy.asarray(rows)
    out = numpy.asarray(out[:,3:],dtype = 'float')