123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- import numpy as np
- import matplotlib.pyplot as plt
- import seaborn as sns
- sns.set_context("talk")
- morphologies =["polar", "circular"]
- image_folder="../reports/images/"
- data_folder ="../../data/"
- connectivity = ["first_order", "second_order"]
- connectivity_dict={}
- for c in connectivity:
- connectivity_dict[c]={}
- for morphology in morphologies:
- connectivity_dict[c][morphology] = np.load("{:s}{:s}_connectivity_{:s}.npy".format(data_folder, c, morphology))
- connectivity_dict[c]["distances"] = np.load("{:s}{:s}_connectivity_{:s}.npy".format(data_folder, c,
- "distance_bins"))
- # Plot average number of connections versus distance
- cmperinch = 2.54
- figsize = (10.0/cmperinch, 10.0/cmperinch)
- fig=plt.figure(figsize=figsize)
- ax = fig.add_subplot(111)
- # First order
- rx, ry = 3., 1.
- area = rx * ry * np.pi
- theta = np.arange(0, 2 * np.pi + 0.11, 0.1)
- ellipsoid_verts = np.column_stack([rx / area * np.cos(theta), ry / area * np.sin(theta)])
- rx= 1
- ry = rx
- area = rx * ry * np.pi
- circular_verts = np.column_stack([rx / area * np.cos(theta), ry / area * np.sin(theta)])
- c = "first_order"
- distance_bins = connectivity_dict[c]["distances"]
- styles = [
- {
- "label": "polar",
- "marker": ellipsoid_verts
- },
- {
- "label": "circular",
- "marker": circular_verts
- }
- ]
- for morphology, style in zip(reversed(morphologies), reversed(styles)):
- number_of_connections = connectivity_dict[c][morphology]
- ax.plot(distance_bins[:-1], number_of_connections, ls ='--')
- ax.scatter(distance_bins[0:-2:5], number_of_connections[0:-1:5], **style)
- ax.grid()
- ax.set_axisbelow(True)
- ax.legend()
- ax.set_xlim(0,400)
- ax.set_xlabel("Distance (um)")
- ax.set_ylabel("<# of connections>")
- fig.tight_layout()
- fig.savefig(image_folder+"poster_distance_dependent_first_order_connectivity.png", dpi=300)
- fig.savefig(image_folder+"poster_distance_dependent_first_order_connectivity.pdf")
- figsize = (10.0/cmperinch, 10.0/cmperinch)
- fig=plt.figure(figsize=figsize)
- ax = fig.add_subplot(111)
- # First order
- rx, ry = 3., 1.
- area = rx * ry * np.pi
- theta = np.arange(0, 2 * np.pi + 0.11, 0.1)
- ellipsoid_verts = np.column_stack([rx / area * np.cos(theta), ry / area * np.sin(theta)])
- rx= 1
- ry = rx
- area = rx * ry * np.pi
- circular_verts = np.column_stack([rx / area * np.cos(theta), ry / area * np.sin(theta)])
- c = "second_order"
- distance_bins = connectivity_dict[c]["distances"]
- styles = [
- {
- "label": "polar",
- "marker": ellipsoid_verts
- },
- {
- "label": "circular",
- "marker": circular_verts
- }
- ]
- for morphology, style in zip(reversed(morphologies), reversed(styles)):
- number_of_connections = connectivity_dict[c][morphology]
- ax.plot(distance_bins[:-1], number_of_connections, ls ='--')
- ax.scatter(distance_bins[0:-2:5], number_of_connections[0:-1:5], **style)
- ax.grid()
- ax.set_axisbelow(True)
- ax.legend()
- ax.set_xlabel("Distance (um)")
- ax.set_ylabel("<# of connections>")
- ax.set_xlim(0,400)
- fig.tight_layout()
- fig.savefig(image_folder+"poster_distance_dependent_second_order_connectivity.png", dpi=300)
- fig.savefig(image_folder+"poster_distance_dependent_second_order_connectivity.pdf")
|