In [1]:
%load_ext autoreload
%autoreload 2

import cPickle as pickle
import os; import sys; sys.path.append('..'); sys.path.append('../gp/')
import gp
import gp.nets as nets

from nolearn.lasagne.visualize import plot_loss
from nolearn.lasagne.visualize import plot_conv_weights
from nolearn.lasagne.visualize import plot_conv_activity
from nolearn.lasagne.visualize import plot_occlusion

from sklearn.metrics import classification_report, accuracy_score, roc_curve, auc, precision_recall_fscore_support, f1_score, precision_recall_curve, average_precision_score, zero_one_loss


from matplotlib.pyplot import imshow
import matplotlib.pyplot as plt

%matplotlib inline


/home/d/nolearn/local/lib/python2.7/site-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.
  warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')
Using gpu device 0: GeForce GTX TITAN (CNMeM is disabled, CuDNN 4007)
/home/d/nolearn/local/lib/python2.7/site-packages/theano/tensor/signal/downsample.py:6: UserWarning: downsample module has been moved to the theano.tensor.signal.pool module.
  "downsample module has been moved to the theano.tensor.signal.pool module.")

In [2]:
NETS = []
NETS.append('../nets/IPMLB_FULL.p') # image + prob + binary + large border

network_path = NETS[-1]

with open(network_path, 'rb') as f:
    net = pickle.load(f)

In [2]:
# load cremi A data
import h5py
import mahotas as mh
import numpy as np
import tifffile as tif

In [3]:
input_image = np.zeros((125,1250,1250))
input_rhoana = np.zeros((125,1250,1250), dtype=np.uint64)
input_gold = np.zeros((125,1250,1250), dtype=np.uint64)
input_prob = np.zeros((125,1250,1250))

for z in range(125):
    image, prob, gold, rhoana = gp.Cremi.read_section('/home/d/data/CREMI/B/', z)
    input_image[z] = image
    input_prob[z] = prob
    input_gold[z] = gold
    input_rhoana[z] = rhoana


Loading 000000000_000000000_000000000_image.png
Loading 000000000_000000000_000000001_image.png
Loading 000000000_000000000_000000002_image.png
Loading 000000000_000000000_000000003_image.png
Loading 000000000_000000000_000000004_image.png
Loading 000000000_000000000_000000005_image.png
Loading 000000000_000000000_000000006_image.png
Loading 000000000_000000000_000000007_image.png
Loading 000000000_000000000_000000008_image.png
Loading 000000000_000000000_000000009_image.png
Loading 000000000_000000000_000000010_image.png
Loading 000000000_000000000_000000011_image.png
Loading 000000000_000000000_000000012_image.png
Loading 000000000_000000000_000000013_image.png
Loading 000000000_000000000_000000014_image.png
Loading 000000000_000000000_000000015_image.png
Loading 000000000_000000000_000000016_image.png
Loading 000000000_000000000_000000017_image.png
Loading 000000000_000000000_000000018_image.png
Loading 000000000_000000000_000000019_image.png
Loading 000000000_000000000_000000020_image.png
Loading 000000000_000000000_000000021_image.png
Loading 000000000_000000000_000000022_image.png
Loading 000000000_000000000_000000023_image.png
Loading 000000000_000000000_000000024_image.png
Loading 000000000_000000000_000000025_image.png
Loading 000000000_000000000_000000026_image.png
Loading 000000000_000000000_000000027_image.png
Loading 000000000_000000000_000000028_image.png
Loading 000000000_000000000_000000029_image.png
Loading 000000000_000000000_000000030_image.png
Loading 000000000_000000000_000000031_image.png
Loading 000000000_000000000_000000032_image.png
Loading 000000000_000000000_000000033_image.png
Loading 000000000_000000000_000000034_image.png
Loading 000000000_000000000_000000035_image.png
Loading 000000000_000000000_000000036_image.png
Loading 000000000_000000000_000000037_image.png
Loading 000000000_000000000_000000038_image.png
Loading 000000000_000000000_000000039_image.png
Loading 000000000_000000000_000000040_image.png
Loading 000000000_000000000_000000041_image.png
Loading 000000000_000000000_000000042_image.png
Loading 000000000_000000000_000000043_image.png
Loading 000000000_000000000_000000044_image.png
Loading 000000000_000000000_000000045_image.png
Loading 000000000_000000000_000000046_image.png
Loading 000000000_000000000_000000047_image.png
Loading 000000000_000000000_000000048_image.png
Loading 000000000_000000000_000000049_image.png
Loading 000000000_000000000_000000050_image.png
Loading 000000000_000000000_000000051_image.png
Loading 000000000_000000000_000000052_image.png
Loading 000000000_000000000_000000053_image.png
Loading 000000000_000000000_000000054_image.png
Loading 000000000_000000000_000000055_image.png
Loading 000000000_000000000_000000056_image.png
Loading 000000000_000000000_000000057_image.png
Loading 000000000_000000000_000000058_image.png
Loading 000000000_000000000_000000059_image.png
Loading 000000000_000000000_000000060_image.png
Loading 000000000_000000000_000000061_image.png
Loading 000000000_000000000_000000062_image.png
Loading 000000000_000000000_000000063_image.png
Loading 000000000_000000000_000000064_image.png
Loading 000000000_000000000_000000065_image.png
Loading 000000000_000000000_000000066_image.png
Loading 000000000_000000000_000000067_image.png
Loading 000000000_000000000_000000068_image.png
Loading 000000000_000000000_000000069_image.png
Loading 000000000_000000000_000000070_image.png
Loading 000000000_000000000_000000071_image.png
Loading 000000000_000000000_000000072_image.png
Loading 000000000_000000000_000000073_image.png
Loading 000000000_000000000_000000074_image.png
Loading 000000000_000000000_000000075_image.png
Loading 000000000_000000000_000000076_image.png
Loading 000000000_000000000_000000077_image.png
Loading 000000000_000000000_000000078_image.png
Loading 000000000_000000000_000000079_image.png
Loading 000000000_000000000_000000080_image.png
Loading 000000000_000000000_000000081_image.png
Loading 000000000_000000000_000000082_image.png
Loading 000000000_000000000_000000083_image.png
Loading 000000000_000000000_000000084_image.png
Loading 000000000_000000000_000000085_image.png
Loading 000000000_000000000_000000086_image.png
Loading 000000000_000000000_000000087_image.png
Loading 000000000_000000000_000000088_image.png
Loading 000000000_000000000_000000089_image.png
Loading 000000000_000000000_000000090_image.png
Loading 000000000_000000000_000000091_image.png
Loading 000000000_000000000_000000092_image.png
Loading 000000000_000000000_000000093_image.png
Loading 000000000_000000000_000000094_image.png
Loading 000000000_000000000_000000095_image.png
Loading 000000000_000000000_000000096_image.png
Loading 000000000_000000000_000000097_image.png
Loading 000000000_000000000_000000098_image.png
Loading 000000000_000000000_000000099_image.png
Loading 000000000_000000000_000000100_image.png
Loading 000000000_000000000_000000101_image.png
Loading 000000000_000000000_000000102_image.png
Loading 000000000_000000000_000000103_image.png
Loading 000000000_000000000_000000104_image.png
Loading 000000000_000000000_000000105_image.png
Loading 000000000_000000000_000000106_image.png
Loading 000000000_000000000_000000107_image.png
Loading 000000000_000000000_000000108_image.png
Loading 000000000_000000000_000000109_image.png
Loading 000000000_000000000_000000110_image.png
Loading 000000000_000000000_000000111_image.png
Loading 000000000_000000000_000000112_image.png
Loading 000000000_000000000_000000113_image.png
Loading 000000000_000000000_000000114_image.png
Loading 000000000_000000000_000000115_image.png
Loading 000000000_000000000_000000116_image.png
Loading 000000000_000000000_000000117_image.png
Loading 000000000_000000000_000000118_image.png
Loading 000000000_000000000_000000119_image.png
Loading 000000000_000000000_000000120_image.png
Loading 000000000_000000000_000000121_image.png
Loading 000000000_000000000_000000122_image.png
Loading 000000000_000000000_000000123_image.png
Loading 000000000_000000000_000000124_image.png

In [25]:


In [5]:
gp.Util.view(gold)



In [6]:
gp.Util.view(rhoana)



In [7]:
gp.Util.view(prob, color=False)



In [8]:
gp.Util.view(image, color=False)



In [9]:
gp.Util.vi(input_rhoana, input_gold)


Out[9]:
1.6379129032154989

In [10]:
gp.metrics.adapted_rand(input_rhoana, input_gold)


Out[10]:
0.53965521106464931

In [11]:
net.uuid = 'IPMLB'
bigM_cremiB = gp.Legacy.create_bigM_without_mask(net, input_image, input_prob, input_rhoana, verbose=True)


1868 generated in 35.2141709328 seconds.
Grouped into 347 patches in 0.00780010223389 seconds.
2032 generated in 41.558412075 seconds.
Grouped into 378 patches in 0.0088529586792 seconds.

In [14]:
bigM_cA_after_95, out_cA_volume_after_auto_95, cA_auto_fixes_95, cA_auto_vi_s_95 = gp.Legacy.splits_global_from_M_automatic(net, 
                                                                                                                            bigM_cremiB, 
                                                                                                                            input_image, 
                                                                                                                            input_prob, 
                                                                                                                            input_rhoana,
                                                                                                                            input_gold, 
                                                                                                                            sureness_threshold=.95)

In [15]:
gp.Util.vi(out_cA_volume_after_auto_95, input_gold)


Out[15]:
2.2762014597371047

In [16]:
gp.metrics.adapted_rand(out_cA_volume_after_auto_95, input_gold)


Out[16]:
0.67938306779292756

In [4]:
ar = []
for z in range(input_rhoana.shape[0]):
    ar.append(gp.metrics.adapted_rand(input_rhoana[z], input_gold[z]))

In [5]:
import collections

In [7]:
data = collections.OrderedDict()
data['Initial\nSegmentation'] = ar
data['GP*\n   (sim.)'] = []#cylinder_sim_user_vi_s[-1]
# data['GP*\n   (sim.)'] = []#[v - 0.1 for v in dojo_vi_95[2]]
data['FP\n   (sim.)'] = []#dojo_vi_95[2]

gp.Legacy.plot_arand(data, '/tmp/cremi.pdf')#, output_folder+'/dojo_vi.pdf')



In [ ]: