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 [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
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 [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]:
In [16]:
gp.metrics.adapted_rand(out_cA_volume_after_auto_95, input_gold)
Out[16]:
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 [ ]: