Kasthuri2015 Cell Paper Get Data

The following tokens are available and associated with the Kasthuri2015 cell paper. There are several different versions of the data, depending on the resolution and characteristics required:

RAMONified Version (three cylinder bounding box only)

  • token: kasthuri2015_ramon_v3
  • channels: neurons, vesicles, mitochondria, synapses
  • native resolution: 3 (1 for vesicles)
  • bounding box at scale 3 resolution: X: [694,1794]; Y: [1750,2460]; Z: [1004,1379]

Raw Paper Data

Defined on the dataset extent (http://openconnecto.me/ocp/ca/kat11segments/info/)

  • kat11segments [res3]
  • kat11vesicles [res1]
  • kat11mito [res3]
  • kat11greencylinder [res1]
  • kat11mojocylinder [res1]
  • kat11redcylinder [res1]
  • kat11synapses [res3]

Other Data of Note

Kasthuri2015 AC3 and AC4 Data

This data is related to the recently published Cell Paper entitled a Saturated Reconstruction of a Volume of Neocortex. AC3 and AC4 are small reference datasets containing a variety of manually annotated “gold standard” annotations and corresponding machine vision results. These data are found on the server openconnecto.me. Clicking on the channel name will lead to an example slice in your browser.

 

Token Channel Description X Extent Y Extent Z Extent Resolution
ac3ac4 ac3\_neuron\_truth raw neuron label gold standard data 5472, 6496 8712, 9736 1000, 1256 1
ac3ac4 ac3\_synapse\_truth raw synapse label gold standard data 5472, 6496 8712, 9736 1000, 1256 1
ac3ac4 ac3membraneIDSIA computer vision membranes from isbi 2013 5472, 6496 8712, 9736 1156, 1256 1
ac3ac4 ac4\_neuron\_truth raw neuron label gold standard data 4400, 5424 5440, 6464 1100, 1200 1
ac3ac4 ac4\_synapse\_truth raw synapse label gold standard data 4400, 5424 5440, 6464 1100, 1200 1
ac3ac4 ac4membraneIDSIA computer vision membranes from isbi 2013 4400, 5424 5440, 6464 1100, 1200 1

Kasthuri2015 Computer Vision results

These annotations were produced with a variety of machine vision algorithms (documented elsewhere). These may be used as inputs to algorithms or for comparison purposes (citations to follow).

Token Channel Description X Extent Y Extent Z Extent Resolution
cv_kasthuri11_membrane_2014 image computer vision membrane detection reference for kasthuri volume 2300, 8300 4300, 9300 1, 1850 1
cv_kasthuri11_vesicle_2014 annotation computer vision vesicle detection reference for kasthuri volume 4400, 5424 5440, 6464 1100, 1200 1
cv_ac3_membrane_2014 image computer vision membrane detection reference for ac3 created for i2g paper 5200, 6700 8500, 10000 975, 1275 1
cv_ac3_vesicle_2014 annotation computer vision vesicle detection for i2g paper 5200, 6700 8500, 10000 975, 1275 1

In [1]:
# Example Data Pull @ scale 3 for in memory operations

import numpy as np
import ndio.remote.neurodata as neurodata
import ndio.ramon as ramon
import time
import ndio

start = time.time()

token = 'kasthuri2015_ramon_v4' 
channel = 'neurons' #already masked to the 3 cylinders
res = 3

nd = neurodata()

im = nd.get_volume(token, channel, 694, 1794, 1750, 2460, 1004, 1379, resolution=3)

if False: 
    # save data in matlab format
    data = {}
    data['im'] = im.cutout
    sio.savemat('downloaded_data.mat',data)

In [2]:
import pylab as plt
%matplotlib inline
plt.imshow(im.cutout[:,:,50].T) #need to transpose to be pythonic
plt.show()



In [5]:
# Second example - save full slices to disk
# Example:
#  python download-as-png.py kasthuri11 image 3 1100 1110
# (Will download slices 1100-1110 of the kasthuri11 dataset at resolution 3)

import ndio.remote.neurodata as neurodata
import ndio.convert.png as ndpng
import os.path
import sys
nd = neurodata()

token = 'kat11segments'
channel = 'annotation'
resolution = 3
z_start = 1100
z_stop  = 1110
dir_out = '~/pngtest/'
img_size = nd.get_image_size(token, resolution=resolution)
img_offset = nd.get_image_offset(token, resolution=resolution)

x_start = img_offset[0]
x_stop = img_size[0]
y_start = img_offset[1]
y_stop = img_size[1]

query = {
    "token":      token,
    "channel":    channel,
    "x_start":    x_start,
    "y_start":    y_start,
    "z_start":    z_start,
    "x_stop":     x_stop,
    "y_stop":     y_stop,
    "z_stop":     z_stop,
    "resolution": resolution
}

vol = nd.get_cutout(**query)
for z in range(0,vol.shape[2]):
    filename = '{}_{}_{}_{}_{}_{}_{}_{}.png'.format(token,channel,x_start,
                                                       x_stop,y_start,y_stop,
                                                       z_start+z, resolution)
    # TODO Confirm that transpose is fixed
    ndpng.save_collection(os.path.join(dir_out, filename), vol[:,:,z])


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-5-07b1093fc6cf> in <module>()
     42                                                        z_start+z, resolution)
     43     # TODO Confirm that transpose is fixed
---> 44     ndpng.save_collection(os.path.join(dir_out, filename), vol[:,:,z])

/Users/graywr1/anaconda2/lib/python2.7/site-packages/ndio/convert/png.pyc in save_collection(png_filename_base, numpy_data, start_layers_at)
    103     for layer in numpy_data:
    104         layer_filename = (str(i).zfill(6)).join(file_base_array) + file_ext
--> 105         output_files.append(export_png(layer_filename, layer))
    106         i += 1
    107 

NameError: global name 'export_png' is not defined

In [ ]: