<jupyter_start><jupyter_text>Research Proposal *<NAME>* December 22$^{nd}$, 2015  I am proposing a research direction to address the problem posed by Monica during our recent discussions. Here is the problem statement as I understand it so far. Given a 3D scan of cortical astrocytes, can we determine the particular orientation of one astrocyte based on the location and orientation of its neighboring astrocytes? I propose we construct a voronoi mesh around the target astrocyte. I will show below, that this voronoi mesh will be a convex hull around the target astrocyte and that this hull will be a discrete, piece-wise linear approximation to the space that is "optimally far" from all neighboring astrocytes and "optimally close" to the target astrocyte. IntroductionDuring recent discussions, Monica shared a hypothesis regarding the formation and relative positioning of neighboring astrocytes. In addition she expressed an interest in devising a quantifiable test to help validate its veracity. I will attempt to summarize the hypothesis in my own words here and then describe an experiment that I believe will accurately test the hypothesis. **Astrocytes express some form of chemical or molecular messengers which act as a deterrent to other astrocytes. As a result, astrocytes will try to align themselves maximally far away from one another.** To test this hypothesis we will need two things. Firstly we will need a formal definition of what it means to be "optimally far" from neighboring astrocytes and "optimally close" to the target astrocyte. Let us simply call this region the "optimal region". And secondly, we will need a method to test this hypothesis on the datasets provided by Monica and James. I have an idea for both. MethodologyOptimal RegionI propose that the "optimal region" or space that the target astrocyte should occupy given its neighbor's positions should be the region enclosed around the target astrocyte by the voronoi mesh constructed using the astrocyte's centroids. Given a set of unordered points, a voronoi mesh is created by connecting the midpoints of all of the lines between one point and its neighbors. I will demonstrate with a 2 dimensional example below. First we create 5 points in the region $[-5,5]\times[-5,5]$. These will be the centroids of the neighboring astrocytes.<jupyter_code>import numpy as np
xpoints = np.array([-4.,-2.,3.,2.,0.])
ypoints = np.array([0.,3.,4.,-1.,-3.])
import matplotlib.pyplot as plt
%matplotlib inline
plt.scatter(xpoints, ypoints)
plt.xlim((-5,5)); plt.ylim((-5,5))<jupyter_output><empty_output><jupyter_text>Above, we see 5 points. These indicate the centroids of astrocytes. We will use the origin, i.e. $(0,0)$, as the target astrocyte. Thus we will construct the voronoi region around the origin.<jupyter_code>plt.scatter((0),(0), color="red")
plt.scatter(xpoints, ypoints)
for pt in zip(xpoints,ypoints):
    plt.plot((0,pt[0]),(0,pt[1]),color="black")
plt.xlim((-5,5)); plt.ylim((-5,5))<jupyter_output><empty_output><jupyter_text>The target astrocyte is drawn in red. To help us visualize how the voronoi mesh is constructed we drew a line connecting the target astrocyte to each of its neighbors. Next we will mark the midpoint of each line with a green dot. These will form the vertices of the voronoi mesh.<jupyter_code>plt.scatter((0),(0), color="red")
plt.scatter(xpoints, ypoints)
vpts = []
for pt in zip(xpoints,ypoints):
    plt.plot((0,pt[0]),(0,pt[1]),color="black")
    plt.scatter((pt[0]/2),(pt[1]/2),color="green")
plt.xlim((-5,5)); plt.ylim((-5,5))<jupyter_output><empty_output><jupyter_text>Lastly, by connecting all of these vertices with green lines we will have the voronoi region around the origin marked off by the perimeter of green lines.<jupyter_code>plt.scatter((0),(0), color="red")
plt.scatter(xpoints, ypoints)
for i,pt in enumerate(zip(xpoints,ypoints)):
    plt.plot((0,pt[0]),(0,pt[1]),color="black")
    plt.scatter((pt[0]/2),(pt[1]/2),color="green")
    plt.plot((pt[0]/2,xpoints[i-1]/2),(pt[1]/2,ypoints[i-1]/2),color="green")
plt.xlim((-5,5)); plt.ylim((-5,5))<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.09834871296745994, 'fraction_numerical': 0.018455560951918408, 'mean_word_length': 5.41588785046729, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 18, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '4', 'dir': 'jupyter-structured-clean-dedup', 'id': '324894', 'license': 'MIT', 'n_tokens_mistral': 1268, 'n_tokens_neox': 1165, 'n_words': 523, 'path': 'Voronoi The Astrocytes.ipynb', 'repo_name': 'mathnathan/notebooks', 'size': '4124'}