{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Mayo Clinic - STRIP\n### Image Classification of Stroke Blood Clot Origin\nImage Segmentation (Work In Progress)\n","metadata":{}},{"cell_type":"markdown","source":"### Dataset Info:\nThe dataset for this competition comprises over a thousand high-resolution whole-slide digital pathology images. Each slide depicts a blood clot from a patient that had experienced an acute ischemic stroke.\n\nThe slides comprising the training and test sets depict clots with an etiology (that is, origin) known to be either CE (Cardioembolic) or LAA (Large Artery Atherosclerosis). We include a set of supplemental slides with a either an unknown etiology or an etiology other than CE or LAA.\n\nYour task is to classify the etiology (CE or LAA) of the slides in the test set for each patient.\n\nFile and Data Field Descriptions\ntrain/ - A folder containing images in the TIFF format to be used as training data.\ntest/ - A folder containing images to be used as test data. The actual test data comprises about 280 images.\nother/ - A supplemental set of images with a either an unknown etiology or an etiology other than CE or LAA.\ntrain.csv Contains annotations for images in the train/ folder.\nimage_id - A unique identifier for this instance having the form {patient_id}_{image_num}. Corresponds to the image {image_id}.tif.\ncenter_id - Identifies the medical center where the slide was obtained.\npatient_id - Identifies the patient from whom the slide was obtained.\nimage_num - Enumerates images of clots obtained from the same patient.\nlabel - The etiology of the clot, either CE or LAA. This field is the classification target.\ntest.csv - Annotations for images in the test/ folder. Has the same fields as train.csv excluding label.\nother.csv - Annotations for images in the other/ folder. Has the same fields as train.csv. The center_id is unavailable for these images however.\nlabel - The etiology of the clot, either Unknown or Other.\nother_specified - The specific etiology, when known, in case the etiology is labeled as Other.\nsample_submission.csv - A sample submission file in the correct format. See the Evaluation page for more details. Note in particular that you should make one prediction per patient_id, not per image_id.","metadata":{}},{"cell_type":"markdown","source":"\n### Reading:\n<a href=\"https://www.nature.com/articles/s41598-021-87584-2.pdf?origin=ppub\">Scientific Report</a> | \"First approach to distinguish between cardiac and arteriosclerotic emboli of individual stroke patients applying the histological THROMBEX‑classification rule\"\n\n<a href=\"https://www.nature.com/articles/srep42964\">Scientific Report</a> | \"Image processing in digital pathology: an opportunity to solve inter-batch variability of immunohistochemical staining\"\n\n\n![cardioembolic and arterioembolic clots.jpg](attachment:3ebba81d-7333-49b3-b140-490d4ae16119.jpg)\n\nHistological presentation of typical cardioembolic and arterioembolic clots. For the two preparations immunohistochemical staining with CD61 (400-fold original magnification) and hematoxylin–eosin staining (200-fold original magnification) were prepared. The cardioembolic clot (left side) is characterized by a large number of platelets. Their distribution pattern reminds of stratus (rectangle) and cirrus (oval) cloud formations. Many disintegrated neutrophil granulocytes can be seen (arrows). Fibrin net is dense (star). This corresponds to a separation thrombus. In contrast, the arterioembolic clot (right side) is marked by a small amount of platelets arranged like cumulus clouds (dashed ovals). Apart from some disintegrated neutrophils (arrows), many intact neutrophils can be found (circles). Fibrin net is fine to coarse (stars). It is therefore an agglutinative thrombus that presumably arose from the tail part of a mixed-thrombus. Both emboli were extracted from patients with a definite stroke etiology. - <a href=\"https://www.nature.com/articles/s41598-021-87584-2.pdf?origin=ppub\">www.nature.com/scientificreports</a>","metadata":{},"attachments":{"3ebba81d-7333-49b3-b140-490d4ae16119.jpg":{"image/jpeg":"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ADQAAABFAEQASQBEAF8AZABhAHQAZQAAADIAMAAxADcALQBUADEANgBFAEQASQBEAF8AcgBlAGQAXwB4ADAALgA2ADcAOQA2ADgANwA1AAAARQBEAEkARABfAHIAZQBkAF8AeQAwAC4AMwAyADAAMwAxADIANQAAAEUARABJAEQAXwBnAHIAZQBlAG4AXwB4ADAALgAyADYANAA2ADQAOAA0ADMANwA1AEUARABJAEQAXwBnAHIAZQBlAG4AXwB5ADAALgA2ADkAMAA0ADIAOQA2ADgANwA1AEUARABJAEQAXwBiAGwAdQBlAF8AeAAAADAALgAxADUAMAAzADkAMAA2ADIANQAAAEUARABJAEQAXwBiAGwAdQBlAF8AeQAAADAALgAwADUAMwA3ADEAMAA5ADMANwA1AEUARABJAEQAXwB3AGgAaQB0AGUAXwB4ADAALgAzADEAMgA1AEUARABJAEQAXwB3AGgAaQB0AGUAXwB5ADAALgAzADIAOQAxADAAMQA1ADYAMgA1AEUARABJAEQAXwBtAGEAbgB1AGYAYQBjAHQAdQByAGUAcgAAAEEAcABwAGwAZQAgAEMAbwBtAHAAdQB0AGUAcgAgAEkAbgBjAEUARABJAEQAXwBnAGEAbQBtAGEAMgAuADIAAABFAEQASQBEAF8AbQBvAGQAZQBsAE0AYQBjAEIAbwBvAGsAUAByAG8AMQA1ACwAMQBFAEQASQBEAF8AbQBkADUAMgA1ADEAYgA1ADQAOQA2ADUANAA4ADEANwA3ADEAZQA5AGIAYgBmAGIAMABkADAAYgAyADcAMwBiADIAZABiAEMATQBGAF8AYgBpAG4AYQByAHkARABpAHMAcABsAGEAeQBDAEEATABDAE0ARgBfAHYAZQByAHMAaQBvAG4AAAAzAC4AOAAuADkALgAzAAAAQwBNAEYAXwBwAHIAbwBkAHUAYwB0AAAARABpAHMAcABsAGEAeQBDAEEATABMAGkAYwBlAG4AcwBlAAAAUAB1AGIAbABpAGMAIABEAG8AbQBhAGkAbgAAAFEAdQBhAGwAaQB0AHkAAABoAGkAZwBoAE8AUABFAE4ASQBDAEMAXwBhAHUAdABvAG0AYQB0AGkAYwBfAGcAZQBuAGUAcgBhAHQAZQBkAAAAMAAAAEQAQQBUAEEAXwBzAG8AdQByAGMAZQAAAGMAYQBsAGkAYgAAAE0ARQBBAFMAVQBSAEUATQBFAE4AVABfAGQAZQB2AGkAYwBlAGkAMQAgAGQAaQBzAHAAbABhAHkAcAByAG8ALAAgAGMAbwBsAG8AcgBtAHUAbgBrAGkAIABkAGkAcwBwAGwAYQB5AAAATQBBAFAAUABJAE4ARwBfAGQAZQB2AGkAYwBlAF8AaQBkAAAAeAByAGEAbgBkAHIALQBBAHAAcABsAGUAIABDAG8AbQBwAHUAdABlAHIAIABJAG4AYwAtAE0AYQBjAEIAbwBvAGsAUAByAG8AMQA1ACwAMQBBAEMAQwBVAFIAQQBDAFkAXwBkAEUANwA2AF8AYQB2AGcAAAAwAC4ANwAyADMAMAA3ADAAQQBDAEMAVQBSAEEAQwBZAF8AZABFADcANgBfAG0AYQB4AAAANgAuADAANwAwADgANgAwAEEAQwBDAFUAUgBBAEMAWQBfAGQARQA3ADYAXwByAG0AcwAAADEALgA0ADMAMgA5ADMAMgBHAEEATQBVAFQAXwB2AG8AbAB1AG0AZQAxAC4ANQA0ADcANgA3ADYANAA2ADAANgA3AAAARwBBAE0AVQBUAF8AYwBvAHYAZQByAGEAZwBlACgAZABjAGkALQBwADMAKQAwAC4AOQA5ADQANgBHAEEATQBVAFQAXwBjAG8AdgBlAHIAYQBnAGUAKABzAHIAZwBiACkAMQAuADAAMAAwADEARwBBAE0AVQBUAF8AYwBvAHYAZQByAGEAZwBlACgAYQBkAG8AYgBlAC0AcgBnAGIAKQAAADAALgA4ADkANwA4bW1vZAAAAAAAAAYQAACgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ1RJMyAgIAoKREVTQ1JJUFRPUiAiQXJneWxsIENhbGlicmF0aW9uIFRhcmdldCBjaGFydCBpbmZvcm1hdGlvbiAzIgpPUklHSU5BVE9SICJBcmd5bGwgZGlzcHJlYWQiCkNSRUFURUQgIlR1ZSBTZXAgIDcgMTA6MTY6MTUgMjAyMSIKREVWSUNFX0NMQVNTICJESVNQTEFZIgpTSU5HTEVfRElNX1NURVBTICIyIgpDT01QX0dSRVlfU1RFUFMgIjUyIgpDT0xPUl9SRVAgIlJHQl9YWVoiClRBUkdFVF9JTlNUUlVNRU5UICJYLVJpdGUgaTEgRGlzcGxheVBybywgQ29sb3JNdW5raSBEaXNwbGF5IgpESVNQTEFZX1RZUEVfUkVGUkVTSCAiTk8iCkRJU1BMQVlfVFlQRV9CQVNFX0lEICIxIgpJTlNUUlVNRU5UX1RZUEVfU1BFQ1RSQUwgIk5PIgpMVU1JTkFOQ0VfWFlaX0NETTIgIjExOC4yNDczMDAgMTI0LjA5Njc5NCAxMTguNDU2MzkxIgpOT1JNQUxJWkVEX1RPX1lfMTAwICJZRVMiClZJREVPX0xVVF9DQUxJQlJBVElPTl9QT1NTSUJMRSAiWUVTIgoKQkVHSU5fQVJHWUxMX0NPTFBST0ZfQVJHUwotdiAtcWggLWFTIC1DICJObyBjb3B5cmlnaHQuIENyZWF0ZWQgd2l0aCBEaXNwbGF5Q0FMIDMuOC45LjMgYW5kIEFyZ3lsbENNUyAyLjEuMiIgLU0gIk1hY0Jvb2tQcm8xNSwxIiAtQSAiQXBwbGUgQ29tcHV0ZXIgSW5jIgpFTkRfQVJHWUxMX0NPTFBST0ZfQVJHUwoKT0JTRVJWRVIgIjE5MzFfMiIKVVNFX0JMQUNLX1BPSU5UX0NPTVBFTlNBVElPTiAiWUVTIgpCTEFDS19QT0lOVF9DT1JSRUNUSU9OICIwLjAiCkhJUkVTX0IyQSAiWUVTIgpISVJFU19CMkFfU0laRSAiLTEiClNNT09USF9CMkEgIllFUyIKUEFUQ0hfU0VRVUVOQ0UgIk9QVElNSVpFX0RJU1BMQVlfUkVTUE9OU0VfREVMQVkiCgpOVU1CRVJfT0ZfRklFTERTIDcKQkVHSU5fREFUQV9GT1JNQVQKU0FNUExFX0lEIFJHQl9SIFJHQl9HIFJHQl9CIFhZWl9YIFhZWl9ZIFhZWl9aCkVORF9EQVRBX0ZPUk1BVAoKTlVNQkVSX09GX1NFVFMgMzQKQkVHSU5fREFUQQoxIDEwMC4wMDAwMCAxMDAuMDAwMDAgMTAwLjAwMDAwIDk1LjI4NjM1MCAxMDAuMDAwMDAgOTUuNDU0ODQwCjIgMTAwLjAwMDAwIDEwMC4wMDAwMCAxMDAuMDAwMDAgOTUuMjg2MzUwIDEwMC4wMDAwMCA5NS40NTQ4NDAKMyAxMDAuMDAwMDAgMTAwLjAwMDAwIDEwMC4wMDAwMCA5NS4yODYzNTAgMTAwLjAwMDAwIDk1LjQ1NDg0MAo0IDEwMC4wMDAwMCAxMDAuMDAwMDAgMTAwLjAwMDAwIDk1LjI4NjM1MCAxMDAuMDAwMDAgOTUuNDU0ODQwCjUgMC4wMDAwMDAwIDAuMDAwMDAwMCAwLjAwMDAwMDAgMC4wNzgwOTg1IDAuMDg0OTA4OCAwLjEzODQ4MDAKNiAxLjk2MDgwMDAgMS45NjA4MDAwIDEuOTYwODAwMCAwLjA5MTAwODkgMC4wOTc1NDM2IDAuMTQ2MjQ4MAo3IDMuOTIxNjAwMCAzLjkyMTYwMDAgMy45MjE2MDAwIDAuMTQxMjc4MCAwLjE0NTg0ODAgMC4xNzQyMTYwCjggNS44ODI0MDAwIDUuODgyNDAwMCA1Ljg4MjQwMDAgMC4yNDI2MTgwIDAuMjQ3MjI3MCAwLjI0MTgzNTAKOSA5LjgwMzkwMDAgOS44MDM5MDAwIDkuODAzOTAwMCAwLjU4MDg5NzAgMC41NzA3MjAwIDAuNDc0NjM5MAoxMCAxMy43MjYwMDAgMTMuNzI2MDAwIDEzLjcyNjAwMCAxLjEwOTcwMjAgMS4wODkxNzkwIDAuODMxOTg0MAoxMSAxNy42NDcwMDAgMTcuNjQ3MDAwIDE3LjY0NzAwMCAxLjg4MTIyNzAgMS44Mjc0MTMwIDEuMzU5MDI4MAoxMiAyMS41NjkwMDAgMjEuNTY5MDAwIDIxLjU2OTAwMCAzLjMzMDAxNTAgMy40OTEwMzYwIDMuMzk2Mzk4MAoxMyAyNS40OTAwMDAgMjUuNDkwMDAwIDI1LjQ5MDAwMCA0Ljc3NTEzNjAgNC45ODAwMTkwIDQuODc5NjYxMAoxNCAyOS40MTIwMDAgMjkuNDEyMDAwIDI5LjQxMjAwMCA2LjQ3ODY2MTAgNi43OTMwNTcwIDYuNTM0NTY4MAoxNSAzMy4zMzMwMDAgMzMuMzMzMDAwIDMzLjMzMzAwMCA4LjQ1NTQ0NjAgOC44Mzc5NDQwIDguNTgzODg4MAoxNiAzNy4yNTUwMDAgMzcuMjU1MDAwIDM3LjI1NTAwMCAxMC44MzA2MTAgMTEuMzYzMjYwIDEwLjk2NTU0MAoxNyA0MS4xNzYwMDAgNDEuMTc2MDAwIDQxLjE3NjAwMCAxMy41MTYyMzAgMTQuMTczNzEwIDEzLjYwNTg4MAoxOCA0NS4wOTgwMDAgNDUuMDk4MDAwIDQ1LjA5ODAwMCAxNi4zMzQ5NDAgMTcuMTYzODkwIDE2LjUwMTc2MAoxOSA0OS4wMjAwMDAgNDkuMDIwMDAwIDQ5LjAyMDAwMCAxOS42NTE3NzAgMjAuNjE1NDMwIDE5LjcyNzE3MAoyMCA1Mi45NDEwMDAgNTIuOTQxMDAwIDUyLjk0MTAwMCAyMy4zMDkyNjAgMjQuNTEyODgwIDIzLjM4MTMwMAoyMSA1Ni44NjMwMDAgNTYuODYzMDAwIDU2Ljg2MzAwMCAyNy4zMTEwOTAgMjguNjY3MjQwIDI3LjMzMDM0MAoyMiA2MC43ODQwMDAgNjAuNzg0MDAwIDYwLjc4NDAwMCAzMS41MjM4NDAgMzMuMTIyNjAwIDMxLjY2MzM3MAoyMyA2NC43MDYwMDAgNjQuNzA2MDAwIDY0LjcwNjAwMCAzNi4yMzEwNjAgMzguMDM5MjEwIDM2LjMwODUxMAoyNCA2OC42MjcwMDAgNjguNjI3MDAwIDY4LjYyNzAwMCA0MS4yNDM2OTAgNDMuMjQ3MjAwIDQxLjI2MzA4MAoyNSA3Mi41NDkwMDAgNzIuNTQ5MDAwIDcyLjU0OTAwMCA0Ni42NTMxNjAgNDguOTk3NjAwIDQ2Ljk5MTA4MAoyNiA3Ni40NzEwMDAgNzYuNDcxMDAwIDc2LjQ3MTAwMCA1Mi41MjQ1MTAgNTUuMjA4MTEwIDUyLjg3NTEyMAoyNyA4MC4zOTIwMDAgODAuMzkyMDAwIDgwLjM5MjAwMCA1OC41OTA0NDAgNjEuNTI5OTQwIDU4LjkxMzQ2MAoyOCA4NC4zMTQwMDAgODQuMzE0MDAwIDg0LjMxNDAwMCA2NS4yMTI1NjAgNjguMzk2ODEwIDY1LjEwODE1MAoyOSA4OC4yMzUwMDAgODguMjM1MDAwIDg4LjIzNTAwMCA3Mi4wMjA0NDAgNzUuNTk5NjQwIDcxLjc2NzE4MAozMCA5Mi4xNTcwMDAgOTIuMTU3MDAwIDkyLjE1NzAwMCA3OS4yMzQ4NjAgODMuMzA5MzgwIDc5LjA0NTE5MAozMSA5Ni4wNzgwMDAgOTYuMDc4MDAwIDk2LjA3ODAwMCA4Ny4wMTk1MjAgOTEuMzY1NTUwIDg3LjI0ODY0MAozMiAxMDAuMDAwMDAgMC4wMDAwMDAwIDAuMDAwMDAwMCA1MS42MTMyMDAgMjQuMzU3MTAwIDAuMjI4MjA4MAozMyAwLjAwMDAwMDAgMTAwLjAwMDAwIDAuMDAwMDAwMCAyNi4zMjc4MTAgNjkuMzcxODUwIDQuMjQ2NzkyMAozNCAwLjAwMDAwMDAgMC4wMDAwMDAwIDEwMC4wMDAwMCAxNy4xMDk3ODAgNi4wMTMyNTYwIDkwLjY5MjI3MApFTkRfREFUQQpDQUwgICAgCgpERVNDUklQVE9SICJBcmd5bGwgRGV2aWNlIENhbGlicmF0aW9uIFN0YXRlIgpPUklHSU5BVE9SICJBcmd5bGwgZGlzcHJlYWQiCkNSRUFURUQgIlR1ZSBTZXAgIDcgMTA6MTY6MTUgMjAyMSIKREVWSUNFX0NMQVNTICJESVNQTEFZIgpDT0xPUl9SRVAgIlJHQiIKCkJFR0lOX0FSR1lMTF9ESVNQQ0FMX0FSR1MKLXYyIC1xbSAtdDU1MDAgLWcyLjIgLWYxLjAgLWswIC1BNC4wIC1kMSAtYzEgLXluIC1QMC40NjQ0ODA4NzQzMTcsMC4zNDM4NTk2NDkxMjMsMS41IC1YICJNYWNCb29rUHJvUmV0aW5hMjAxNi5jY3NzIgpFTkRfQVJHWUxMX0RJU1BDQUxfQVJHUwoKCk5VTUJFUl9PRl9GSUVMRFMgNApCRUdJTl9EQVRBX0ZPUk1BVApSR0JfSSBSR0JfUiBSR0JfRyBSR0JfQgpFTkRfREFUQV9GT1JNQVQKCk5VTUJFUl9PRl9TRVRTIDI1NgpCRUdJTl9EQVRBCjAuMDAwMDAwMDAgMC4wMDAwMDAwMCAwLjAwMDAwMDAwIDAuMDAwMDAwMDAKMC4wMDM5MjE1NyAwLjAwMzcxNDczIDAuMDAzMjQxMDQgMC4wMDI3ODM5OAowLjAwNzg0MzE0IDAuMDA3NDgzNzMgMC4wMDY1Mjg4MSAwLjAwNTYyNDY2CjAuMDExNzY0NzAgMC4wMTEzMDgyMCAwLjAwOTg2NDMzIDAuMDA4NTIzNzkKMC4wMTU2ODYzMCAwLjAxNTE4OTQwIDAuMDEzMjQ4NjAgMC4wMTE0ODMyMAowLjAxOTYwNzgwIDAuMDE5MTI4NTAgMC4wMTY2ODI4MCAwLjAxNDUwNDcwCjAuMDIzNTI5NDAgMC4wMjMxMjcwMCAwLjAyMDE2ODAwIDAuMDE3NTkwNTAKMC4wMjc0NTEwMCAwLjAyNzE4NjEwIDAuMDIzNzA1MzAgMC4wMjA3NDI0MAowLjAzMTM3MjUwIDAuMDMxMzA3MjAgMC4wMjcyOTU5MCAwLjAyMzk2MjcwCjAuMDM1Mjk0MTAgMC4wMzU0OTExMCAwLjAzMDk0MTEwIDAuMDI3MjUzNjAKMC4wMzkyMTU3MCAwLjAzOTcyNTEwIDAuMDM0NjQwMjAgMC4wMzA2MTc2MAowLjA0MzEzNzMwIDAuMDQzOTg3OTAgMC4wMzgzODYwMCAwLjAzNDA1MTYwCjAuMDQ3MDU4ODAgMC4wNDgyNjUxMCAwLjA0MjE2OTAwIDAuMDM3NTQxMTAKMC4wNTA5ODA0MCAwLjA1MjUzODcwIDAuMDQ1OTc0MDAgMC4wNDEwNzIxMAowLjA1NDkwMjAwIDAuMDU2Nzg5ODAgMC4wNDk3ODM4MCAwLjA0NDYzNDMwCjAuMDU4ODIzNTAgMC4wNjEwMDIxMCAwLjA1MzU4NDUwIDAuMDQ4MjE0ODAKMC4wNjI3NDUxMCAwLjA2NTE2MDEwIDAuMDU3MzYzNDAgMC4wNTE3OTc0MAowLjA2NjY2NjcwIDAuMDY5MjUwMDAgMC4wNjExMDkwMCAwLjA1NTM2NDMwCjAuMDcwNTg4MjAgMC4wNzMyNzA4MCAwLjA2NDgxMzMwIDAuMDU4ODk5NTAKMC4wNzQ1MDk4MCAwLjA3NzIzMTYwIDAuMDY4NDc1MDAgMC4wNjIzOTMwMAowLjA3ODQzMTQwIDAuMDgxMTQxMjAgMC4wNzIwOTY2MCAwLjA2NTg0NTIwCjAuMDgyMzUyOTAgMC4wODUwMDQ0MCAwLjA3NTY4MTMwIDAuMDY5MjU4NzAKMC4wODYyNzQ1MCAwLjA4ODgyNDEwIDAuMDc5MjMxNzAgMC4wNzI2MzgwMAowLjA5MDE5NjEwIDAuMDkyNjA1MDAgMC4wODI3NTEyMCAwLjA3NTk4NDAwCjAuMDk0MTE3NjAgMC4wOTYzNTEyMCAwLjA4NjI0NjIwIDAuMDc5MzAwMDAKMC4wOTgwMzkyMCAwLjEwMDA3MDAwIDAuMDg5NzIzMTAgMC4wODI1ODQ3MAowLjEwMTk2MTAwIDAuMTAzNzY4MDAgMC4wOTMxODg4MCAwLjA4NTg0MjQwCjAuMTA1ODgyMDAgMC4xMDc0NDgwMCAwLjA5NjY0ODIwIDAuMDg5MDc2ODAKMC4xMDk4MDQwMCAwLjExMTExMTAwIDAuMTAwMTAzMDAgMC4wOTIyOTIwMAowLjExMzcyNTAwIDAuMTE0NzU3MDAgMC4xMDM1NTcwMCAwLjA5NTQ4ODkwCjAuMTE3NjQ3MDAgMC4xMTgzODgwMCAwLjEwNzAxMjAwIDAuMDk4NjY4MTAKMC4xMjE1NjkwMCAwLjEyMjAwOTAwIDAuMTEwNDcwMDAgMC4xMDE4MzIwMAowLjEyNTQ5MDAwIDAuMTI1NjIxMDAgMC4xMTM5MzUwMCAwLjEwNDk4MzAwCjAuMTI5NDEyMDAgMC4xMjkyMzEwMCAwLjExNzQwODAwIDAuMTA4MTIzMDAKMC4xMzMzMzMwMCAwLjEzMjg0MjAwIDAuMTIwODkyMDAgMC4xMTEyNTQwMAowLjEzNzI1NTAwIDAuMTM2NDU0MDAgMC4xMjQzODgwMCAwLjExNDM3NjAwCjAuMTQxMTc2MDAgMC4xNDAwNzMwMCAwLjEyNzg5NDAwIDAuMTE3NDk0MDAKMC4xNDUwOTgwMCAwLjE0MzcwMDAwIDAuMTMxNDA3MDAgMC4xMjA2MDYwMAowLjE0OTAyMDAwIDAuMTQ3MzQzMDAgMC4xMzQ5MjgwMCAwLjEyMzcxNzAwCjAuMTUyOTQxMDAgMC4xNTEwMDcwMCAwLjEzODQ1ODAwIDAuMTI2ODMxMDAKMC4xNTY4NjMwMCAwLjE1NDY5MDAwIDAuMTQxOTk4MDAgMC4xMjk5NDcwMAowLjE2MDc4NDAwIDAuMTU4Mzk1MDAgMC4xNDU1NDQwMCAwLjEzMzA3NDAwCjAuMTY0NzA2MDAgMC4xNjIxMjAwMCAwLjE0OTA5OTAwIDAuMTM2MjEwMDAKMC4xNjg2MjcwMCAwLjE2NTg2NDAwIDAuMTUyNjU5MDAgMC4xMzkzNTUwMAowLjE3MjU0OTAwIDAuMTY5NjMxMDAgMC4xNTYyMjUwMCAwLjE0MjUxNzAwCjAuMTc2NDcxMDAgMC4xNzM0MTgwMCAwLjE1OTc5NzAwIDAuMTQ1Njk5MDAKMC4xODAzOTIwMCAwLjE3NzIyNTAwIDAuMTYzMzc2MDAgMC4xNDg5MDMwMAowLjE4NDMxNDAwIDAuMTgxMDQ0MDAgMC4xNjY5NjIwMCAwLjE1MjEyMzAwCjAuMTg4MjM1MDAgMC4xODQ4NjYwMCAwLjE3MDU0OTAwIDAuMTU1MzU2MDAKMC4xOTIxNTcwMCAwLjE4ODY5NTAwIDAuMTc0MTQxMDAgMC4xNTg2MDcwMAowLjE5NjA3ODAwIDAuMTkyNTE5MDAgMC4xNzc3MzgwMCAwLjE2MTg2MjAwCjAuMjAwMDAwMDAgMC4xOTYzMzgwMCAwLjE4MTMzNjAwIDAuMTY1MTIxMDAKMC4yMDM5MjIwMCAwLjIwMDE1MTAwIDAuMTg0OTM4MDAgMC4xNjgzODAwMAowLjIwNzg0MzAwIDAuMjAzOTU5MDAgMC4xODg1NDIwMCAwLjE3MTYzNTAwCjAuMjExNzY1MDAgMC4yMDc3NjIwMCAwLjE5MjE0ODAwIDAuMTc0ODgwMDAKMC4yMTU2ODYwMCAwLjIxMTU2MjAwIDAuMTk1NzU3MDAgMC4xNzgxMTQwMAowLjIxOTYwODAwIDAuMjE1MzY0MDAgMC4xOTkzNjgwMCAwLjE4MTMzOTAwCjAuMjIzNTI5MDAgMC4yMTkxNzIwMCAwLjIwMjk4NzAwIDAuMTg0NTUzMDAKMC4yMjc0NTEwMCAwLjIyMjk4NDAwIDAuMjA2NjA4MDAgMC4xODc3NTEwMAowLjIzMTM3MzAwIDAuMjI2ODA4MDAgMC4yMTAyMzMwMCAwLjE5MDk0NzAwCjAuMjM1Mjk0MDAgMC4yMzA2NDQwMCAwLjIxMzg2ODAwIDAuMTk0MTQyMDAKMC4yMzkyMTYwMCAwLjIzNDQ4OTAwIDAuMjE3NTA5MDAgMC4xOTczMzQwMAowLjI0MzEzNzAwIDAuMjM4MzQ2MDAgMC4yMjExNTIwMCAwLjIwMDUyODAwCjAuMjQ3MDU5MDAgMC4yNDIyMTgwMCAwLjIyNDgwMzAwIDAuMjAzNzI4MDAKMC4yNTA5ODAwMCAwLjI0NjEwMDAwIDAuMjI4NDU4MDAgMC4yMDY5MzYwMAowLjI1NDkwMjAwIDAuMjQ5OTkxMDAgMC4yMzIxMTUwMCAwLjIxMDE1NDAwCjAuMjU4ODI0MDAgMC4yNTM4ODkwMCAwLjIzNTc3NjAwIDAuMjEzMzg0MDAKMC4yNjI3NDUwMCAwLjI1Nzc4OTAwIDAuMjM5NDM5MDAgMC4yMTY2MjUwMAowLjI2NjY2NzAwIDAuMjYxNjkwMDAgMC4yNDMxMDQwMCAwLjIxOTg3NzAwCjAuMjcwNTg4MDAgMC4yNjU1ODkwMCAwLjI0Njc3MTAwIDAuMjIzMTM3MDAKMC4yNzQ1MTAwMCAwLjI2OTQ4MjAwIDAuMjUwNDM4MDAgMC4yMjY0MDUwMAowLjI3ODQzMTAwIDAuMjczMzc2MDAgMC4yNTQxMDkwMCAwLjIyOTY4MzAwCjAuMjgyMzUzMDAgMC4yNzcyNzEwMCAwLjI1Nzc4NzAwIDAuMjMyOTY4MDAKMC4yODYyNzUwMCAwLjI4MTE2ODAwIDAuMjYxNDc0MDAgMC4yMzYyNTQwMAowLjI5MDE5NjAwIDAuMjg1MDYxMDAgMC4yNjUxNjIwMCAwLjIzOTUzMDAwCjAuMjk0MTE4MDAgMC4yODg5NTMwMCAwLjI2ODg1MzAwIDAuMjQyODAyMDAKMC4yOTgwMzkwMCAwLjI5Mjg1MzAwIDAuMjcyNTU2MDAgMC4yNDYwNzkwMAowLjMwMTk2MTAwIDAuMjk2NzU0MDAgMC4yNzYyNjcwMCAwLjI0OTM1MjAwCjAuMzA1ODgyMDAgMC4zMDA2NTEwMCAwLjI3OTk3NzAwIDAuMjUyNjE1MDAKMC4zMDk4MDQwMCAwLjMwNDU1MzAwIDAuMjgzNjkxMDAgMC4yNTU4NzEwMAowLjMxMzcyNTAwIDAuMzA4NDYwMDAgMC4yODc0MDgwMCAwLjI1OTExODAwCjAuMzE3NjQ3MDAgMC4zMTIzNzQwMCAwLjI5MTEyNTAwIDAuMjYyMzY0MDAKMC4zMjE1NjkwMCAwLjMxNjI4NzAwIDAuMjk0ODQwMDAgMC4yNjU2MDUwMAowLjMyNTQ5MDAwIDAuMzIwMTk2MDAgMC4yOTg1NTEwMCAwLjI2ODgzODAwCjAuMzI5NDEyMDAgMC4zMjQwOTkwMCAwLjMwMjI1NDAwIDAuMjcyMDY2MDAKMC4zMzMzMzMwMCAwLjMyNzk5MTAwIDAuMzA1OTQ2MDAgMC4yNzUyODkwMAowLjMzNzI1NTAwIDAuMzMxODcyMDAgMC4zMDk2MjkwMCAwLjI3ODUwNTAwCjAuMzQxMTc2MDAgMC4zMzU3NDIwMCAwLjMxMzMwMTAwIDAuMjgxNzE3MDAKMC4zNDUwOTgwMCAwLjMzOTYwMDAwIDAuMzE2OTYwMDAgMC4yODQ5MjQwMAowLjM0OTAyMDAwIDAuMzQzNDQ0MDAgMC4zMjA2MDUwMCAwLjI4ODEyNjAwCjAuMzUyOTQxMDAgMC4zNDcyNzYwMCAwLjMyNDIzNzAwIDAuMjkxMzI0MDAKMC4zNTY4NjMwMCAwLjM1MTA5ODAwIDAuMzI3ODU3MDAgMC4yOTQ1MTYwMAowLjM2MDc4NDAwIDAuMzU0OTA3MDAgMC4zMzE0NjcwMCAwLjI5NzcwMTAwCjAuMzY0NzA2MDAgMC4zNTg3MDkwMCAwLjMzNTA3MjAwIDAuMzAwODg3MDAKMC4zNjg2MjcwMCAwLjM2MjUwOTAwIDAuMzM4NjcxMDAgMC4zMDQwNzIwMAowLjM3MjU0OTAwIDAuMzY2MzA1MDAgMC4zNDIyNjgwMCAwLjMwNzI1MzAwCjAuMzc2NDcxMDAgMC4zNzAxMDMwMCAwLjM0NTg2NTAwIDAuMzEwNDM3MDAKMC4zODAzOTIwMCAwLjM3Mzg5ODAwIDAuMzQ5NDYwMDAgMC4zMTM2MjIwMAowLjM4NDMxNDAwIDAuMzc3Njk3MDAgMC4zNTMwNTYwMCAwLjMxNjgxMTAwCjAuMzg4MjM1MDAgMC4zODE1MDYwMCAwLjM1NjY1NTAwIDAuMzIwMDA5MDAKMC4zOTIxNTcwMCAwLjM4NTMyOTAwIDAuMzYwMjYzMDAgMC4zMjMyMTcwMAowLjM5NjA3ODAwIDAuMzg5MTY5MDAgMC4zNjM4ODIwMCAwLjMyNjQzODAwCjAuNDAwMDAwMDAgMC4zOTMwMjEwMCAwLjM2NzUwMjAwIDAuMzI5NjY0MDAKMC40MDM5MjIwMCAwLjM5Njg3MzAwIDAuMzcxMTEzMDAgMC4zMzI4ODUwMAowLjQwNzg0MzAwIDAuNDAwNzIwMDAgMC4zNzQ3MTYwMCAwLjMzNjA5NjAwCjAuNDExNzY1MDAgMC40MDQ1NzcwMCAwLjM3ODMyNzAwIDAuMzM5MzEzMDAKMC40MTU2ODYwMCAwLjQwODQ1MDAwIDAuMzgxOTUxMDAgMC4zNDI1NDkwMAowLjQxOTYwODAwIDAuNDEyMzMyMDAgMC4zODU1ODAwMCAwLjM0NTc5ODAwCjAuNDIzNTI5MDAgMC40MTYyMDgwMCAwLjM4OTIwMTAwIDAuMzQ5MDUxMDAKMC40Mjc0NTEwMCAwLjQyMDA4MDAwIDAuMzkyODE1MDAgMC4zNTIzMDEwMAowLjQzMTM3MzAwIDAuNDIzOTQ5MDAgMC4zOTY0MjYwMCAwLjM1NTU0NjAwCjAuNDM1Mjk0MDAgMC40Mjc4MTkwMCAwLjQwMDAzNjAwIDAuMzU4NzkwMDAKMC40MzkyMTYwMCAwLjQzMTY5NDAwIDAuNDAzNjQ3MDAgMC4zNjIwMzMwMAowLjQ0MzEzNzAwIDAuNDM1NTgwMDAgMC40MDcyNTgwMCAwLjM2NTI4MjAwCjAuNDQ3MDU5MDAgMC40Mzk0NzcwMCAwLjQxMDg3MzAwIDAuMzY4NTM5MDAKMC40NTA5ODAwMCAwLjQ0MzM3NDAwIDAuNDE0NDg0MDAgMC4zNzE3OTcwMAowLjQ1NDkwMjAwIDAuNDQ3MjcwMDAgMC40MTgwOTUwMCAwLjM3NTA1MDAwCjAuNDU4ODI0MDAgMC40NTExNzEwMCAwLjQyMTcxMjAwIDAuMzc4MzExMDAKMC40NjI3NDUwMCAwLjQ1NTA2NzAwIDAuNDI1MzI4MDAgMC4zODE1ODAwMAowLjQ2NjY2NzAwIDAuNDU4OTU3MDAgMC40Mjg5NDcwMCAwLjM4NDg1MDAwCjAuNDcwNTg4MDAgMC40NjI4MzgwMCAwLjQzMjU2NjAwIDAuMzg4MTE3MDAKMC40NzQ1MTAwMCAwLjQ2NjcxNDAwIDAuNDM2MTg4MDAgMC4zOTEzODYwMAowLjQ3ODQzMTAwIDAuNDcwNTc3MDAgMC40Mzk4MDkwMCAwLjM5NDY1MjAwCjAuNDgyMzUzMDAgMC40NzQ0MzAwMCAwLjQ0MzQzMzAwIDAuMzk3OTEzMDAKMC40ODYyNzUwMCAwLjQ3ODI3NDAwIDAuNDQ3MDYwMDAgMC40MDExNzIwMAowLjQ5MDE5NjAwIDAuNDgyMTExMDAgMC40NTA2OTEwMCAwLjQwNDQyODAwCjAuNDk0MTE4MDAgMC40ODU5NDAwMCAwLjQ1NDMyNDAwIDAuNDA3Njc5MDAKMC40OTgwMzkwMCAwLjQ4OTc2MjAwIDAuNDU3OTU5MDAgMC40MTA5MjYwMAowLjUwMTk2MTAwIDAuNDkzNTc3MDAgMC40NjE1OTUwMCAwLjQxNDE2ODAwCjAuNTA1ODgyMDAgMC40OTczODYwMCAwLjQ2NTIzNDAwIDAuNDE3NDA1MDAKMC41MDk4MDQwMCAwLjUwMTE5MDAwIDAuNDY4ODc1MDAgMC40MjA2MzgwMAowLjUxMzcyNTAwIDAuNTA1MDAxMDAgMC40NzI1MTkwMCAwLjQyMzg3NjAwCjAuNTE3NjQ3MDAgMC41MDg4MjEwMCAwLjQ3NjE2NzAwIDAuNDI3MTIxMDAKMC41MjE1NjkwMCAwLjUxMjY1MTAwIDAuNDc5ODE5MDAgMC40MzAzNzMwMAowLjUyNTQ5MDAwIDAuNTE2NDkwMDAgMC40ODM0NzMwMCAwLjQzMzYzMjAwCjAuNTI5NDEyMDAgMC41MjAzMzkwMCAwLjQ4NzEzMTAwIDAuNDM2ODk5MDAKMC41MzMzMzMwMCAwLjUyNDE5NjAwIDAuNDkwNzk0MDAgMC40NDAxNzUwMAowLjUzNzI1NTAwIDAuNTI4MDYxMDAgMC40OTQ0NjMwMCAwLjQ0MzQ1OTAwCjAuNTQxMTc2MDAgMC41MzE5MzQwMCAwLjQ5ODEzNDAwIDAuNDQ2NzU0MDAKMC41NDUwOTgwMCAwLjUzNTgxMTAwIDAuNTAxODA4MDAgMC40NTAwNTQwMAowLjU0OTAyMDAwIDAuNTM5Njk0MDAgMC41MDU0ODUwMCAwLjQ1MzM2MjAwCjAuNTUyOTQxMDAgMC41NDM1ODMwMCAwLjUwOTE2MzAwIDAuNDU2Njc2MDAKMC41NTY4NjMwMCAwLjU0NzQ3NDAwIDAuNTEyODQ0MDAgMC40NTk5ODkwMAowLjU2MDc4NDAwIDAuNTUxMzc1MDAgMC41MTY1MzEwMCAwLjQ2MzMwOTAwCjAuNTY0NzA2MDAgMC41NTUyODEwMCAwLjUyMDIyMzAwIDAuNDY2NjM0MDAKMC41Njg2MjcwMCAwLjU1OTE5NzAwIDAuNTIzOTIyMDAgMC40Njk5NjMwMAowLjU3MjU0OTAwIDAuNTYzMTI5MDAgMC41Mjc2MzIwMCAwLjQ3MzMwMDAwCjAuNTc2NDcxMDAgMC41NjcwNzAwMCAwLjUzMTMzOTAwIDAuNDc2NjM3MDAKMC41ODAzOTIwMCAwLjU3MTAwODAwIDAuNTM1MDQxMDAgMC40Nzk5NjgwMAowLjU4NDMxNDAwIDAuNTc0OTQ3MDAgMC41Mzg3NDgwMCAwLjQ4MzMwMTAwCjAuNTg4MjM1MDAgMC41Nzg4OTYwMCAwLjU0MjQ1NzAwIDAuNDg2NjQzMDAKMC41OTIxNTcwMCAwLjU4Mjg0NjAwIDAuNTQ2MTYxMDAgMC40ODk5ODYwMAowLjU5NjA3ODAwIDAuNTg2NzkxMDAgMC41NDk4NjIwMCAwLjQ5MzMyMzAwCjAuNjAwMDAwMDAgMC41OTA3MzAwMCAwLjU1MzU2MjAwIDAuNDk2NjU4MDAKMC42MDM5MjIwMCAwLjU5NDY2OTAwIDAuNTU3MjYyMDAgMC40OTk5OTgwMAowLjYwNzg0MzAwIDAuNTk4NjExMDAgMC41NjA5NjAwMCAwLjUwMzM0NzAwCjAuNjExNzY1MDAgMC42MDI1NTcwMCAwLjU2NDY1NzAwIDAuNTA2NzAwMDAKMC42MTU2ODYwMCAwLjYwNjUwNjAwIDAuNTY4MzUzMDAgMC41MTAwNTAwMAowLjYxOTYwODAwIDAuNjEwNDU4MDAgMC41NzIwNDcwMCAwLjUxMzM5NjAwCjAuNjIzNTI5MDAgMC42MTQ0MDUwMCAwLjU3NTczNjAwIDAuNTE2NzM1MDAKMC42Mjc0NTEwMCAwLjYxODM0NjAwIDAuNTc5NDIxMDAgMC41MjAwNjgwMAowLjYzMTM3MzAwIDAuNjIyMjgyMDAgMC41ODMwOTkwMCAwLjUyMzQwMDAwCjAuNjM1Mjk0MDAgMC42MjYyMTIwMCAwLjU4Njc3MDAwIDAuNTI2NzMxMDAKMC42MzkyMTYwMCAwLjYzMDE0ODAwIDAuNTkwNDM5MDAgMC41MzAwNjUwMAowLjY0MzEzNzAwIDAuNjM0MDg5MDAgMC41OTQxMDYwMCAwLjUzMzQwMjAwCjAuNjQ3MDU5MDAgMC42MzgwMzcwMCAwLjU5Nzc3NjAwIDAuNTM2NzQ4MDAKMC42NTA5ODAwMCAwLjY0MTk5NTAwIDAuNjAxNDU1MDAgMC41NDAxMDEwMAowLjY1NDkwMjAwIDAuNjQ1OTY5MDAgMC42MDUxNDIwMCAwLjU0MzQ2NDAwCjAuNjU4ODI0MDAgMC42NDk5NTgwMCAwLjYwODgyOTAwIDAuNTQ2ODI2MDAKMC42NjI3NDUwMCAwLjY1Mzk0NzAwIDAuNjEyNTAyMDAgMC41NTAxNzUwMAowLjY2NjY2NzAwIDAuNjU3OTIyMDAgMC42MTYxNTIwMCAwLjU1MzUwMDAwCjAuNjcwNTg4MDAgMC42NjE4NzYwMCAwLjYxOTc4MDAwIDAuNTU2ODAwMDAKMC42NzQ1MTAwMCAwLjY2NTgwNzAwIDAuNjIzMzg3MDAgMC41NjAwNzUwMAowLjY3ODQzMTAwIDAuNjY5NzI5MDAgMC42MjcwMDIwMCAwLjU2MzM1MzAwCjAuNjgyMzUzMDAgMC42NzM2NzAwMCAwLjYzMDYzNDAwIDAuNTY2NjU3MDAKMC42ODYyNzUwMCAwLjY3NzYyOTAwIDAuNjM0MjgzMDAgMC41Njk5ODYwMAowLjY5MDE5NjAwIDAuNjgxNjA1MDAgMC42Mzc5NDUwMCAwLjU3MzMzNjAwCjAuNjk0MTE4MDAgMC42ODU1ODQwMCAwLjY0MTYwNjAwIDAuNTc2Njk4MDAKMC42OTgwMzkwMCAwLjY4OTU1MjAwIDAuNjQ1MjU2MDAgMC41ODAwNTcwMAowLjcwMTk2MTAwIDAuNjkzNDk5MDAgMC42NDg4OTIwMCAwLjU4MzQwNTAwCjAuNzA1ODgyMDAgMC42OTc0MjkwMCAwLjY1MjUxNzAwIDAuNTg2NzM5MDAKMC43MDk4MDQwMCAwLjcwMTM0NjAwIDAuNjU2MTM4MDAgMC41OTAwNjQwMAowLjcxMzcyNTAwIDAuNzA1MjU4MDAgMC42NTk3NTYwMCAwLjU5MzM4MzAwCjAuNzE3NjQ3MDAgMC43MDkxNjYwMCAwLjY2MzM3NjAwIDAuNTk2NzAwMDAKMC43MjE1NjkwMCAwLjcxMzA3MzAwIDAuNjY2OTk3MDAgMC42MDAwMTMwMAowLjcyNTQ5MDAwIDAuNzE2OTgwMDAgMC42NzA2MTgwMCAwLjYwMzMyNjAwCjAuNzI5NDEyMDAgMC43MjA4OTcwMCAwLjY3NDI0MjAwIDAuNjA2NjQ1MDAKMC43MzMzMzMwMCAwLjcyNDgyNTAwIDAuNjc3ODY1MDAgMC42MDk5NjcwMAowLjczNzI1NTAwIDAuNzI4NzU0MDAgMC42ODE0ODQwMCAwLjYxMzI5MjAwCjAuNzQxMTc2MDAgMC43MzI2OTAwMCAwLjY4NTEwNzAwIDAuNjE2NjI0MDAKMC43NDUwOTgwMCAwLjczNjYyNzAwIDAuNjg4NzMwMDAgMC42MTk5NTMwMAowLjc0OTAyMDAwIDAuNzQwNTY2MDAgMC42OTIzNTUwMCAwLjYyMzI4MDAwCjAuNzUyOTQxMDAgMC43NDQ1MDkwMCAwLjY5NTk4MjAwIDAuNjI2NjA3MDAKMC43NTY4NjMwMCAwLjc0ODQ2MjAwIDAuNjk5NjEyMDAgMC42Mjk5MzQwMAowLjc2MDc4NDAwIDAuNzUyNDIzMDAgMC43MDMyNDQwMCAwLjYzMzI2MzAwCjAuNzY0NzA2MDAgMC43NTYzODgwMCAwLjcwNjg3NzAwIDAuNjM2NTk1MDAKMC43Njg2MjcwMCAwLjc2MDM1NjAwIDAuNzEwNTEyMDAgMC42Mzk5MzAwMAowLjc3MjU0OTAwIDAuNzY0MzMyMDAgMC43MTQxNTMwMCAwLjY0MzI2NTAwCjAuNzc2NDcxMDAgMC43NjgzMTYwMCAwLjcxNzc5NzAwIDAuNjQ2NTkyMDAKMC43ODAzOTIwMCAwLjc3MjMwMjAwIDAuNzIxNDQxMDAgMC42NDk5MTkwMAowLjc4NDMxNDAwIDAuNzc2MjkxMDAgMC43MjUwODQwMCAwLjY1MzI0NjAwCjAuNzg4MjM1MDAgMC43ODAyODIwMCAwLjcyODcyMjAwIDAuNjU2NTc0MDAKMC43OTIxNTcwMCAwLjc4NDI4MDAwIDAuNzMyMzYyMDAgMC42NTk5MDYwMAowLjc5NjA3ODAwIDAuNzg4MjkxMDAgMC43MzYwMDkwMCAwLjY2MzI0NDAwCjAuODAwMDAwMDAgMC43OTIzMTYwMCAwLjczOTY2MDAwIDAuNjY2NTgwMDAKMC44MDM5MjIwMCAwLjc5NjM0NDAwIDAuNzQzMzA3MDAgMC42Njk5MDMwMAowLjgwNzg0MzAwIDAuODAwMzY2MDAgMC43NDY5NDUwMCAwLjY3MzIxNTAwCjAuODExNzY1MDAgMC44MDQzOTgwMCAwLjc1MDU4ODAwIDAuNjc2NTM4MDAKMC44MTU2ODYwMCAwLjgwODQ0NzAwIDAuNzU0MjQ4MDAgMC42Nzk4NzcwMAowLjgxOTYwODAwIDAuODEyNTA5MDAgMC43NTc5MTkwMCAwLjY4MzIyMzAwCjAuODIzNTI5MDAgMC44MTY1NjgwMCAwLjc2MTU5MDAwIDAuNjg2NTY2MDAKMC44Mjc0NTEwMCAwLjgyMDYyMTAwIDAuNzY1MjYwMDAgMC42ODk5MDQwMAowLjgzMTM3MzAwIDAuODI0NjcwMDAgMC43Njg5MzMwMCAwLjY5MzIzNDAwCjAuODM1Mjk0MDAgMC44Mjg3MTkwMCAwLjc3MjYxMzAwIDAuNjk2NTYyMDAKMC44MzkyMTYwMCAwLjgzMjc3MjAwIDAuNzc2MzAwMDAgMC42OTk4ODcwMAowLjg0MzEzNzAwIDAuODM2ODMwMDAgMC43Nzk5OTMwMCAwLjcwMzIxNTAwCjAuODQ3MDU5MDAgMC44NDA4OTMwMCAwLjc4MzY5MzAwIDAuNzA2NTUwMDAKMC44NTA5ODAwMCAwLjg0NDk2MzAwIDAuNzg3NDAwMDAgMC43MDk4OTAwMAowLjg1NDkwMjAwIDAuODQ5MDQ0MDAgMC43OTExMTgwMCAwLjcxMzIzOTAwCjAuODU4ODI0MDAgMC44NTMxMzUwMCAwLjc5NDg0NzAwIDAuNzE2NTkxMDAKMC44NjI3NDUwMCAwLjg1NzIyMzAwIDAuNzk4NTgwMDAgMC43MTk5MzgwMAowLjg2NjY2NzAwIDAuODYxMzEyMDAgMC44MDIzMTUwMCAwLjcyMzI4ODAwCjAuODcwNTg4MDAgMC44NjU0MDgwMCAwLjgwNjA2MjAwIDAuNzI2NjQ5MDAKMC44NzQ1MTAwMCAwLjg2OTUwMDAwIDAuODA5ODE1MDAgMC43MzAwMTQwMAowLjg3ODQzMTAwIDAuODczNTgyMDAgMC44MTM1NjcwMCAwLjczMzM3NTAwCjAuODgyMzUzMDAgMC44Nzc2NjIwMCAwLjgxNzMyNDAwIDAuNzM2NzM2MDAKMC44ODYyNzUwMCAwLjg4MTc0OTAwIDAuODIxMDkwMDAgMC43NDAxMDMwMAowLjg5MDE5NjAwIDAuODg1ODQzMDAgMC44MjQ4NjgwMCAwLjc0MzQ3ODAwCjAuODk0MTE4MDAgMC44ODk5MzIwMCAwLjgyODY1MTAwIDAuNzQ2ODQ5MDAKMC44OTgwMzkwMCAwLjg5NDAyNDAwIDAuODMyNDM4MDAgMC43NTAyMjYwMAowLjkwMTk2MTAwIDAuODk4MTEzMDAgMC44MzYyMzkwMCAwLjc1MzYxMjAwCjAuOTA1ODgyMDAgMC45MDIxOTYwMCAwLjg0MDA0NTAwIDAuNzU3MDAwMDAKMC45MDk4MDQwMCAwLjkwNjI4MzAwIDAuODQzODU5MDAgMC43NjAzOTIwMAowLjkxMzcyNTAwIDAuOTEwMzY2MDAgMC44NDc2NzkwMCAwLjc2Mzc4NzAwCjAuOTE3NjQ3MDAgMC45MTQ0NTEwMCAwLjg1MTUwNDAwIDAuNzY3MTkwMDAKMC45MjE1NjkwMCAwLjkxODUzNzAwIDAuODU1MzQwMDAgMC43NzA2MDMwMAowLjkyNTQ5MDAwIDAuOTIyNjIxMDAgMC44NTkxODAwMCAwLjc3NDAyMDAwCjAuOTI5NDEyMDAgMC45MjY3MDUwMCAwLjg2MzAyNTAwIDAuNzc3NDM4MDAKMC45MzMzMzMwMCAwLjkzMDc4ODAwIDAuODY2ODc4MDAgMC43ODA4NjUwMAowLjkzNzI1NTAwIDAuOTM0ODY4MDAgMC44NzA3MzUwMCAwLjc4NDI5MzAwCjAuOTQxMTc2MDAgMC45Mzg5NTIwMCAwLjg3NDU5ODAwIDAuNzg3NzMwMDAKMC45NDUwOTgwMCAwLjk0MzAzMjAwIDAuODc4NDY3MDAgMC43OTExNjkwMAowLjk0OTAyMDAwIDAuOTQ3MTE0MDAgMC44ODIzNDMwMCAwLjc5NDYxNDAwCjAuOTUyOTQxMDAgMC45NTExOTUwMCAwLjg4NjIyNDAwIDAuNzk4MDYzMDAKMC45NTY4NjMwMCAwLjk1NTI3NDAwIDAuODkwMTEyMDAgMC44MDE1MTYwMAowLjk2MDc4NDAwIDAuOTU5MzU0MDAgMC44OTQwMDcwMCAwLjgwNDk3NDAwCjAuOTY0NzA2MDAgMC45NjM0MzIwMCAwLjg5NzkwODAwIDAuODA4NDM2MDAKMC45Njg2MjcwMCAwLjk2NzUxMDAwIDAuOTAxODE1MDAgMC44MTE5MDQwMAowLjk3MjU0OTAwIDAuOTcxNTg3MDAgMC45MDU3MjcwMCAwLjgxNTM3NjAwCjAuOTc2NDcxMDAgMC45NzU2NjEwMCAwLjkwOTY0NTAwIDAuODE4ODU0MDAKMC45ODAzOTIwMCAwLjk3OTczNDAwIDAuOTEzNTY4MDAgMC44MjIzMzgwMAowLjk4NDMxNDAwIDAuOTgzODA0MDAgMC45MTc0OTYwMCAwLjgyNTgyNzAwCjAuOTg4MjM1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U7hzPuVPscPv+dILKAev51copXDmfcpmyhPr+dWUUIoUdBxT6KAbb3CsCf8A5Dcf0H8mrfrAn/5Dcf0H8moEb9FFFAFU2cLMWOcnnrR9ki6c/nVqii4+ZlL7Bb9fm/Om/wBnWx/vfmav0UD5mUP7Ots5+b8zSnT7c5znn3NXqKLBzPuUmsIGwDnjgc006dbH1/M1foosHM+5Q/s626fN+dH9nW2MfN+Zq/RRYOZ9yh/Z9vnPzfnTzYwZYgEbuDg1cooDmZQGn24ORu/M0psLc8nd+Zq9RQHM+5Q/s62zn5vzNO+wQYxz+dXaKLBzPuUTYW5xndx7mnCxgU5Gfzq5RQHMyFIY4zlRz0qXFLRQS2QywJLjfnj0NVjp1sf735mr9FA1JrYopp9vGcru/MmnGyty27B/A1cooHzMhjgSL7maWSJJUKN0PpxUtFArlNrGBhgg4+tMOnWzdQfzNX6KA5mUBp1sDkbvzNL/AGfbYxg/nV6igfMykLC3B3fNn6mnfY4ff86t0UBzMonT7c8nOfqaVbGBc7dwz71dooDmfcpGwtyc8/nQbC3yW5yTnrV2igOZ9ykLGAHOD+dSxW0UJJTOT6nNWKKBOTKptYy/mbmBznhjirOKWigRDLCky7Hzj2qt/Z1t6H8zV+igak0VI7OGJtyZ/E5qN9Pt3Yu27J9zV+igOZlAafbD+9+Zp32GD3/OrtFA+d9yj/Z9t6H86G0+3bru/M1eoosHM+5Q/s62Jz835mnpZQxuJF3ZHuauUUBzPuJS0UUEn//R6WiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKqtaQPcC5YHevQ5/pVqigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//2Q=="}}},{"cell_type":"markdown","source":"### Notebook Goals:\n* Look at image metadata from provided csv\n* Open/read large tiff and reduce image size\n* Segment images into patches of interest\n* View hi-res patches\n* Separate immunohistochemical staining (Convert color RGB to HED)","metadata":{}},{"cell_type":"markdown","source":"### Import Libraries","metadata":{"execution":{"iopub.execute_input":"2022-07-15T20:59:02.525647Z","iopub.status.busy":"2022-07-15T20:59:02.525192Z","iopub.status.idle":"2022-07-15T20:59:02.531865Z","shell.execute_reply":"2022-07-15T20:59:02.530211Z","shell.execute_reply.started":"2022-07-15T20:59:02.52561Z"}}},{"cell_type":"code","source":"! pip install imutils","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:54:34.56244Z","iopub.execute_input":"2022-07-20T19:54:34.562895Z","iopub.status.idle":"2022-07-20T19:54:50.457642Z","shell.execute_reply.started":"2022-07-20T19:54:34.56286Z","shell.execute_reply":"2022-07-20T19:54:50.456515Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import numpy as np\nimport matplotlib.pyplot as plt\nfrom matplotlib.patches import Rectangle\n\nimport pandas as pd\nimport cv2 as cv\nfrom imutils import paths\nimport skimage\nfrom skimage.filters import sobel\nfrom skimage import segmentation\nfrom skimage.color import label2rgb\nfrom skimage.color import rgb2hed, hed2rgb\nfrom skimage.exposure import rescale_intensity\n\nfrom skimage.measure import regionprops, regionprops_table\nfrom scipy import ndimage as ndi\n\n\nimport tifffile as tifi\n\nfrom sklearn.preprocessing import StandardScaler","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:54:51.940224Z","iopub.execute_input":"2022-07-20T19:54:51.94069Z","iopub.status.idle":"2022-07-20T19:54:53.563836Z","shell.execute_reply.started":"2022-07-20T19:54:51.940651Z","shell.execute_reply":"2022-07-20T19:54:53.562903Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Load Image Metadata","metadata":{}},{"cell_type":"markdown","source":"#### train.csv","metadata":{}},{"cell_type":"code","source":"train_meta = pd.read_csv('../input/mayo-clinic-strip-ai/train.csv')\ntrain_meta.head()","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-20T19:53:39.652363Z","iopub.execute_input":"2022-07-20T19:53:39.652828Z","iopub.status.idle":"2022-07-20T19:53:39.686027Z","shell.execute_reply.started":"2022-07-20T19:53:39.652784Z","shell.execute_reply":"2022-07-20T19:53:39.684828Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_meta.info()","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-20T19:53:40.534105Z","iopub.execute_input":"2022-07-20T19:53:40.534582Z","iopub.status.idle":"2022-07-20T19:53:40.564639Z","shell.execute_reply.started":"2022-07-20T19:53:40.534542Z","shell.execute_reply":"2022-07-20T19:53:40.563409Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_meta.label.value_counts()","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-20T19:53:41.603093Z","iopub.execute_input":"2022-07-20T19:53:41.603579Z","iopub.status.idle":"2022-07-20T19:53:41.613043Z","shell.execute_reply.started":"2022-07-20T19:53:41.603539Z","shell.execute_reply":"2022-07-20T19:53:41.612192Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### test.csv","metadata":{}},{"cell_type":"code","source":"test_meta = pd.read_csv('../input/mayo-clinic-strip-ai/test.csv')\ntest_meta.head()","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-20T19:53:43.724966Z","iopub.execute_input":"2022-07-20T19:53:43.725844Z","iopub.status.idle":"2022-07-20T19:53:43.743585Z","shell.execute_reply.started":"2022-07-20T19:53:43.725798Z","shell.execute_reply":"2022-07-20T19:53:43.742773Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_meta.info()","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-20T19:53:44.124049Z","iopub.execute_input":"2022-07-20T19:53:44.125189Z","iopub.status.idle":"2022-07-20T19:53:44.139677Z","shell.execute_reply.started":"2022-07-20T19:53:44.125139Z","shell.execute_reply":"2022-07-20T19:53:44.138669Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### other.csv","metadata":{}},{"cell_type":"code","source":"other_meta = pd.read_csv('../input/mayo-clinic-strip-ai/other.csv')\nother_meta.head()","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-20T19:53:55.505805Z","iopub.execute_input":"2022-07-20T19:53:55.506263Z","iopub.status.idle":"2022-07-20T19:53:55.527576Z","shell.execute_reply.started":"2022-07-20T19:53:55.506214Z","shell.execute_reply":"2022-07-20T19:53:55.526456Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"other_meta.info()","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-20T19:53:56.64393Z","iopub.execute_input":"2022-07-20T19:53:56.644413Z","iopub.status.idle":"2022-07-20T19:53:56.659656Z","shell.execute_reply.started":"2022-07-20T19:53:56.64437Z","shell.execute_reply":"2022-07-20T19:53:56.65817Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"other_meta.label.value_counts()","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-20T19:54:00.102457Z","iopub.execute_input":"2022-07-20T19:54:00.102973Z","iopub.status.idle":"2022-07-20T19:54:00.11312Z","shell.execute_reply.started":"2022-07-20T19:54:00.102934Z","shell.execute_reply":"2022-07-20T19:54:00.111945Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"other_meta.other_specified.value_counts()","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-20T19:54:01.868527Z","iopub.execute_input":"2022-07-20T19:54:01.869009Z","iopub.status.idle":"2022-07-20T19:54:01.879367Z","shell.execute_reply.started":"2022-07-20T19:54:01.868966Z","shell.execute_reply":"2022-07-20T19:54:01.878249Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Explore Image Data","metadata":{}},{"cell_type":"markdown","source":"#### train folder images","metadata":{}},{"cell_type":"code","source":"folder_path = '../input/mayo-clinic-strip-ai/train'\ntrain_images = sorted(list(paths.list_images(folder_path)))\nprint('There are ' + str(len(train_images)) + \" images in the train folder\")\ntrain_images[:5]","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-20T19:54:58.577799Z","iopub.execute_input":"2022-07-20T19:54:58.57875Z","iopub.status.idle":"2022-07-20T19:54:58.649724Z","shell.execute_reply.started":"2022-07-20T19:54:58.578694Z","shell.execute_reply":"2022-07-20T19:54:58.648805Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"image_ids = [i.split(\"/\")[-1].rstrip('.tif') for i in train_images]\n","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:54:59.811065Z","iopub.execute_input":"2022-07-20T19:54:59.812389Z","iopub.status.idle":"2022-07-20T19:54:59.818093Z","shell.execute_reply.started":"2022-07-20T19:54:59.812336Z","shell.execute_reply":"2022-07-20T19:54:59.816852Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### test folder images","metadata":{}},{"cell_type":"code","source":"folder_path = '../input/mayo-clinic-strip-ai/test'\ntest_images = sorted(list(paths.list_images(folder_path)))\nprint('There are ' + str(len(test_images)) + \" images in the test folder\")\ntest_images","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-20T19:55:04.980732Z","iopub.execute_input":"2022-07-20T19:55:04.981651Z","iopub.status.idle":"2022-07-20T19:55:04.999272Z","shell.execute_reply.started":"2022-07-20T19:55:04.981584Z","shell.execute_reply":"2022-07-20T19:55:04.997762Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### other folder images","metadata":{}},{"cell_type":"code","source":"folder_path = '../input/mayo-clinic-strip-ai/other'\nother_images = sorted(list(paths.list_images(folder_path)))\nprint('There are ' + str(len(other_images)) + \" images in the other folder\")\nother_images[:5]","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-20T19:55:20.178007Z","iopub.execute_input":"2022-07-20T19:55:20.178502Z","iopub.status.idle":"2022-07-20T19:55:20.225169Z","shell.execute_reply.started":"2022-07-20T19:55:20.178462Z","shell.execute_reply":"2022-07-20T19:55:20.223917Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Open images\nRead large tiff files using tifffile, return np.array and filename (image_id)","metadata":{}},{"cell_type":"code","source":"def read_tiff(path):\n    image = tifi.imread(path)\n    filename = path.split('/')[-1].rstrip('.tif')\n    print(\"image_id: \" + filename)\n    return image, filename","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-20T19:55:22.468363Z","iopub.execute_input":"2022-07-20T19:55:22.468831Z","iopub.status.idle":"2022-07-20T19:55:22.475269Z","shell.execute_reply.started":"2022-07-20T19:55:22.468795Z","shell.execute_reply":"2022-07-20T19:55:22.474049Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"image, filename = read_tiff(train_images[15])","metadata":{"execution":{"iopub.status.busy":"2022-07-19T14:32:51.910614Z","iopub.execute_input":"2022-07-19T14:32:51.911357Z","iopub.status.idle":"2022-07-19T14:33:04.489579Z","shell.execute_reply.started":"2022-07-19T14:32:51.911295Z","shell.execute_reply":"2022-07-19T14:33:04.488402Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"image.shape","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-19T14:33:04.491213Z","iopub.execute_input":"2022-07-19T14:33:04.491541Z","iopub.status.idle":"2022-07-19T14:33:04.499174Z","shell.execute_reply.started":"2022-07-19T14:33:04.491511Z","shell.execute_reply":"2022-07-19T14:33:04.498005Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### Resize images\nDownsize images significantly before segmenting","metadata":{}},{"cell_type":"code","source":"def resize_image(image):\n    re_sized_image = cv.resize(image,(int(image.shape[1]/33),int(image.shape[0]/33)),interpolation= cv.INTER_LINEAR)\n    return re_sized_image","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:55:26.363614Z","iopub.execute_input":"2022-07-20T19:55:26.364486Z","iopub.status.idle":"2022-07-20T19:55:26.372582Z","shell.execute_reply.started":"2022-07-20T19:55:26.364442Z","shell.execute_reply":"2022-07-20T19:55:26.371261Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"re_sized_image = resize_image(image)","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-19T14:33:04.510001Z","iopub.execute_input":"2022-07-19T14:33:04.510752Z","iopub.status.idle":"2022-07-19T14:33:04.550943Z","shell.execute_reply.started":"2022-07-19T14:33:04.510706Z","shell.execute_reply":"2022-07-19T14:33:04.549875Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"re_sized_image.shape","metadata":{"tags":[],"execution":{"iopub.status.busy":"2022-07-19T14:33:04.552575Z","iopub.execute_input":"2022-07-19T14:33:04.552936Z","iopub.status.idle":"2022-07-19T14:33:04.559699Z","shell.execute_reply.started":"2022-07-19T14:33:04.552897Z","shell.execute_reply":"2022-07-19T14:33:04.558649Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### Convert to Grayscale","metadata":{}},{"cell_type":"code","source":"def convert_image_grayscale(image):\n    gray_image = cv.cvtColor(image, cv.COLOR_RGB2GRAY)\n    return gray_image","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:55:30.303788Z","iopub.execute_input":"2022-07-20T19:55:30.304213Z","iopub.status.idle":"2022-07-20T19:55:30.310008Z","shell.execute_reply.started":"2022-07-20T19:55:30.304178Z","shell.execute_reply":"2022-07-20T19:55:30.308734Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"resized_gray_img = convert_image_grayscale(re_sized_image)","metadata":{"execution":{"iopub.status.busy":"2022-07-19T14:33:04.572798Z","iopub.execute_input":"2022-07-19T14:33:04.573607Z","iopub.status.idle":"2022-07-19T14:33:04.585643Z","shell.execute_reply.started":"2022-07-19T14:33:04.573565Z","shell.execute_reply":"2022-07-19T14:33:04.584568Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize=(10,10))\nplt.imshow(resized_gray_img, cmap='gray')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-07-19T14:33:04.587379Z","iopub.execute_input":"2022-07-19T14:33:04.588188Z","iopub.status.idle":"2022-07-19T14:33:04.908209Z","shell.execute_reply.started":"2022-07-19T14:33:04.588145Z","shell.execute_reply":"2022-07-19T14:33:04.90715Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### Image Segmentation\n##### Label Segments\nLet's find the edges in the image using the Sobel filter. All images appear to be high key, we'll mark areas in the image that we don't want to keep (areas that are greater than or equal to the mean) with 1 and areas that we want to keep (less than the mean) with 2. Then we'll use a watershed to get a labeled matrix from the elevation map (Sobel filter) and markers array. Lastly we fill the holes in segments and return an array of labeled segments.","metadata":{}},{"cell_type":"code","source":"def segment_images(resized_gray_img):\n    elevation_map = sobel(resized_gray_img)\n    markers = np.zeros_like(resized_gray_img)\n    markers[resized_gray_img >= resized_gray_img.mean()] = 1\n    markers[resized_gray_img < resized_gray_img.mean()] = 2\n    segmented_img = segmentation.watershed(elevation_map, markers)\n    filled_segments = ndi.binary_fill_holes(segmented_img - 1)\n    labeled_segments, _ = ndi.label(filled_segments)\n    return labeled_segments","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:55:39.743771Z","iopub.execute_input":"2022-07-20T19:55:39.744298Z","iopub.status.idle":"2022-07-20T19:55:39.752214Z","shell.execute_reply.started":"2022-07-20T19:55:39.744256Z","shell.execute_reply":"2022-07-20T19:55:39.750939Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"labeled_segments = segment_images(resized_gray_img)","metadata":{"execution":{"iopub.status.busy":"2022-07-19T14:33:04.918706Z","iopub.execute_input":"2022-07-19T14:33:04.919284Z","iopub.status.idle":"2022-07-19T14:33:05.209994Z","shell.execute_reply.started":"2022-07-19T14:33:04.919244Z","shell.execute_reply":"2022-07-19T14:33:05.208932Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def plot_labeled_segments(labeled_segments, resized_gray_img):\n    image_label_overlay = label2rgb(labeled_segments, image=resized_gray_img, bg_label=0)\n    fig, ax = plt.subplots(figsize=(10, 8))\n    ax.imshow(image_label_overlay, cmap=plt.cm.gray)\n    ax.set_title('segmentation')\n    ax.axis('off')","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:55:42.071051Z","iopub.execute_input":"2022-07-20T19:55:42.071583Z","iopub.status.idle":"2022-07-20T19:55:42.078317Z","shell.execute_reply.started":"2022-07-20T19:55:42.071536Z","shell.execute_reply":"2022-07-20T19:55:42.077453Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plot_labeled_segments(labeled_segments, resized_gray_img)","metadata":{"execution":{"iopub.status.busy":"2022-07-19T14:33:05.225952Z","iopub.execute_input":"2022-07-19T14:33:05.226538Z","iopub.status.idle":"2022-07-19T14:33:05.703757Z","shell.execute_reply.started":"2022-07-19T14:33:05.226506Z","shell.execute_reply":"2022-07-19T14:33:05.702728Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"##### Object Coordinates\nLet's get the coordinates (bounding box) and area for all labeled segments using regionprops_table. We'll scale the segment areas using StadardScaler and keep only those scaled areas greater than or equal to .75","metadata":{}},{"cell_type":"code","source":"def get_object_coordinates(labeled_segments):\n    properties =['area','bbox','convex_area','bbox_area', 'major_axis_length', 'minor_axis_length', 'eccentricity']\n    df = pd.DataFrame(regionprops_table(labeled_segments, properties=properties))\n    standard_scaler = StandardScaler()\n    scaled_area = standard_scaler.fit_transform(df.area.values.reshape(-1,1))\n    df['scaled_area'] = scaled_area\n    df.sort_values(by=\"scaled_area\", ascending=False, inplace=True)\n    objects = df[df['scaled_area']>=.75]\n    display(objects.head())\n    object_coordinates = [(row['bbox-0'],row['bbox-1'],row['bbox-2'],row['bbox-3'] )for index, row in objects.iterrows()]\n    return object_coordinates","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:55:45.642258Z","iopub.execute_input":"2022-07-20T19:55:45.643885Z","iopub.status.idle":"2022-07-20T19:55:45.654Z","shell.execute_reply.started":"2022-07-20T19:55:45.643825Z","shell.execute_reply":"2022-07-20T19:55:45.652829Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"object_coordinates = get_object_coordinates(labeled_segments)","metadata":{"execution":{"iopub.status.busy":"2022-07-19T14:33:05.717469Z","iopub.execute_input":"2022-07-19T14:33:05.718413Z","iopub.status.idle":"2022-07-19T14:33:05.946477Z","shell.execute_reply.started":"2022-07-19T14:33:05.718365Z","shell.execute_reply":"2022-07-19T14:33:05.945208Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Let's plot the resized rgb image with bounding boxes surrounding areas of interest","metadata":{}},{"cell_type":"code","source":"def plot_object_coordinates(object_coordinates, re_sized_image):\n    fig, ax = plt.subplots(1,1, figsize=(18, 16), dpi = 80)\n    for blob in object_coordinates:\n        width = blob[3] - blob[1]\n        height = blob[2] - blob[0]\n        patch = Rectangle((blob[1],blob[0]), width, height, edgecolor='r', facecolor='none')\n        ax.add_patch(patch)\n        ax.imshow(re_sized_image);\n        ax.set_axis_off()","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:55:49.086424Z","iopub.execute_input":"2022-07-20T19:55:49.08691Z","iopub.status.idle":"2022-07-20T19:55:49.095055Z","shell.execute_reply.started":"2022-07-20T19:55:49.086867Z","shell.execute_reply":"2022-07-20T19:55:49.094014Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plot_object_coordinates(object_coordinates, re_sized_image)","metadata":{"execution":{"iopub.status.busy":"2022-07-19T14:33:05.959358Z","iopub.execute_input":"2022-07-19T14:33:05.959761Z","iopub.status.idle":"2022-07-19T14:33:07.848919Z","shell.execute_reply.started":"2022-07-19T14:33:05.95972Z","shell.execute_reply":"2022-07-19T14:33:07.847785Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Let's plot each object (area of interest) on a subplot","metadata":{}},{"cell_type":"code","source":"def plot_objects(object_coordinates, image):\n    plt.figure(figsize=(10,18))\n    for i in range(len(object_coordinates)):\n        ax = plt.subplot(int(np.ceil(len(object_coordinates)/3)),3,i+1)\n        coordinates = object_coordinates[i]\n        # print(coordinates)\n        object_image = image[int(coordinates[0]):int(coordinates[2]), int(coordinates[1]):int(coordinates[3])]\n        plt.imshow(object_image)\n        ax.axis('off')\n    plt.show()\n        ","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:55:52.477402Z","iopub.execute_input":"2022-07-20T19:55:52.47787Z","iopub.status.idle":"2022-07-20T19:55:52.487788Z","shell.execute_reply.started":"2022-07-20T19:55:52.477834Z","shell.execute_reply":"2022-07-20T19:55:52.486165Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plot_objects(object_coordinates, re_sized_image)","metadata":{"execution":{"iopub.status.busy":"2022-07-19T14:33:07.862425Z","iopub.execute_input":"2022-07-19T14:33:07.863146Z","iopub.status.idle":"2022-07-19T14:33:08.588018Z","shell.execute_reply.started":"2022-07-19T14:33:07.863104Z","shell.execute_reply":"2022-07-19T14:33:08.587093Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Let's normalize the image coordinates from the resized image so they can be rescaled to original tiff dimensions then return a dictionary of patches (image_id, image_id + patch number, normalized coordinates, and rescaled coordinates).","metadata":{}},{"cell_type":"code","source":"def rescale_coordinates(object_location, image):\n    top, bottom, left, right = object_location\n    left = int(left * image.shape[0])\n    bottom = int(bottom * image.shape[1])\n    right = int(right * image.shape[0])\n    top = int(top * image.shape[1])\n    return top, bottom, left, right\n\ndef normalize_coordinates(object_coordinates, image):\n    top, bottom, left, right = object_coordinates\n    left = (int(left) / image.shape[0])\n    bottom = (int(bottom) / image.shape[1])\n    right = int(left) + (int(right) / image.shape[0])\n    top = int(bottom) + (int(top) / image.shape[1])\n    \n    # object_location = top, bottom, left, right\n    # top, bottom, left, right = rescale_coordinates(object_location, image)\n    \n    return top, bottom, left, right\n\ndef patches_dictionary(object_coordinates, re_sized_image, image, filename):\n    patches = {}\n    for i in range(len(object_coordinates)):\n        coordinates = object_coordinates[i]\n        normal_cords = normalize_coordinates(coordinates, re_sized_image)\n        re_scaled_cords = rescale_coordinates(normal_cords, image)\n        patches[str(filename)+\"_\"+str(i+1)] = [normal_cords, re_scaled_cords]\n    patches = {filename:patches}\n    return patches\n","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:56:00.183395Z","iopub.execute_input":"2022-07-20T19:56:00.183825Z","iopub.status.idle":"2022-07-20T19:56:00.195599Z","shell.execute_reply.started":"2022-07-20T19:56:00.183792Z","shell.execute_reply":"2022-07-20T19:56:00.194516Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"patches = patches_dictionary(object_coordinates, re_sized_image, image, filename)\npatches","metadata":{"execution":{"iopub.status.busy":"2022-07-19T14:33:08.605813Z","iopub.execute_input":"2022-07-19T14:33:08.606522Z","iopub.status.idle":"2022-07-19T14:33:08.623467Z","shell.execute_reply.started":"2022-07-19T14:33:08.606484Z","shell.execute_reply":"2022-07-19T14:33:08.622398Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Let's plot individual patches","metadata":{}},{"cell_type":"code","source":"def plot_patch(patch_name, cropped_image, cmap=None):\n    plt.figure(figsize=(10,8), dpi=150)\n    ax = plt.subplot()\n    plt.imshow(cropped_image, cmap=cmap)\n    ax.set_title(patch_name)\n    ax.axis('off')\n    plt.show()\n\ndef crop_patch(coordinates, image):\n    x1, y1, x2, y2 = coordinates\n    cropped_image = image[x1:x2, y1:y2]\n    return cropped_image","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:56:03.919743Z","iopub.execute_input":"2022-07-20T19:56:03.920212Z","iopub.status.idle":"2022-07-20T19:56:03.928829Z","shell.execute_reply.started":"2022-07-20T19:56:03.920172Z","shell.execute_reply":"2022-07-20T19:56:03.927637Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Read image metadata\ntrain_meta[train_meta['image_id']==filename]\n","metadata":{"execution":{"iopub.status.busy":"2022-07-19T14:33:08.637873Z","iopub.execute_input":"2022-07-19T14:33:08.638565Z","iopub.status.idle":"2022-07-19T14:33:08.653988Z","shell.execute_reply.started":"2022-07-19T14:33:08.638532Z","shell.execute_reply":"2022-07-19T14:33:08.652996Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"patch_name = str(filename)+\"_\"+str(1)\ncoordinates = patches[filename][patch_name][1]\ncropped_image = crop_patch(coordinates, image)\nplot_patch(patch_name, cropped_image)","metadata":{"execution":{"iopub.status.busy":"2022-07-19T14:33:08.656372Z","iopub.execute_input":"2022-07-19T14:33:08.657701Z","iopub.status.idle":"2022-07-19T14:33:11.894071Z","shell.execute_reply.started":"2022-07-19T14:33:08.657622Z","shell.execute_reply":"2022-07-19T14:33:11.892633Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Simplify process\nRun above in combined function","metadata":{}},{"cell_type":"code","source":"def process_image(path):\n    image, filename = read_tiff(path)\n    re_sized_image = resize_image(image)\n    resized_gray_img = convert_image_grayscale(re_sized_image)\n    labeled_segments = segment_images(resized_gray_img)\n    plot_labeled_segments(labeled_segments, resized_gray_img)\n    object_coordinates = get_object_coordinates(labeled_segments)\n    patches = patches_dictionary(object_coordinates, re_sized_image, image, filename)\n    print(str(len(patches[filename]))+\" patches\")\n    cropped_images = []\n    for i in range(len(patches[filename])):\n        patch_name = str(filename)+\"_\"+str(i+1)\n        coordinates = patches[filename][patch_name][1]\n        cropped_image = crop_patch(coordinates, image)\n        cropped_images.append([patch_name,cropped_image])\n    return patches, cropped_images, filename\n\npatches, cropped_images, filename = process_image(train_images[15])","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:56:08.839708Z","iopub.execute_input":"2022-07-20T19:56:08.840157Z","iopub.status.idle":"2022-07-20T19:56:32.942766Z","shell.execute_reply.started":"2022-07-20T19:56:08.840123Z","shell.execute_reply":"2022-07-20T19:56:32.941877Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Display individual patches\npatch_number = 5\nimage_meta = train_meta[train_meta.image_id==filename]\npatch_name = str(filename)+\"_\"+str(patch_number)\npatch = cropped_images[patch_number-1][1]\ndisplay(image_meta)\nplot_patch(patch_name, patch)\n","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:57:11.904914Z","iopub.execute_input":"2022-07-20T19:57:11.905375Z","iopub.status.idle":"2022-07-20T19:57:14.971529Z","shell.execute_reply.started":"2022-07-20T19:57:11.90534Z","shell.execute_reply":"2022-07-20T19:57:14.969963Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Individual patch experimenting with color conversions...","metadata":{}},{"cell_type":"markdown","source":"#### Convert patch color RGB to HED\nSeparate immunohistochemical (ihc) staining","metadata":{}},{"cell_type":"code","source":"# Convert rgb2hed\nihc_hed = rgb2hed(patch)","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:57:50.709254Z","iopub.execute_input":"2022-07-20T19:57:50.709734Z","iopub.status.idle":"2022-07-20T19:57:52.298418Z","shell.execute_reply.started":"2022-07-20T19:57:50.709685Z","shell.execute_reply":"2022-07-20T19:57:52.297183Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Separate hed channels\nnull = np.zeros_like(ihc_hed[:, :, 0])\nihc_h = hed2rgb(np.stack((ihc_hed[:, :, 0], null, null), axis=-1))\nihc_e = hed2rgb(np.stack((null, ihc_hed[:, :, 1], null), axis=-1))\nihc_d = hed2rgb(np.stack((null, null, ihc_hed[:, :, 2]), axis=-1))","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:57:57.889558Z","iopub.execute_input":"2022-07-20T19:57:57.890315Z","iopub.status.idle":"2022-07-20T19:58:03.793822Z","shell.execute_reply.started":"2022-07-20T19:57:57.890277Z","shell.execute_reply":"2022-07-20T19:58:03.791953Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Plot separated stainings (Hematoxylin, Eosin, DAB)","metadata":{}},{"cell_type":"code","source":"fig, axes = plt.subplots(1,4,figsize=(10,8),sharex=True,sharey=True)\nax = axes.ravel()\nax[0].imshow(patch)\nax[0].set_title(\"Original image\")\nax[1].imshow(ihc_h)\nax[1].set_title(\"Hematoxylin\")\nax[2].imshow(ihc_e)\nax[2].set_title(\"Eosin\")\nax[3].imshow(ihc_d)\nax[3].set_title(\"DAB\")\nfor a in ax.ravel():\n    a.axis('off')\nfig.tight_layout()","metadata":{"execution":{"iopub.status.busy":"2022-07-20T19:58:20.415539Z","iopub.execute_input":"2022-07-20T19:58:20.416026Z","iopub.status.idle":"2022-07-20T19:58:36.236064Z","shell.execute_reply.started":"2022-07-20T19:58:20.415992Z","shell.execute_reply":"2022-07-20T19:58:36.235047Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Rescale hematoxylin and DAB channels and give them a fluorescence look\nh = rescale_intensity(ihc_hed[:, :, 0], out_range=(0, 1), in_range=(0, np.percentile(ihc_hed[:, :, 0], 95)))\nd = rescale_intensity(ihc_hed[:, :, 2], out_range=(0, 1), in_range=(0, np.percentile(ihc_hed[:, :, 2], 95)))\n\n# Cast the two channels into an RGB image, as the blue and green channels\n# respectively\nzdh = np.dstack((null, d, h))\n","metadata":{"execution":{"iopub.status.busy":"2022-07-20T21:01:48.518563Z","iopub.execute_input":"2022-07-20T21:01:48.519865Z","iopub.status.idle":"2022-07-20T21:01:49.775578Z","shell.execute_reply.started":"2022-07-20T21:01:48.519805Z","shell.execute_reply":"2022-07-20T21:01:49.774338Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize=(10,8))\nax = plt.subplot()\nplt.imshow(zdh)\nplt.title('Stain-separated image (rescaled)')\nax.axis('off')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-07-20T21:01:51.508819Z","iopub.execute_input":"2022-07-20T21:01:51.509213Z","iopub.status.idle":"2022-07-20T21:01:57.539646Z","shell.execute_reply.started":"2022-07-20T21:01:51.509178Z","shell.execute_reply":"2022-07-20T21:01:57.538547Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}