In [2]:
import os
from lightning import Lightning

from numpy import random, asarray, linspace, corrcoef
from colorsys import hsv_to_rgb
from sklearn import datasets
import networkx as nx

In [ ]:
import matplotlib.pyplot as plt
import cPickle as pickle

In [5]:
lgn = Lightning(ipython=True, local=True)
Lightning.enable_ipython(lgn)


Lightning initialized
Running local mode, some functionality limited.

Running local mode, some functionality limited.


In [43]:
#lgn.graph(M)
M = np.loadtxt(open("/Users/etaralova/data/steph_225/viz/bm_adj_steph_90_01_tree.csv","rb"),delimiter=",")
P = np.loadtxt(open("/Users/etaralova/data/steph_225/viz/rois_xy_steph_90_01_tree.csv","rb"),delimiter=",")
lgn.graph(P[:,0], P[:,1],M)


Out[43]:

In [44]:
#bm_adj_steph_90_01_tree.csv
lgn.force(M)


Out[44]:

In [85]:
M = np.loadtxt(open("/Users/etaralova/data/steph_225/viz/bm_adj_steph_180_tree.csv","rb"),delimiter=",")
P = np.loadtxt(open("/Users/etaralova/data/steph_225/viz/rois_xy_steph_180_tree.csv","rb"),delimiter=",")
C = np.loadtxt(open("/Users/etaralova/data/steph_225/viz/colors_steph_180_tree.csv","rb"),delimiter=",")
C = C*255
#lgn.force(M, color=C) -- use
#lgn.graph(P[:,0], P[:,1],M)

In [301]:
DEPTH_CONNECT_180 = np.loadtxt(open("/Users/etaralova/data/steph_225_tree/DEPTH_CONNECT_steph_180_tree.csv", "rb"),delimiter=",")
DEPTH_COLORS = np.loadtxt(open("/Users/etaralova/data/steph_225_tree/DEPTH_COLORS.csv", "rb"),delimiter=",")
DEPTH_COLORS = DEPTH_COLORS*255
lgn.matrix(DEPTH_CONNECT_180, colormap="Purples", numbers=True, 
           row_labels=['V1', 'V1','LM','LM','RL','RL','RL'], column_labels=['V1', 'V1','LM','LM','RL','RL','RL'])


Out[301]:

In [ ]:
#not good:
#depth_positions = np.array([[18,6],[26,6],[0,0],[2,2],[40,0],[44,2],[46,4]],np.int32)
#lgn.graph(depth_positions[:,0], depth_positions[:,1],DEPTH_CONNECT_180,
#          color=DEPTH_COLORS,tooltips=True, labels=['V1', 'V1','LM','LM','RL','RL','RL'])
#better, but not super great!
#lgn.force(DEPTH_CONNECT_180,
#          color=DEPTH_COLORS,tooltips=True, 
#          labels=['V1_1', 'V1_2','LM_1','LM_2','RL_1','RL_2','RL_3'])

In [193]:
#roi_info = pickle.load(open('first_file.p', 'r'))
#roi_info

In [188]:
all_roi_info = pickle.load(open('all_roi_info.pky', 'r'))
#all_roi_info?
#all_roi_info?
#pickle.dump(all_roi_info,open('all_roi_info.pky','w'))


Out[188]:
RI ROI Orientation Temporal_Frequency Mean_Response SD_Response OSI DSI Tuned_trials

In [280]:
viz_path = "/Users/etaralova/data/steph_225_tree/"
for expt_id,value in all_roi_info.iteritems():
    print expt_id
EXPT_IDS_STRING = all_roi_info.keys()
EXPT_IDS_STRING


483061828
483020476
483056972
483059231
482923718
482924833
483020038
Out[280]:
['483061828',
 '483020476',
 '483056972',
 '483059231',
 '482923718',
 '482924833',
 '483020038']

In [307]:
from IPython.display import display, Javascript, HTML

In [308]:
ORIENT = 90

for depth_ids in (i for i in range(1,8)):
    e_i = 0
    #for expt_id,value in all_roi_info.iteritems():
        #print expt_id
        #e_i+=1
    expt_id = EXPT_IDS_STRING[depth_ids-1] 
    print "EXpt: ", expt_id, "depth: ", depth_ids
    #"483061828"
    high_resp = np.array(all_roi_info[expt_id].ROI)
    high_resp
    M = np.loadtxt(open(viz_path+"/bm_adj_steph_"+str(ORIENT)+"_"+"%02d"%depth_ids+"_tree.csv","rb"),delimiter=",")
    C = np.loadtxt(open(viz_path+"/colors_steph_"+str(ORIENT)+"_tree.csv","rb"),delimiter=",")
    C = C*255
    C_orig = C.copy()
    #lgn.force(M,color=C)
    C = C_orig.copy()
    C[high_resp,...] = [255, 0, 0]
    viz = lgn.force(M,color=C,
                    description="steph_"+str(ORIENT)+"_"+"%02d"%depth_ids+"_tree + high response")
    viz.save_html("steph_"+str(ORIENT)+"_"+
                  "%02d"%depth_ids+"_tree_hi_resp.html",
                 overwrite=True)
    print "SAVED: " + "steph_"+str(ORIENT)+"_"+"%02d"%depth_ids+"_tree_hi_resp.html"
    orient_sel = np.where(all_roi_info[expt_id].Orientation == ORIENT)[0]
    orient_sel
    C = C_orig.copy()
    C[orient_sel,...] = [0, 255, 0]
    viz = lgn.force(M,color=C,
                    description="steph_90_01_tree + orient select")
    #viz.save_html("steph_"+str(ORIENT)+"_"+
    #              "%02d"%depth_ids+"_tree_orient_sel.html",
    #             overwrite=True)
    display(HTML(viz.get_html()))
    #print "SAVED: " + "steph_"+str(ORIENT)+"_"+"%02d"%depth_ids+"_tree_orient_sel.html"


EXpt:  483061828 depth:  1
SAVED: steph_90_01_tree_hi_resp.html
EXpt:  483020476 depth:  2
SAVED: steph_90_02_tree_hi_resp.html
EXpt:  483056972 depth:  3
SAVED: steph_90_03_tree_hi_resp.html
EXpt:  483059231 depth:  4
SAVED: steph_90_04_tree_hi_resp.html
EXpt:  482923718 depth:  5
SAVED: steph_90_05_tree_hi_resp.html
EXpt:  482924833 depth:  6
SAVED: steph_90_06_tree_hi_resp.html
EXpt:  483020038 depth:  7
SAVED: steph_90_07_tree_hi_resp.html

In [305]:
#np.array(all_roi_info['483061828'].ROI)


Out[305]:
array([  1,  15,  35,  37,  39,  64,  92, 102, 113, 121, 124, 128, 132,
       136, 142, 143, 150, 174, 177, 178, 221, 254, 280, 307, 314, 321,
       323, 324, 329, 331, 339, 344, 348, 375, 449, 450, 454, 462, 468,
       469, 491, 494])

In [284]:
#o_string = "%02d" % ORIENT
#o_string
#expt_ids = [i for i in range(1,8)]
#expt_ids 
M = np.loadtxt(open("/Users/etaralova/data/steph_225/viz/bm_adj_steph_90_01_tree.csv","rb"),delimiter=",")
P = np.loadtxt(open("/Users/etaralova/data/steph_225/viz/rois_xy_steph_90_01_tree.csv","rb"),delimiter=",")
C = np.loadtxt(open("/Users/etaralova/data/steph_225/viz/colors_steph_90_01_tree.csv","rb"),delimiter=",")
C = C*255
C_orig = C.copy()


Out[284]:

In [285]:
C_orig = C.copy()

In [286]:
C = C_orig.copy()
C[orient_sel,...] = [0, 255, 0]
Z = np.zeros_like(M)
lgn.graph(P[:,0], P[:,1],Z,color=C)


Out[286]: