In [3]:
import numpy
import csv
class SETUP():
def __init__(self):
data = open('../data/data.csv', 'r').readlines()
fieldnames = ['x', 'y', 'z', 'unmasked', 'synapses']
reader = csv.reader(data)
reader.next()
rows = [[int(col) for col in row] for row in reader]
sorted_x = sorted(list(set([r[0] for r in rows])))
sorted_y = sorted(list(set([r[1] for r in rows])))
sorted_z = sorted(list(set([r[2] for r in rows])))
# Pass-to-ranks volume, useful for reducing size of data.
self.ptr_volume = numpy.ndarray((len(sorted_x), len(sorted_y), len(sorted_z)))
self.volume = numpy.ndarray((max(sorted_x), max(sorted_y), max(sorted_z)))
for row in rows:
if row[-1] != 0:
self.volume[row[0], row[1], row[2]] = row[-1]
self.ptr_volume[sorted_x.index(row[0]), sorted_y.index(row[1]), sorted_z.index(row[2])] = row[-1]