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 [32]:
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 [3]:
# load cremi A data
import h5py
import mahotas as mh
import numpy as np
import tifffile as tif

In [4]:
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/A/', 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 [14]:
gp.Util.view(gold)



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



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



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



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


Out[54]:
1.1869559028075614

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


Out[9]:
0.62813858811232537

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

In [6]:
import collections

In [8]:
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 [40]:
net.uuid = 'IPMLB'
bigM_cremiA = gp.Legacy.create_bigM_without_mask(net, input_image, input_prob, input_rhoana, verbose=True)


2416 generated in 56.9996027946 seconds.
Grouped into 566 patches in 0.0106589794159 seconds.
2464 generated in 64.3138799667 seconds.
Grouped into 576 patches in 0.0101459026337 seconds.

In [48]:
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_cremiA, 
                                                                                                                            input_image, 
                                                                                                                            input_prob, 
                                                                                                                            input_rhoana,
                                                                                                                            input_gold, 
                                                                                                                            sureness_threshold=.95)

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


Out[53]:
1.6335262334342104

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


Out[56]:
0.51512425659267813

In [57]:
cA_auto_fixes_95


Out[57]:
[(0, 0.99999964237213135),
 (1, 0.99993455410003662),
 (0, 0.99991738796234131),
 (0, 0.99988996982574463),
 (0, 0.99985110759735107),
 (0, 0.99977564811706543),
 (0, 0.9997628927230835),
 (1, 0.99975866079330444),
 (0, 0.99974793195724487),
 (0, 0.99972277879714966),
 (0, 0.99971282482147217),
 (0, 0.99967020750045776),
 (1, 0.99959456920623779),
 (1, 0.999583899974823),
 (0, 0.99957650899887085),
 (1, 0.99951696395874023),
 (1, 0.99937832355499268),
 (0, 0.99928903579711914),
 (1, 0.99907684326171875),
 (0, 0.99902892112731934),
 (0, 0.99892705678939819),
 (0, 0.99888914823532104),
 (1, 0.9998706579208374),
 (1, 0.99888545274734497),
 (1, 0.99886083602905273),
 (0, 0.99883228540420532),
 (0, 0.99930858612060547),
 (0, 0.99880576133728027),
 (0, 0.99867504835128784),
 (1, 0.99838781356811523),
 (0, 0.99836021661758423),
 (1, 0.998313307762146),
 (0, 0.99977326393127441),
 (1, 0.99948069096907322),
 (0, 0.99829679727554321),
 (0, 0.99823164939880371),
 (0, 0.99810117483139038),
 (0, 0.99805045127868652),
 (0, 0.99798670411109924),
 (0, 0.99796545505523682),
 (1, 0.99765539169311523),
 (0, 0.99762481451034546),
 (1, 0.99757093191146851),
 (0, 0.99745088815689087),
 (1, 0.99744629859924316),
 (1, 0.99806791543960571),
 (0, 0.99728477001190186),
 (0, 0.99722194671630859),
 (1, 0.99717354774475098),
 (0, 0.99704605340957642),
 (0, 0.99807000160217285),
 (0, 0.99698829650878906),
 (0, 0.99676239490509033),
 (0, 0.99669891595840454),
 (0, 0.99664163589477539),
 (0, 0.99662810564041138),
 (0, 0.99655932188034058),
 (0, 0.99610930681228638),
 (1, 0.99609392881393433),
 (0, 0.99608230590820312),
 (0, 0.99596571922302246),
 (0, 0.99592643976211548),
 (0, 0.99586522579193115),
 (1, 0.99584603309631348),
 (1, 0.99571734666824341),
 (0, 0.99563068151473999),
 (0, 0.99558982253074646),
 (0, 0.99545818567276001),
 (1, 0.99520617723464966),
 (1, 0.99858176708221436),
 (0, 0.99508821964263916),
 (1, 0.99479794502258301),
 (1, 0.99470651149749756),
 (1, 0.9941592812538147),
 (1, 0.99396717548370361),
 (0, 0.99283701181411743),
 (0, 0.99251586198806763),
 (0, 0.99240303039550781),
 (1, 0.99220532178878784),
 (1, 0.99119514226913452),
 (0, 0.99049967527389526),
 (0, 0.99032366275787354),
 (0, 0.9902946949005127),
 (0, 0.98964732885360718),
 (0, 0.98952430486679077),
 (1, 0.98878282308578491),
 (1, 0.98830831050872803),
 (1, 0.98825187203676801),
 (1, 0.98817014694213867),
 (1, 0.98795485496520996),
 (1, 0.98782742023468018),
 (0, 0.98770588636398315),
 (0, 0.98676592111587524),
 (0, 0.98664224147796631),
 (0, 0.99529153108596802),
 (0, 0.98566669225692749),
 (1, 0.98557388782501221),
 (0, 0.98524630069732666),
 (0, 0.98451739549636841),
 (0, 0.98307508230209351),
 (1, 0.99812740087509155),
 (0, 0.99524879455566406),
 (0, 0.98302602767944336),
 (0, 0.98286211490631104),
 (0, 0.98253953456878662),
 (0, 0.98217910528182983),
 (1, 0.98078876733779907),
 (0, 0.98034143447875977),
 (1, 0.98022262223979884),
 (1, 0.97997605800628662),
 (0, 0.97958779335021973),
 (0, 0.9959639310836792),
 (0, 0.9790610671043396),
 (1, 0.98605304956436157),
 (0, 0.98372703790664673),
 (0, 0.97891914844512939),
 (0, 0.97822648286819458),
 (0, 0.97803950309753418),
 (0, 0.97624921798706055),
 (0, 0.97606635093688965),
 (0, 0.97589010000228882),
 (0, 0.9756653904914856),
 (0, 0.97457212209701538),
 (0, 0.97356939315795898),
 (0, 0.97215241193771362),
 (1, 0.96742033958435059),
 (0, 0.9673839807510376),
 (0, 0.96642327308654785),
 (0, 0.99197017055354353),
 (0, 0.9648902416229248),
 (0, 0.96455860137939453),
 (1, 0.96431434154510498),
 (1, 0.96414023637771606),
 (1, 0.96714228391647339),
 (0, 0.9639352560043335),
 (1, 0.97564470767974854),
 (0, 0.96214890480041504),
 (1, 0.96146029233932495),
 (1, 0.95773845911026001),
 (1, 0.9564635157585144),
 (0, 0.95535880327224731),
 (0, 0.95426416397094727),
 (0, 0.98732763528823853),
 (1, 0.95347857475280762),
 (1, 0.95283713042736051),
 (0, 0.95283502340316772),
 (1, 0.9515417218208313),
 (0, 0.95060360431671143)]

In [ ]: