In [1]:
from matplotlib.pyplot import imshow
import matplotlib.pyplot as plt

%matplotlib inline

In [2]:
import cPickle as pickle
from sklearn.metrics import precision_recall_curve, roc_curve

In [3]:
with open('/home/d/CREMIBIG/gp_y_test_proba.p', 'rb') as f:
    gp_y_test_proba_cremi = pickle.load(f)
with open('/home/d/CREMIBIG/fp_y_test_proba.p', 'rb') as f:
    fp_y_test_proba_cremi = pickle.load(f)
with open('/home/d/CREMIBIG/gt_y_test.p', 'rb') as f:
    gt_y_test_cremi = pickle.load(f)

In [5]:
len(gt_y_test_cremi)


Out[5]:
79792

In [19]:
gp_fpr_cremi, gp_tpr_cremi, gp_thresholds_cremi = roc_curve(gt_y_test_cremi, 
                                                                               gp_y_test_proba_cremi, 
                                                                               pos_label=1)
fp_fpr_cremi, fp_tpr_cremi, fp_thresholds_cremi = roc_curve(gt_y_test_cremi, 
                                                                               fp_y_test_proba_cremi, 
                                                                               pos_label=1)

gp_fpr_cremiA, gp_tpr_cremiA, gp_thresholds_cremiA = roc_curve(gt_y_test_cremi[0:cremiA_p], 
                                                                               gp_y_test_proba_cremi[0:cremiA_p], 
                                                                               pos_label=1)
fp_fpr_cremiA, fp_tpr_cremiA, fp_thresholds_cremiA = roc_curve(gt_y_test_cremi[0:cremiA_p], 
                                                                               fp_y_test_proba_cremi[0:cremiA_p], 
                                                                               pos_label=1)

gp_fpr_cremiB, gp_tpr_cremiB, gp_thresholds_cremiB = roc_curve(gt_y_test_cremi[cremiA_p:cremiA_p+cremiB_p], 
                                                                               gp_y_test_proba_cremi[cremiA_p:cremiA_p+cremiB_p], 
                                                                               pos_label=1)
fp_fpr_cremiB, fp_tpr_cremiB, fp_thresholds_cremiB = roc_curve(gt_y_test_cremi[cremiA_p:cremiB_p+cremiA_p], 
                                                                               fp_y_test_proba_cremi[cremiA_p:cremiB_p+cremiA_p], 
                                                                               pos_label=1)

gp_fpr_cremiC, gp_tpr_cremiC, gp_thresholds_cremiC = roc_curve(gt_y_test_cremi[-cremiC_p:], 
                                                                               gp_y_test_proba_cremi[-cremiC_p:], 
                                                                               pos_label=1)
fp_fpr_cremiC, fp_tpr_cremiC, fp_thresholds_cremiC = roc_curve(gt_y_test_cremi[-cremiC_p:], 
                                                                               fp_y_test_proba_cremi[-cremiC_p:], 
                                                                               pos_label=1)

fig = plt.figure(figsize=(10,10))
# plt.plot(gp_fpr_cremi, gp_tpr_cremi, color='#0571b0', label='Guided Proofreading: CREMI', linewidth=3)
# plt.plot(gp_fpr_cyl, gp_tpr_cyl, color='#92c5de', label='Guided Proofreading: L.Cylinder', linewidth=3)
# plt.plot(fp_fpr_cremi, fp_tpr_cremi, color='#ca0020', label='Focused Proofreading: CREMI', linewidth=3)
# plt.plot(fp_fpr_cyl, fp_tpr_cyl, color='#f4a582', label='Focused Proofreading: L.Cylinder', linewidth=3)

plt.plot(gp_fpr_cremiA, gp_tpr_cremiA, color='#2166ac', label='Guided Proofreading: CREMI A', linewidth=3)
plt.plot(fp_fpr_cremiA, fp_tpr_cremiA, color='#b2182b', label='Focused Proofreading: CREMI A', linewidth=3)

plt.plot(gp_fpr_cremiB, gp_tpr_cremiB, color='#67a9cf', label='Guided Proofreading: CREMI B', linewidth=3)
plt.plot(fp_fpr_cremiB, fp_tpr_cremiB, color='#ef8a62', label='Focused Proofreading: CREMI B', linewidth=3)

plt.plot(gp_fpr_cremiC, gp_tpr_cremiC, color='#d1e5f0', label='Guided Proofreading: CREMI C', linewidth=3)
plt.plot(fp_fpr_cremiC, fp_tpr_cremiC, color='#fddbc7', label='Focused Proofreading: CREMI C', linewidth=3)


plt.ylim([0.0, 1.05])
plt.xlim([0.0, 1.00])

font = {'family' : 'sans-serif',
        'weight' : 'normal',
        'size'   : 22}

plt.rc('font', **font)
plt.rc('legend',**{'fontsize':18})

plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')

plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.legend( loc='lower right')
plt.savefig('/home/d/PAPERGFX/cremi_roc_separate.pdf', bbox_inches='tight')



In [22]:
gp_fpr_cremi, gp_tpr_cremi, gp_thresholds_cremi = roc_curve(gt_y_test_cremi, 
                                                                               gp_y_test_proba_cremi, 
                                                                               pos_label=1)
fp_fpr_cremi, fp_tpr_cremi, fp_thresholds_cremi = roc_curve(gt_y_test_cremi, 
                                                                               fp_y_test_proba_cremi, 
                                                                               pos_label=1)

gp_fpr_cremiA, gp_tpr_cremiA, gp_thresholds_cremiA = roc_curve(gt_y_test_cremi[cremiA_p_s_s:cremiA_p_s_e], 
                                                                               gp_y_test_proba_cremi[cremiA_p_s_s:cremiA_p_s_e], 
                                                                               pos_label=1)
fp_fpr_cremiA, fp_tpr_cremiA, fp_thresholds_cremiA = roc_curve(gt_y_test_cremi[cremiA_p_s_s:cremiA_p_s_e], 
                                                                               fp_y_test_proba_cremi[cremiA_p_s_s:cremiA_p_s_e], 
                                                                               pos_label=1)

gp_fpr_cremiB, gp_tpr_cremiB, gp_thresholds_cremiB = roc_curve(gt_y_test_cremi[cremiB_p_s_s:cremiB_p_s_e], 
                                                                               gp_y_test_proba_cremi[cremiB_p_s_s:cremiB_p_s_e], 
                                                                               pos_label=1)
fp_fpr_cremiB, fp_tpr_cremiB, fp_thresholds_cremiB = roc_curve(gt_y_test_cremi[cremiB_p_s_s:cremiB_p_s_e], 
                                                                               fp_y_test_proba_cremi[cremiB_p_s_s:cremiB_p_s_e], 
                                                                               pos_label=1)

gp_fpr_cremiC, gp_tpr_cremiC, gp_thresholds_cremiC = roc_curve(gt_y_test_cremi[cremiC_p_s_s:cremiC_p_s_e], 
                                                                               gp_y_test_proba_cremi[cremiC_p_s_s:cremiC_p_s_e], 
                                                                               pos_label=1)
fp_fpr_cremiC, fp_tpr_cremiC, fp_thresholds_cremiC = roc_curve(gt_y_test_cremi[cremiC_p_s_s:cremiC_p_s_e], 
                                                                               fp_y_test_proba_cremi[cremiC_p_s_s:cremiC_p_s_e], 
                                                                               pos_label=1)

fig = plt.figure(figsize=(10,10))
# plt.plot(gp_fpr_cremi, gp_tpr_cremi, color='#0571b0', label='Guided Proofreading: CREMI', linewidth=3)
# plt.plot(gp_fpr_cyl, gp_tpr_cyl, color='#92c5de', label='Guided Proofreading: L.Cylinder', linewidth=3)
# plt.plot(fp_fpr_cremi, fp_tpr_cremi, color='#ca0020', label='Focused Proofreading: CREMI', linewidth=3)
# plt.plot(fp_fpr_cyl, fp_tpr_cyl, color='#f4a582', label='Focused Proofreading: L.Cylinder', linewidth=3)

plt.plot(gp_fpr_cremiA, gp_tpr_cremiA, color='#2166ac', label='Guided Proofreading: CREMI A', linewidth=3)
plt.plot(fp_fpr_cremiA, fp_tpr_cremiA, color='#b2182b', label='Focused Proofreading: CREMI A', linewidth=3)

plt.plot(gp_fpr_cremiB, gp_tpr_cremiB, color='#67a9cf', label='Guided Proofreading: CREMI B', linewidth=3)
plt.plot(fp_fpr_cremiB, fp_tpr_cremiB, color='#ef8a62', label='Focused Proofreading: CREMI B', linewidth=3)

plt.plot(gp_fpr_cremiC, gp_tpr_cremiC, color='#d1e5f0', label='Guided Proofreading: CREMI C', linewidth=3)
plt.plot(fp_fpr_cremiC, fp_tpr_cremiC, color='#fddbc7', label='Focused Proofreading: CREMI C', linewidth=3)


plt.ylim([0.0, 1.05])
plt.xlim([0.0, 1.00])

font = {'family' : 'sans-serif',
        'weight' : 'normal',
        'size'   : 22}

plt.rc('font', **font)
plt.rc('legend',**{'fontsize':18})

plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')

plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.legend( loc='lower right')
plt.savefig('/home/d/PAPERGFX/cremi_roc_separate_small.pdf', bbox_inches='tight')



In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [8]:
aaa='''
working on slice 0
no mask
Generated 864 split error patches and 864  correct patches in 88.7517929077 seconds.
working on slice 1
no mask
Generated 644 split error patches and 644  correct patches in 77.0009469986 seconds.
working on slice 2
no mask
Generated 412 split error patches and 412  correct patches in 64.2233221531 seconds.
working on slice 3
no mask
Generated 408 split error patches and 408  correct patches in 60.1068799496 seconds.
working on slice 4
no mask
Generated 392 split error patches and 392  correct patches in 61.5711750984 seconds.
working on slice 5
no mask
Generated 456 split error patches and 456  correct patches in 67.9314539433 seconds.
working on slice 6
no mask
Generated 584 split error patches and 584  correct patches in 72.199368 seconds.
working on slice 7
no mask
Generated 516 split error patches and 516  correct patches in 74.4610579014 seconds.
working on slice 8
no mask
Generated 600 split error patches and 600  correct patches in 79.8463599682 seconds.
working on slice 9
no mask
Generated 536 split error patches and 536  correct patches in 73.4399859905 seconds.
working on slice 10
no mask
Generated 660 split error patches and 660  correct patches in 80.8224570751 seconds.
working on slice 11
no mask
Generated 516 split error patches and 516  correct patches in 73.8577289581 seconds.
working on slice 12
no mask
Generated 568 split error patches and 568  correct patches in 72.4297659397 seconds.
working on slice 13
no mask
Generated 748 split error patches and 748  correct patches in 81.5840780735 seconds.
working on slice 14
no mask
Generated 548 split error patches and 548  correct patches in 72.7623548508 seconds.
working on slice 15
no mask
Generated 440 split error patches and 440  correct patches in 65.453111887 seconds.
working on slice 16
no mask
Generated 448 split error patches and 448  correct patches in 67.6617920399 seconds.
working on slice 17
no mask
Generated 676 split error patches and 676  correct patches in 78.8249759674 seconds.
working on slice 18
no mask
Generated 712 split error patches and 712  correct patches in 81.3622560501 seconds.
working on slice 19
no mask
Generated 588 split error patches and 588  correct patches in 76.3714969158 seconds.
working on slice 20
no mask
Generated 640 split error patches and 640  correct patches in 75.4619441032 seconds.
working on slice 21
no mask
Generated 568 split error patches and 568  correct patches in 75.369535923 seconds.
working on slice 22
no mask
Generated 564 split error patches and 564  correct patches in 74.2786240578 seconds.
working on slice 23
no mask
Generated 620 split error patches and 620  correct patches in 76.340389967 seconds.
working on slice 24
no mask
Generated 412 split error patches and 412  correct patches in 64.9502279758 seconds.
working on slice 25
no mask
Generated 560 split error patches and 560  correct patches in 49.6370921135 seconds.
working on slice 26
no mask
Generated 456 split error patches and 456  correct patches in 45.1472828388 seconds.
working on slice 27
no mask
Generated 432 split error patches and 432  correct patches in 45.1168401241 seconds.
working on slice 28
no mask
Generated 444 split error patches and 444  correct patches in 43.5215339661 seconds.
working on slice 29
no mask
Generated 588 split error patches and 588  correct patches in 48.6778891087 seconds.
working on slice 30
no mask
Generated 496 split error patches and 496  correct patches in 49.1675620079 seconds.
working on slice 31
no mask
Generated 520 split error patches and 520  correct patches in 42.579144001 seconds.
working on slice 32
no mask
Generated 452 split error patches and 452  correct patches in 35.224063158 seconds.
working on slice 33
no mask
Generated 372 split error patches and 372  correct patches in 31.4410500526 seconds.
working on slice 34
no mask
Generated 428 split error patches and 428  correct patches in 35.9716060162 seconds.
working on slice 35
no mask
Generated 400 split error patches and 400  correct patches in 37.2554290295 seconds.
working on slice 36
no mask
Generated 372 split error patches and 372  correct patches in 35.0172948837 seconds.
working on slice 37
no mask
Generated 412 split error patches and 412  correct patches in 35.0888030529 seconds.
working on slice 38
no mask
Generated 324 split error patches and 324  correct patches in 32.1475739479 seconds.
working on slice 39
no mask
Generated 292 split error patches and 292  correct patches in 33.4721031189 seconds.
working on slice 40
no mask
Generated 292 split error patches and 292  correct patches in 32.145138979 seconds.
working on slice 41
no mask
Generated 356 split error patches and 356  correct patches in 37.1747980118 seconds.
working on slice 42
no mask
Generated 432 split error patches and 432  correct patches in 39.0164089203 seconds.
working on slice 43
no mask
Generated 408 split error patches and 408  correct patches in 37.8132679462 seconds.
working on slice 44
no mask
Generated 412 split error patches and 412  correct patches in 34.8254818916 seconds.
working on slice 45
no mask
Generated 412 split error patches and 412  correct patches in 36.1974160671 seconds.
working on slice 46
no mask
Generated 396 split error patches and 396  correct patches in 34.8207061291 seconds.
working on slice 47
no mask
Generated 332 split error patches and 332  correct patches in 29.9883439541 seconds.
working on slice 48
no mask
Generated 304 split error patches and 304  correct patches in 27.8007190228 seconds.
working on slice 49
no mask
Generated 260 split error patches and 260  correct patches in 25.1326870918 seconds.
working on slice 50
no mask
Generated 656 split error patches and 656  correct patches in 67.8867759705 seconds.
working on slice 51
no mask
Generated 708 split error patches and 708  correct patches in 64.5013170242 seconds.
working on slice 52
no mask
Generated 520 split error patches and 520  correct patches in 59.3628590107 seconds.
working on slice 53
no mask
Generated 612 split error patches and 612  correct patches in 64.0020170212 seconds.
working on slice 54
no mask
Generated 860 split error patches and 860  correct patches in 69.3872699738 seconds.
working on slice 55
no mask
Generated 892 split error patches and 892  correct patches in 67.2891058922 seconds.
working on slice 56
no mask
Generated 696 split error patches and 696  correct patches in 60.5339829922 seconds.
working on slice 57
no mask
Generated 792 split error patches and 792  correct patches in 64.5792591572 seconds.
working on slice 58
no mask
Generated 844 split error patches and 844  correct patches in 67.5466179848 seconds.
working on slice 59
no mask
Generated 760 split error patches and 760  correct patches in 71.1473760605 seconds.
working on slice 60
no mask
Generated 816 split error patches and 816  correct patches in 72.0629360676 seconds.
working on slice 61
no mask
Generated 680 split error patches and 680  correct patches in 68.313035965 seconds.
working on slice 62
no mask
Generated 672 split error patches and 672  correct patches in 68.6422839165 seconds.
working on slice 63
no mask
Generated 828 split error patches and 828  correct patches in 75.3140921593 seconds.
working on slice 64
no mask
Generated 776 split error patches and 776  correct patches in 66.7116239071 seconds.
working on slice 65
no mask
Generated 644 split error patches and 644  correct patches in 58.7857379913 seconds.
working on slice 66
no mask
Generated 608 split error patches and 608  correct patches in 59.1434319019 seconds.
working on slice 67
no mask
Generated 628 split error patches and 628  correct patches in 59.5656120777 seconds.
working on slice 68
no mask
Generated 492 split error patches and 492  correct patches in 50.8020510674 seconds.
working on slice 69
no mask
Generated 348 split error patches and 348  correct patches in 47.0378401279 seconds.
working on slice 70
no mask
Generated 516 split error patches and 516  correct patches in 55.1166660786 seconds.
working on slice 71
no mask
Generated 352 split error patches and 352  correct patches in 48.1190011501 seconds.
working on slice 72
no mask
Generated 320 split error patches and 320  correct patches in 44.1336331367 seconds.
working on slice 73
no mask
Generated 320 split error patches and 320  correct patches in 41.7422299385 seconds.
working on slice 74
no mask
Generated 284 split error patches and 284  correct patches in 40.7786231041 seconds.
'''
patches_per_slice = []
for a in aaa.split('\n'):
    if a.startswith('Generated'):
        nom = a.split(' ')[1]
        patches_per_slice.append(int(nom))

In [10]:
import numpy as np

In [14]:
cremiA_p = np.sum(patches_per_slice[0:25])

In [15]:
cremiB_p = np.sum(patches_per_slice[25:50])

In [16]:
cremiC_p = np.sum(patches_per_slice[50:75])

In [21]:
cremiA_p_s_s = np.sum(patches_per_slice[:20])
cremiA_p_s_e = np.sum(patches_per_slice[:25])

cremiB_p_s_s = np.sum(patches_per_slice[:45])
cremiB_p_s_e = np.sum(patches_per_slice[:50])

cremiC_p_s_s = np.sum(patches_per_slice[:70])
cremiC_p_s_e = np.sum(patches_per_slice[:75])

In [23]:
cremiC_p_s_e


Out[23]:
39896

In [24]:
np.sum(patches_per_slice)


Out[24]:
39896

In [ ]: