In [1]:
%matplotlib inline
In [2]:
from ndreg import *
import matplotlib
import ndio.remote.neurodata as neurodata
import nibabel as nb
import numpy as np
In [5]:
inToken = "Aut1374"
inImg = imgDownload(inToken, resolution=5)
imgShow(inImg, vmax=500)
In [6]:
data_copy = imgCopy(inImg)
print type(inImg)
print type(data_copy)
In [7]:
data = np.genfromtxt('Aut1374localeq.40000.brightest.csv', dtype=int, delimiter=',', usecols = (0,1,2), names=['x','y','z'])
In [15]:
data_copy = data
data_a = data_copy['x']
data_b = data_copy['y']
data_c = data_copy['z']
In [16]:
print len(data['x'])
In [17]:
print data_a
In [18]:
import numpy
data_a = numpy.append(data_a, data_copy['x']+1)
data_b = numpy.append(data_b, data_copy['y']+0)
data_c = numpy.append(data_c, data_copy['z']+0)
Out[18]:
In [19]:
print len(data_a)
In [20]:
data_a = numpy.append(data_a, data_copy['x']+0)
data_b = numpy.append(data_b, data_copy['y']+1)
data_c = numpy.append(data_c, data_copy['z']+0)
print len(data_a)
In [21]:
data_a = numpy.append(data_a, data_copy['x']+0)
data_b = numpy.append(data_b, data_copy['y']+0)
data_c = numpy.append(data_c, data_copy['z']+1)
print len(data_a)
In [22]:
data_a = numpy.append(data_a, data_copy['x']-1)
data_b = numpy.append(data_b, data_copy['y']+0)
data_c = numpy.append(data_c, data_copy['z']+0)
print len(data_a)
In [23]:
data_a = numpy.append(data_a, data_copy['x']+0)
data_b = numpy.append(data_b, data_copy['y']-1)
data_c = numpy.append(data_c, data_copy['z']+0)
print len(data_a)
In [24]:
data_a = numpy.append(data_a, data_copy['x']+0)
data_b = numpy.append(data_b, data_copy['y']+0)
data_c = numpy.append(data_c, data_copy['z']-1)
print len(data_a)
In [25]:
from plotly.offline import download_plotlyjs, init_notebook_mode, iplot
from plotly import tools
import plotly
import plotly.graph_objs as go
plotly.offline.init_notebook_mode()
In [26]:
trace1 = go.Scatter3d(
x = data_a,
y = data_b,
z = data_c,
mode='markers',
marker=dict(
size=1.2,
color='purple', # set color to an array/list of desired values
colorscale='Viridis', # choose a colorscale
opacity=0.15
)
)
data = [trace1]
layout = go.Layout(
margin=dict(
l=0,
r=0,
b=0,
t=0
)
)
fig = go.Figure(data=data, layout=layout)
plotly.offline.iplot(fig)
In [27]:
final_data = numpy.concatenate([data_a.T, data_b.T, data_c.T])
In [28]:
final_data = numpy.vstack((data_a, data_b, data_c))
print final_data.shape
final_data = numpy.transpose(final_data)
print final_data.shape
In [29]:
xList = []
yList = []
zList = []
for l in final_data:
xList.append(l[0])
yList.append(l[1])
zList.append(l[2])
In [30]:
data_test = imgCopy(inImg)
In [31]:
# Sanity check
print data_test.GetSize()
print type(data_test)
In [35]:
print data_test.GetPixel(82, 91, 209)
print data_test.GetPixel(250, 250, 1000)
print data_test.GetPixel(501, 141, 700)
In [37]:
print data_test.GetSize()[0]
In [40]:
## We can arbitrarly set any value inside data_test. Thus, to create a channel
## to upload, we set everything inside to zero.
for i in range(data_test.GetSize()[0]):
print i
for j in range(data_test.GetSize()[1]):
for k in range(data_test.GetSize()[2]):
data_test[i, j, k] = 0
In [41]:
## Write data_test to save
imgWrite(data_test, 'Aut1374_zeros.nii')
In [44]:
abc = 1;
print type(abc)
In [45]:
## Now that everything is zero, set the brightest points from XList, YList, ZList to new colors, and upload
# as an annotation channel.
invalidLines = [];
counter = 1;
for i in range(len(xList)):
try:
data_test[int(xList[i]), int(yList[i]), int(zList[i])] = 254;
counter = counter + 1;
except IndexError:
invalidLines.append(l)
In [46]:
print invalidLines
In [47]:
print data_test
In [52]:
print data_test[284, 180, 992]
In [48]:
## all as one brightness value
## annotation channel
## nothing shows up
imgUpload(channel='testing_bright_points',token='bright_points', img=data_test)
In [49]:
## all as one brightness value
## uint8
## nothing shows up?
imgUpload(channel = 'thingy', token = 'bright_points', img = data_test)
In [ ]: