In [5]:
%pylab inline
In [6]:
import gp
In [7]:
input_image, input_prob, input_gold, input_rhoana, dojo_bbox = gp.Legacy.read_dojo_data()
In [8]:
gp.Util.view_labels(input_rhoana[8], [68,70], crop=False)
In [9]:
binary = gp.Util.view_labels(input_rhoana[8], [68,70], crop=False, return_it=True)
splitted = np.array(binary)
In [10]:
binary[binary==1] = 2
In [11]:
imshow(binary)
Out[11]:
In [12]:
imshow(splitted)
Out[12]:
In [13]:
gp.Util.vi(binary.astype(np.uint64), input_gold[8].astype(np.uint64))
Out[13]:
In [14]:
gp.Util.vi(splitted.astype(np.uint64), input_gold[8].astype(np.uint64))
Out[14]:
In [15]:
imshow(input_gold[8])
Out[15]:
In [16]:
gp.Util.view((input_gold[8] + splitted).astype(np.uint64),large=True)
In [17]:
imshow(input_gold[8] + binary)
Out[17]:
In [18]:
splitted1 = np.array(splitted)
splitted2 = np.array(splitted)
In [19]:
splitted1[splitted1==1] = 0
In [20]:
imshow(splitted1)
Out[20]:
In [21]:
splitted2[splitted2==2] = 0
In [22]:
imshow(splitted2)
Out[22]:
In [23]:
gp.Util.vi(splitted1.astype(np.uint64), input_gold[8].astype(np.uint64))
Out[23]:
In [24]:
gp.Util.vi(splitted2.astype(np.uint64), input_gold[8].astype(np.uint64))
Out[24]:
In [26]:
plt.subplot(1,3,1)
imshow(input_gold[8])
plt.subplot(1,3,2)
imshow(splitted)
plt.subplot(1,3,3)
imshow(binary)
Out[26]:
In [27]:
input_gold.dtype
Out[27]:
In [28]:
splitted.dtype
Out[28]:
In [29]:
binary.dtype
Out[29]:
In [36]:
gp.Util.vi(splitted.astype(np.uint64).flatten(), input_gold[8].astype(np.uint64).flatten())
Out[36]:
In [33]:
gp.Util.vi(binary.astype(np.uint64).flatten(), input_gold[8].astype(np.uint64).flatten())
Out[33]:
In [46]:
print np.unique(binary)
print np.unique(splitted)
print np.unique(input_gold[8])
In [49]:
test = input_gold[8]*(binary>0)
print np.unique(test)
In [59]:
# 43, 52
gt = np.zeros_like(test)
gt[test==43] = 1
gt[test==52] = 2
imshow(gt)
Out[59]:
In [60]:
gp.Util.vi(binary.astype(np.uint64).flatten(), gt.astype(np.uint64).flatten())
Out[60]:
In [61]:
gp.Util.vi(splitted.astype(np.uint64).flatten(), gt.astype(np.uint64).flatten())
Out[61]:
In [65]:
imshow(binary+gt)
Out[65]:
In [64]:
imshow(splitted+gt)
Out[64]:
In [74]:
test = binary.copy()
test[gt==1] = 5
In [75]:
imshow(test)
Out[75]:
In [76]:
gp.Util.vi(test.astype(np.uint64).flatten(), gt.astype(np.uint64).flatten())
Out[76]:
In [78]:
mask = test==5
imshow(mask+binary)
Out[78]:
In [79]:
gp.Util.vi((mask+binary).astype(np.uint64).flatten(), gt.astype(np.uint64).flatten())
Out[79]:
In [80]:
import mahotas
In [114]:
mask = test==5
mask_orig = mask.copy()
values = []
for i in xrange(40):
mask = mahotas.erode(mask)
vi = gp.Util.vi((mask+binary).astype(np.uint64).flatten(), gt.astype(np.uint64).flatten())
#print i, vi
values.append(vi)
imshow(mask+binary)
plt.show()
In [115]:
plt.plot(values)
Out[115]:
In [116]:
imshow(gt)
Out[116]:
In [ ]: