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
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 [17]:
p = net.get_all_params()
In [42]:
X_test, y_test = gp.Patch.load_rgba_test_only('ipmlb')
In [39]:
net.layers_
Out[39]:
In [47]:
X_test[0][0].shape
Out[47]:
In [59]:
import theano
import theano.tensor as T
from lasagne.layers import get_output
In [63]:
x = X_test[100].reshape(1,4,75,75)
layer = net.layers_['hidden5']
xs = T.tensor4('xs').astype(theano.config.floatX)
get_activity = theano.function([xs], get_output(layer, xs))
activity = get_activity(x)
In [62]:
activity
Out[62]:
In [64]:
activity
Out[64]:
In [51]:
plot_conv_activity(net.layers_['hidden5'], X_test[0].reshape(1,4,75,75))
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/C/', z)
input_image[z] = image
input_prob[z] = prob
input_gold[z] = gold
input_rhoana[z] = rhoana
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]:
In [10]:
gp.metrics.adapted_rand(input_rhoana, input_gold)
Out[10]:
In [11]:
net.uuid = 'IPMLB'
bigM_cremiB = gp.Legacy.create_bigM_without_mask(net, input_image, input_prob, input_rhoana, verbose=True)
In [12]:
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 [13]:
gp.Util.vi(out_cA_volume_after_auto_95, input_gold)
Out[13]:
In [14]:
gp.metrics.adapted_rand(out_cA_volume_after_auto_95, input_gold)
Out[14]:
In [15]:
cA_auto_fixes_95
Out[15]:
In [4]:
ar = []
for z in range(input_rhoana.shape[0]):
ar.append(gp.metrics.adapted_rand(input_rhoana[z], input_gold[z]))
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 [6]:
import collections
In [ ]: