{"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Overview\n\nI love this competition! But the title **\"Pneumonia Detection\"** for the competition is misleading because you actually have to do **\"Lung Opacities Detection\"**, and lung opacities are not the same as pneumonia. Lung opacities are vague, fuzzy clouds of white in the darkness of the lungs, which makes detecting them a real challenge.\n\nThis kernel is for people who want to understand what lung opacities are and how come there are \"No Lung Opacity / Not Normal\" images. In this kernel I will show images from different classes (Normal; No Lung Opacity / Not Normal; Lung Opacity) and write my interpretation of the **opacities** in the image. I will cover some basics of chest radiography and focus only on the lungs because \"Lung Opacities\" appear only in the lungs. Write your questions in the comments section and I'll answer them as best that I can.\n\nMy name is Guy Zahavi, I am a physician (anesthesiology resident) and graduate bioinformatics student. I am not affiliated with the competition hosts or Kaggle, I'm just excited about this competition :)\n\n*I took the code for this kernel from Peter Chang's awesome [Exploratory Data Analysis](https://www.kaggle.com/peterchang77/exploratory-data-analysis). Thank you Peter!*","metadata":{"_uuid":"1cf809389ee7bf38d41c49ef8aab600d5ee27e0c"}},{"cell_type":"markdown","source":"## Table of Contents\n\n- [What Does a Normal Image Look Like?](#What-Does-a-Normal-Image-Look-Like?)\n- [Chest Radiographs Basics](#Chest-Radiographs-Basics)\n- [What are Lung Opacities?](#What-are-Lung-Opacities?)\n    - [The Definition of Opacity](#The-Definition-of-Opacity)\n    - [What are opacities and what can we understand if we see them?](#What-are-opacities-and-what-can-we-understand-if-we-see-them?)\n    - [Normal vs. Lung Opacity pictures](#Normal-vs.-Lung-Opacity-pictures)\n- [Some considerations when building your model](#Some-considerations-when-building-your-model)\n    - [Localization vs. Segmentation of Opacities](#Localization-vs.-Segmentation-of-Opacities)\n    - [How accurate are the annotated boxes?](#How-accurate-are-the-annotated-boxes?)\n- [A Closer Look Into \"No Lung Opacity / Not Normal\" Images](#A-Closer-Look-Into-\"No-Lung-Opacity-/-Not-Normal\"-Images)\n    - [Why are there multiple opacities in Not Normal / No Lung Opacities images?](#Why-are-there-multiple-opacities-in-Not-Normal-/-No-Lung-Opacities-images?)\n    - [What makes pneumonia associated opacities unique?](#What-makes-pneumonia-associated-opacities-unique?)\n    - [Lung opacity annotation instructions to radiologists for this dataset](#Lung-opacity-annotation-instructions-to-radiologists-for-this-dataset)\n- [A Clear and Detailed Definition of Pneumonia Associated Lung Opacities](#A-Clear-and-Detailed-Definition-of-Pneumonia-Associated-Lung-Opacities)\n    - [Consolidation vs. Ground-Glass Opacity](#Consolidation-vs.-Ground-Glass-Opacity)\n- [Building Your Model for Pneumonia Associated Lung Opacities](#Building-Your-Model-for-Pneumonia-Associated-Lung-Opacities)\n    - [Are there pneumonia images in the No Lung Opacity / Not Normal class?](#Are-there-pneumonia-images-in-the-No-Lung-Opacity-/-Not-Normal-class?)\n    - [How can I predict if the patient has pneumonia?](#How-can-I-predict-if-the-patient-has-pneumonia?)\n- [Opacities That Are Not Related to Pneumonia](#Opacities-That-Are-Not-Related-to-Pneumonia)\n    - [Pleural effusion](#Pleural-effusion)\n    - [Lung Masses and Nodules](#Lung-Masses-and-Nodules)\n    - [Increased Vascular Markings + Enlarged Heart](#Increased-Vascular-Markings-+-Enlarged-Heart)\n    - [White Lung](#White-Lung)\n    - [Unclear Abnormality](#Unclear-Abnormality)\n- [Summary](#Summary)\n","metadata":{"_uuid":"b2528d2827f76b746878b62cee0a69481d8d7165"}},{"cell_type":"markdown","source":"## Loading and preparing the data","metadata":{"_uuid":"f491bb4f13f55f346b7f6514e90fcd3cb19f0da8"}},{"cell_type":"code","source":"import glob \nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport pydicom, numpy as np\n\nplt.figure(figsize=(20, 40))\n\nplt.subplot(121)\nplt.title(\"Sample Patient 6 - Normal\")\ndraw([df['patientId'][59]])\nprint(patient_class.loc[df['patientId'][59]])\n\nplt.subplot(122)\nplt.title(\"Sample Patient 8 - Increased Vascular Markings + Enlarged Heart\")\ndraw([df['patientId'][38]])\nprint(patient_class.loc[df['patientId'][38]])\n\n","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_kg_hide-output":true,"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-11-09T11:41:13.295486Z","iopub.execute_input":"2022-11-09T11:41:13.295886Z","iopub.status.idle":"2022-11-09T11:41:13.996013Z","shell.execute_reply.started":"2022-11-09T11:41:13.295788Z","shell.execute_reply":"2022-11-09T11:41:13.994803Z"},"trusted":true},"execution_count":10,"outputs":[{"traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)","\u001b[0;32m<ipython-input-10-9edbccca45f0>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      8\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m121\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      9\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtitle\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Sample Patient 6 - Normal\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 10\u001b[0;31m \u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'patientId'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m59\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     11\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpatient_class\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'patientId'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m59\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     12\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;31mNameError\u001b[0m: name 'draw' is not defined"],"ename":"NameError","evalue":"name 'draw' is not defined","output_type":"error"},{"output_type":"display_data","data":{"text/plain":"<Figure size 1440x2880 with 1 Axes>","image/png":"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9v62zssmcI4nmxOU8wexC4eaQIHT84kkfy7J27bv2rghm594T7y75gXZvG3349mcH/GfDuA+35zk5iT/NcmPrrXesHvAWuvWJFdlc7Lt8WxWMp6b0/w3vtb6RDYn6V6b5GPZnAB63Y7r35PklUlu2R6SuGjX7c94HmutT2dzsulbtvu+fI8x781mVeol2/ldleTK7eGeg/CTSb6w4/7uSHJlNicHfyTJi5M8Y/s8nLW11o3ZRNFbs4m/r0/yloPYN3ylm7XOeHUSuBvNzMOT/E6S+661Pn/PzgbgD5cVFACgzikDZWb+7cx8eGZ+6y6un5n5qZm5eTYfPvX4g58mAHCY7GcF5eVJnnKS66/I5kOkLktyTZKfOftpAWut96+1xuEd4DDaz4lrv57k904y5KokP7f9UKcbkpzvUxABgLNx0t8auk8X58s/qOjYdtvv7h44M9dks8qS88477xse9ahHHcDdAwCN3vGOd3xkrXXKX7mxl4MIlL0+UGjPtwattV6a5KVJcuTIkXX06NEDuHsAoNHMfOBMb3sQ7+I5li//pMtLsvcnXQIA7MtBBMp1SZ6xfTfP5Uk+vta60+EdAID9OuUhnpl5ZZInJblgZo4l+adJ7pska62XZPN7Op6azSddfjqbj+IGADhjpwyUtdZev9p95/UryT88sBkBAIeeT5IFAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgzr4CZWaeMjPvnZmbZ+Z5e1z/0Jn51Zl558y8a2aeevBTBQAOi1MGysyck+RFSa5I8pgkV8/MY3YN+94k1661Hpfk6UlefNATBQAOj/2soDwhyc1rrVvWWnckeVWSq3aNWUkesP36gUluO7gpAgCHzX4C5eIkt+64fGy7bafnJ/n2mTmW5Pok37nXjmbmmpk5OjNHjx8/fgbTBQAOg/0Eyuyxbe26fHWSl6+1Lkny1CQ/PzN32vda66VrrSNrrSMXXnjh6c8WADgU9hMox5JcuuPyJbnzIZy/k+TaJFlrvTXJ1yS54CAmCAAcPvsJlLcnuWxmHjEz52ZzEux1u8b8nyR/KUlm5tHZBIpjOADAGTlloKy1Pp/k2Ulen+SmbN6t8+6ZeeHMXLkd9pwk3zEzv5nklUmeudbafRgIAGBf7rOfQWut67M5+XXntu/f8fWNSb7pYKcGABxWPkkWAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOvsKlJl5ysy8d2Zunpnn3cWYb5uZG2fm3TPz7w92mgDAYXKfUw2YmXOSvCjJtyY5luTtM3PdWuvGHWMuS/JPknzTWutjM/Pgu2vCAMC9335WUJ6Q5Oa11i1rrTuSvCrJVbvGfEeSF621PpYka60PH+w0AYDDZD+BcnGSW3dcPrbdttMjkzxyZt4yMzfMzFP22tHMXDMzR2fm6PHjx89sxgDAvd5+AmX22LZ2Xb5PksuSPCnJ1Ul+dmbOv9ON1nrpWuvIWuvIhRdeeLpzBQAOif0EyrEkl+64fEmS2/YY85q11v9ba/1OkvdmEywAAKdtP4Hy9iSXzcwjZubcJE9Pct2uMb+c5MlJMjMXZHPI55aDnCgAcHicMlDWWp9P8uwkr09yU5Jr11rvnpkXzsyV22GvT/LRmbkxya8mee5a66N316QBgHu3WWv36SR/OI4cObKOHj16j9w3AHD3m5l3rLWOnMltfZIsAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAA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AOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgzqZAmZk7ZuaZmbkwMx+4xPPfNTOf2D3/+Zm55bg3CgDsjyMDZWauSfJQknclOZPk3pk5c9Gy+5N8fa31o0l+P8nvHvdGAYD9seUIytuSXFhrPbvW+kaSjye5+6I1dyf5k939Tyd558zM8W0TANgn125Yc2OSrx56/FySn7zcmrXWKzPzYpIfSPJvhxfNzANJHtg9fHlmvnQlm+ZEXZ+L5sZVZyZ9zKSTufT5sSv9xC2BcqkjIesK1mSt9XCSh5NkZs6vtc5u+PM5RebSx0z6mEknc+kzM+ev9HO3nOJ5LsnNhx7flORrl1szM9cmeUOS/7jSTQEA+21LoHwhya0z86aZuS7JPUnOXbTmXJJf3N1/d5K/WWt90xEUAIAtjjzFs3tPyfuSPJrkmiQfW2s9NTMfSnJ+rXUuyR8l+bOZuZCDIyf3bPizH/429s3JMZc+ZtLHTDqZS58rnsk40AEAtHElWQCgjkABAOqceKC4TH6fDTN5/8w8PTNPzsxnZ+aNV2Of++aouRxa9+6ZWTPjv1OesC0zmZmf3329PDUzf37ae9xHG76H/fDMPDYzT+y+j915Nfa5T2bmYzPz/OWubzYH/mA3sydn5q1Hvuha68RuOXhT7T8n+ZEk1yX5xyRnLlrzK0k+srt/T5JPnOSe9v22cSY/m+R7dvffayYdc9mte32SzyV5PMnZq73v1/Jt49fKrUmeSPL9u8c/eLX3/Vq/bZzLw0neu7t/JsmXr/a+X+u3JD+d5K1JvnSZ5+9M8pkcXDft7Uk+f9RrnvQRFJfJ73PkTNZaj621Xto9fDwH177hZG35WkmS30ny4ST/dZqb21NbZvLLSR5aa309SdZaz5/yHvfRlrmsJN+7u/+GfPO1uzhma63P5dWvf3Z3kj9dBx5P8n0z80Ov9ponHSiXukz+jZdbs9Z6Jcn/Xyafk7FlJofdn4Pq5WQdOZeZeUuSm9daf32aG9tjW75W3pzkzTPz9zPz+MzccWq7219b5vLbSe6bmeeSPJLkV09na7yKb/Vnz6ZL3X87ju0y+RybzX/fM3NfkrNJ3nGiOyI5Yi4z8x05+E3h7zmtDbHpa+XaHJzm+ZkcHGn8u5m5ba31nye8t322ZS73JvnjtdbvzcxP5eA6Xbettf735LfHZXzLP+tP+giKy+T32TKTzMztST6Y5K611suntLd9dtRcXp/ktiR/OzNfzsE53HPeKHuitn7/+qu11n+vtf4lyTM5CBZOzpa53J/kk0my1vqHJN+dg18kyNWz6WfPYScdKC6T3+fImexOJXw0B3HinPrpeNW5rLVeXGtdv9a6Za11Sw7eG3TXWuuKfxEXR9ry/esvc/Cm8szM9Tk45fPsqe5y/2yZy1eSvDNJZubHcxAoL5zqLrnYuSS/sPvfPG9P8uJa619f7RNO9BTPOrnL5HOFNs7kwSSvS/Kp3fuVv7LWuuuqbXoPbJwLp2jjTB5N8nMz83SS/0nyG2utf796u37t2ziXX0/yhzPzazk4jfAe//A9WTPzFzk41Xn97r0/v5XkO5NkrfWRHLwX6M4kF5K8lOSXjnxNMwMA2riSLABQR6AAAHUECgBQR6AAAHUECgBQR6AAAHUECgBQ5/8AE0L5q7A/QawAAAAASUVORK5CYII=\n"},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","source":"# What Does a Normal Image Look Like?\n[Back to top](#Table-of-Contents)\n\nThis is an illustration of the chest anatomy with the lungs highlighted - \n\n![Chest Anatomy](https://i.imgur.com/Jb9OmxM.jpg)\n*Credit: MDGRPHCS / Shutterstock.com*\n\nYou can see that there is a mass of tissue surrounding the lungs and between the lungs. These areas contain skin, muscles, fat, bones, and also the heart and big blood vessels. That translates into a lot of information on the chest radiograph that is not useful for this competition.\n\nLet's view a normal image from the data set and compare it to the illustration.\n","metadata":{"_uuid":"3db58dbbbe3a5665d14e07d006601c588d527cd7"}},{"cell_type":"code","source":"patientId = df['patientId'][3]\nprint(patient_class.loc[patientId])\n\nplt.figure(figsize=(10,8))\nplt.title(\"Sample Patient 1 - Normal Image\")\n\ndraw(parsed[patientId])\n","metadata":{"_uuid":"0b6d816b28fa288621745319773cb9e498781c3b","_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-11-09T11:26:39.666754Z","iopub.execute_input":"2022-11-09T11:26:39.667296Z","iopub.status.idle":"2022-11-09T11:26:39.68501Z","shell.execute_reply.started":"2022-11-09T11:26:39.6672Z","shell.execute_reply":"2022-11-09T11:26:39.683298Z"},"trusted":true},"execution_count":2,"outputs":[{"traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)","\u001b[0;32m<ipython-input-2-dd1aca42c9e8>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mpatientId\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'patientId'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      2\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpatient_class\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mpatientId\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfigsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m8\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtitle\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Sample Patient 1 - Normal Image\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;31mNameError\u001b[0m: name 'df' is not defined"],"ename":"NameError","evalue":"name 'df' is not defined","output_type":"error"}]},{"cell_type":"markdown","source":"This is an example of a normal chest radiograph (CXR) with ש good technical quality. \n\n## Chest Radiographs Basics  \n[Back to top](#Table-of-Contents)\n\nIn the process of taking the image, an [X-ray](https://en.wikipedia.org/wiki/X-ray) passes through the body and reaches a detector on the other side. Tissues with sparse material, such as lungs which are full of air, do not absorb the X-rays and appear black in the image. Dense tissues such as bones absorb the X-rays and appear white in the image.\nIn short - \n* Black = Air \n* White = Bone \n* Grey = Tissue or Fluid\n\nThe left side of the subject is on the right side of the screen by convention. You can also see the small L at the top of the right corner. \nIn a normal image we see the lungs as black, but they have different projections on them - mainly the rib cage bones, main airways, blood vessels and the heart.\n\nIf you are interested in the basic anatomy you can see in a chest radiograph besides the lungs you can view this [5 minutes video by QuickMedic](https://youtu.be/uo7ho8ZW2YY).","metadata":{"_uuid":"372b88a8bb807b44f27743cfb8a17e32080dd40a"}},{"cell_type":"markdown","source":"# What are Lung Opacities?\n[Back to top](#Table-of-Contents)\n\nLet's load an image classified as \"Lung Opacity\" and see -","metadata":{"_uuid":"90724f4bf211e35a70242afdd1e18b04c98668e1"}},{"cell_type":"code","source":"patientId = df['patientId'][8]\nprint(patient_class.loc[patientId])\n\nplt.figure(figsize=(10,8))\nplt.title(\"Sample Patient 2 - Lung Opacity\")\n\ndraw(parsed[patientId])","metadata":{"_uuid":"d16bde690e3d78c53f74808e2da936b16c98fa0d","_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-11-09T11:26:06.67939Z","iopub.status.idle":"2022-11-09T11:26:06.680195Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## The Definition of Opacity\n[Back to top](#Table-of-Contents)\n\n**Opacity** is a pretty loose term - *\"Opacity refers to any area that preferentially attenuates the x-ray beam and therefore appears more opaque than the surrounding area. It is a nonspecific term that does not indicate the size or pathologic nature of the abnormality\" - from [Felson's Principles of Chest Roentgenology (Fourth Edition)](https://www.amazon.com/Felsons-Principles-Roentgenology-Programmed-Goodman/dp/1455774839?SubscriptionId=AKIAILSHYYTFIVPWUY6Q&tag=duckduckgo-ffab-20&linkCode=xm2&camp=2025&creative=165953&creativeASIN=1455774839).*\n\n**Meaning** - Any area in the chest radiograph that is more white than it should be. If you compare the images of Sample Patient 1 and Sample Patient 2 you can see that the lower boundry of the lungs of patient 2 is obscured by **opacities**. In the image of Sample Patient 1 you can see the clear difference between the black lungs and the tissue below it, and in the image of Sample Patient 2 there is just this fuzziness. \n\n## What are opacities and what can we understand if we see them?\n*In reply to [Arya Mazaheri](https://www.kaggle.com/aryanet)*\n\nUsually the lungs are full of air. When someone has **pneumonia**, the air in the lungs is replaced by other material - fluids, bacteria, immune system cells, etc. That's why areas of opacities are areas that are grey but should be more black. When we see them we understand that the lung tissue in that area is probably not healthy. \n\n## Normal vs. Lung Opacity images\n","metadata":{"_uuid":"bb42b36e205989502a0f0904eed50d1a471c783c"}},{"cell_type":"code","source":"\nplt.figure(figsize=(20, 40))\n\nplt.subplot(421)\nplt.title(\"Normal Image\")\n\ndraw(parsed[df['patientId'][3]])\n\nplt.subplot(423)\ndraw(parsed[df['patientId'][11]])\n\nplt.subplot(425)\ndraw(parsed[df['patientId'][12]])\n\nplt.subplot(427)\ndraw(parsed[df['patientId'][13]])\n\nplt.subplot(422)\nplt.title(\"Lung Opacity\")\n\ndraw(parsed[df['patientId'][8]])\n\nplt.subplot(424)\ndraw(parsed[df['patientId'][16]])\n\nplt.subplot(426)\ndraw(parsed[df['patientId'][19]])\n\nplt.subplot(428)\ndraw(parsed[df['patientId'][24]])\n","metadata":{"_kg_hide-input":true,"_uuid":"b3f1a6a59c6544cd9d7133daf42cc73a471d12c8","execution":{"iopub.status.busy":"2022-11-09T11:26:06.680933Z","iopub.status.idle":"2022-11-09T11:26:06.681284Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"In the Lung Opacity images we can see that there is haziness were the labeled boxes are (termed ground glass opacity) and/or a loss of the usual boundries of the lungs (termed consolidation). I will go in depth into these terms in the \"A Clear and Detailed Definition of Pneumonia Associated Lung Opacities\" section. \nYou can also see that patients with pneumonia are ill and have different cables, stickers, and tubes connected to them. If you see a round white small opacity in and around the lungs it's probably an ECG sticker.\n\n# Some considerations when building your model\n[Back to top](#Table-of-Contents)\n\n## Localization vs. Segmentation of Opacities\n*In reply to [Arya Mazaheri](https://www.kaggle.com/aryanet)*\n\nAs you can see, lung opacities are not homogenoues and they do not have a clear center or clear boundaries. I don't think you can properly segment opacities out of the entire picture because there are no clear boundries. However, if you can segment the lungs properly and filter out the rest of the image, you could create a clean image of the lungs for your neural network to process *(clean as in data cleaning, not clean of pneumonia or opacities)*. An implementation of [U-Net](https://arxiv.org/abs/1505.04597) for such a segmentation can be seen at [Lesson 2: Lung X-Rays Semantic Segmentation](https://colab.research.google.com/github/mdai/ml-lessons/blob/master/lesson2-lung-xrays-segmentation.ipynb) on Google Colab.\n\n## How accurate are the annotated boxes?\n*In reply to [Arya Mazaheri](https://www.kaggle.com/aryanet) and [Mikheil Azatov](https://www.kaggle.com/mazatov)*\n\nThere is a known variability between radiologists in the interpretation of chest radiographs. In a study by [Neuman et al. (2012)](https://www.journalofhospitalmedicine.com/jhospmed/article/126918/reliability-cxr-pneumonia), there was only a moderate level of agreement between radiologists about the presence of **infiltrates**, which are opacities by definition.\nGoing through the images of this competition, I believe that the presence and position of the annotated boxes would vary between different radiologists.","metadata":{"_uuid":"3dccc8889789bbac197142a5a3a820c16aab2b47"}},{"cell_type":"markdown","source":"# A Closer Look Into \"No Lung Opacity / Not Normal\" Images\n[Back to top](#Table-of-Contents)","metadata":{"_uuid":"011f156c8ae9a5ca2c99f5aeb0ccff3cc0f10c09"}},{"cell_type":"code","source":"patientId = df['patientId'][2]\nprint(patient_class.loc[patientId])\n\nplt.figure(figsize=(10,8))\nplt.title(\"Sample Patient 3 - Lung Nodules and Masses\")\ndraw(parsed[patientId])","metadata":{"_kg_hide-input":true,"_uuid":"b119a89ca81d3027842867b2e44b925676f94ba4","execution":{"iopub.status.busy":"2022-11-09T11:26:06.681981Z","iopub.status.idle":"2022-11-09T11:26:06.68244Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**There are obvious opacities in this image, so what's going on??**\n\nThis patient has a \"Target\" value of 0 in the stage_1_train_labels.csv file, which means he does not have a diagnosis of peumonia. *\"There is also a binary target column, Target, indicating pneumonia or non-pneumonia\" - from the [Data description](https://www.kaggle.com/c/rsna-pneumonia-detection-challenge/data) page*.\n\n## Why are there multiple opacities in No Lung Opacity / Not Normal images?\n\nI'm afraid this competition is misleading in many ways. There are different kinds of opacities (see a general explanation about opacities above). Some are related to pneumonia and some are not. What we see in the image of Patient 3 are Lung Nodules and Masses, which are defined as *\"a rounded opacity, well or poorly defined\" - [Felson's Principles of Chest Roentgenology (Fourth Edition)](https://www.amazon.com/Felsons-Principles-Roentgenology-Programmed-Goodman/dp/1455774839?SubscriptionId=AKIAILSHYYTFIVPWUY6Q&tag=duckduckgo-ffab-20&linkCode=xm2&camp=2025&creative=165953&creativeASIN=1455774839).* The difference between a **nodule** and a **mass** is the size of the opacity. Unfortunately, it seems like Patient 3 he has multiple lung tumors, probably metastases from an invasive cancer in a different location of the body.\n\n## What makes pneumonia associated opacities unique?\n\nLet's compare \"Sample Patient 2 - Lung Opacity\", with \"Sample Patient 3 - Lung Nodules and Masses\"\n","metadata":{"_uuid":"00d0de576cad3a712e5c247a71a2f11dc850efa0"}},{"cell_type":"code","source":"plt.figure(figsize=(20, 40))\n\nplt.subplot(121)\nplt.title(\"Sample Patient 2 - Lung Opacity\")\ndraw(parsed[df['patientId'][8]])\n\nplt.subplot(122)\nplt.title(\"Sample Patient 3 - Lung Nodules and Masses\")\ndraw(parsed[df['patientId'][2]])","metadata":{"_kg_hide-input":true,"_uuid":"4024b692a443b92ef0a191fb0fa2e14043375544","execution":{"iopub.status.busy":"2022-11-09T11:26:06.683399Z","iopub.status.idle":"2022-11-09T11:26:06.683946Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"The main difference in the types of opacities between these two patients is the borders and the shape of the opacity, Patient 3 has multiple round and clearly defined opacities. Patient 2 has this poorly defined haziness which obscures the margins of the lungs and heart. This haziness is termed **consolidation**.\n\n## Lung opacity annotation instructions to radiologists for this dataset\n[Back to top](#Table-of-Contents)\n\n[Anouk Stein, MD](https://www.kaggle.com/anoukstein) from MD.ai posted the instructions given to the radiologists who annotated the competition dataset images in [Pneumonia Dataset Annotation Methods](https://www.kaggle.com/c/rsna-pneumonia-detection-challenge/discussion/64723#379805):\n\n> - Lung Opacity (bounding box) - a finding on chest radiograph that in a patient with cough and fever has a high likelihood of being pneumonia\n>\n> - With the understanding that in the absence of clinical information, lateral radiograph, and serial exams, we have to make assumptions\n>\n> - Include any area that is more opaque than the surrounding area (Fleischner definition)\n>\n> - Exclude: obvious mass(es), nodule(s), lobar collapse, linear atelectasis\n>\n> In the cases labeled Not Normal/No Lung Opacity, no lung opacity refers to no opacity suspicious for pneumonia. Other non-pneumonia opacities may be present. Also, some of the not normal cases have subtle abnormalities which require a trained eye to discern. (Which, for now, keeps radiologists around.)\n\nIn the next section I'll try to put it all together and give a clear definition of the opacities annotated in this data set.\n\n\n# A Clear and Detailed Definition of Pneumonia Associated Lung Opacities\n[Back to top](#Table-of-Contents)\n\nWhy does the chest radiograph change when a person has pneumonia? To answer this question we have to ask what is pneumonia first.\n\n![Pneumonia](https://jamanetwork.com/data/Journals/JAMA/934929/m_jpg160003fa.png)\nCredit: Thompson AE. [Pneumonia. *JAMA.*](https://jamanetwork.com/journals/jama/fullarticle/2488310) 2016;315(6):626. \n\nPneumonia is a lung infection that can be caused by bacteria, viruses, or fungi. Because of the infection and the body's immune response, the sacks in the lungs *(termed alveoli)* are filled with fluids instead of air. The reason that **pneumonia associated lung opacities** look diffuse on the chest radiograph is because the infection and fluid that accumulate spread within the normal tree of airways in the lung. There is no clear border where the infection stops. That is different from other diseases like tumors, which are totally different from the normal lung, and do not maintain the normal structure of the airways inside the lung.\n\n## Consolidation vs. Ground-Glass Opacity\n\nLet's compare two patients -","metadata":{"_uuid":"020783dc1cdd3b1bfe455830ac9808b88b9b548d"}},{"cell_type":"code","source":"plt.figure(figsize=(20, 40))\n\nplt.subplot(121)\nplt.title(\"Sample Patient 4 - Ground-Glass Opacities\")\ndraw(parsed[df['patientId'][25]])\nprint(patient_class.loc[df['patientId'][25]])\n\nplt.subplot(122)\nplt.title(\"Sample Patient 5 - Consolidations\")\ndraw(parsed[df['patientId'][28]])\nprint(patient_class.loc[df['patientId'][28]])","metadata":{"_uuid":"fbaef3b1dfbe13ead6d21669c93613a2a6491c51","_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-11-09T11:26:06.684972Z","iopub.status.idle":"2022-11-09T11:26:06.685341Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Patient 4 - **Ground-Glass Opacities**: We can see that the lungs are \"whiter\" than they should be, but we can see most of the borders of the lungs and heart. \n**Ground-Glass Opacity** definition - *\"On chest radiographs, **ground-glass opacity** appears as an area of hazy increased lung opacity, usually extensive, within which margins of pulmonary vessels may be indistinct.  [...] **Ground-glass opacity** is less opaque than **consolidation**, in which bronchovascular margins are obscured.\"\n\nPatient 5 - **Consolidations**: There are fuzzy areas in the lungs and the borders of the lungs and heart cannot be seen.\n**Consolidation** definition -  *\"Consolidation appears as a homogeneous increase in pulmonary parenchymal attenuation that obscures the margins of vessels and airway walls.\"\n\nThese definitions are from [Felson's Principles of Chest Roentgenology (Fourth Edition)](https://www.amazon.com/Felsons-Principles-Roentgenology-Programmed-Goodman/dp/1455774839?SubscriptionId=AKIAILSHYYTFIVPWUY6Q&tag=duckduckgo-ffab-20&linkCode=xm2&camp=2025&creative=165953&creativeASIN=1455774839).\n\n# Building Your Model for Pneumonia Associated Lung Opacities\n[Back to top](#Table-of-Contents)\n\n## Are there pneumonia images in the No Lung Opacity / Not Normal class?\n*In reply to [Yingying.Z](https://www.kaggle.com/yingying6)*\n\nThere should not be any pneumonia cases in the \"No Lung Opacity / Not Normal\" class because these patients have a \"Target\" value of 0. *\"There is also a binary target column, Target, indicating pneumonia or non-pneumonia\"* (from the data description page).\n\n**However,** the diagnosis of pneumonia is not made only with the chest radiograph so there might be images that look similar to pneumonia. \n\n## How can I predict if the patient has pneumonia?\nI can think of two approaches. The best solution is probably some combination of both of them.\n1. Try to predict the \"Target\" from the meta-data, like Ann Antonova's excellent kernel [Practical EDA on numerical data](https://www.kaggle.com/aantonova/practical-eda-on-numerical-data), or Giulia Savorgnan's informative [DATA LEAKAGE: ViewPosition (PA/AP) matters](https://www.kaggle.com/giuliasavorgnan/data-leakage-viewposition-pa-ap-matters).\n\n2. I would try to predict the \"Target\" from the image itself with a neural network, independently of the opacity boxes prediction. \n\n","metadata":{"_uuid":"2d29e8765df2d896df528f7f59e6e927f0391078"}},{"cell_type":"markdown","source":"# Opacities That Are Not Related to Pneumonia\n\n## Pleural effusion\n[Back to top](#Table-of-Contents)","metadata":{"_uuid":"1de7660fd159ff8be4339355bb0fc5113649bbf3"}},{"cell_type":"code","source":"plt.figure(figsize=(20, 40))\n\nplt.subplot(121)\nplt.title(\"Sample Patient 6 - Normal\")\ndraw(parsed[df['patientId'][59]])\nprint(patient_class.loc[df['patientId'][59]])\n\nplt.subplot(122)\nplt.title(\"Sample Patient 7 - Pleural Effusion\")\ndraw(parsed[df['patientId'][125]])\nprint(patient_class.loc[df['patientId'][125]])","metadata":{"_uuid":"49db6fd1bfba2eccd27b702f32cf69c2ed3aed66","_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-11-09T11:26:06.686087Z","iopub.status.idle":"2022-11-09T11:26:06.686417Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"The lower part of the right lung of Patient 7 (the right lung is at the left side of the picture) is higher than in a normal image. This is a called a **pleural effusion**. It is caused by an accumulation of fluid in the chest outside of the lung. This causes the lung to look smaller on the chest radiograph.\n\n## Lung Masses and Nodules\n[Back to top](#Table-of-Contents)","metadata":{"_uuid":"ba65bc6cd0e8cf7a9ffa8067293eb6f7a73ac62b"}},{"cell_type":"code","source":"plt.figure(figsize=(20, 40))\n\nplt.subplot(121)\nplt.title(\"Sample Patient 6 - Normal\")\ndraw(parsed[df['patientId'][59]])\nprint(patient_class.loc[df['patientId'][59]])\n\nplt.subplot(122)\nplt.title(\"Sample Patient 3 - Lung Nodules and Masses\")\ndraw(parsed[df['patientId'][2]])\nprint(patient_class.loc[df['patientId'][2]])","metadata":{"_uuid":"8bc496445df8918cc3da6e535cd028c22a0889e3","_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-11-09T11:26:06.687001Z","iopub.status.idle":"2022-11-09T11:26:06.687422Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"This is the same image I used in the *A Closer Look Into \"No Lung Opacity / Not Normal\" Images* section where I explained the difference between a **nodule** and a **pneumonia associated lung opacity**. It's a striking example of lung masses and nodules, I actually don't remember seeing an image with so many clear masses in my work as a physician. Lung Nodules and Masses are defined as *\"a rounded opacity, well or poorly defined\" - [Felson's Principles of Chest Roentgenology (Fourth Edition)](https://www.amazon.com/Felsons-Principles-Roentgenology-Programmed-Goodman/dp/1455774839?SubscriptionId=AKIAILSHYYTFIVPWUY6Q&tag=duckduckgo-ffab-20&linkCode=xm2&camp=2025&creative=165953&creativeASIN=1455774839).* There are a lot of articles about automated detection of nodules detection in the recent years, you can look at [\"Learning to detect chest radiographs containing lung nodules using visual attention networks\"](https://arxiv.org/pdf/1712.00996.pdf) as an example.\n\n## Increased Vascular Markings + Enlarged Heart\n[Back to top](#Table-of-Contents)","metadata":{"_uuid":"5ee73d01955ea4e574a6f4be8e1b132acc1fce63"}},{"cell_type":"code","source":"plt.figure(figsize=(20, 40))\n\nplt.subplot(121)\nplt.title(\"Sample Patient 6 - Normal\")\ndraw(parsed[df['patientId'][59]])\nprint(patient_class.loc[df['patientId'][59]])\n\nplt.subplot(122)\nplt.title(\"Sample Patient 8 - Increased Vascular Markings + Enlarged Heart\")\ndraw(parsed[df['patientId'][38]])\nprint(patient_class.loc[df['patientId'][38]])","metadata":{"_uuid":"e8a18b637d41ee06580aaad662d1e790728f2b7a","execution":{"iopub.status.busy":"2022-11-09T11:39:16.451008Z","iopub.execute_input":"2022-11-09T11:39:16.451299Z","iopub.status.idle":"2022-11-09T11:39:17.109055Z","shell.execute_reply.started":"2022-11-09T11:39:16.451258Z","shell.execute_reply":"2022-11-09T11:39:17.107992Z"},"trusted":true},"execution_count":6,"outputs":[{"traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)","\u001b[0;32m<ipython-input-6-868ead554a89>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m121\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtitle\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Sample Patient 6 - Normal\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mparsed\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'patientId'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m59\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      6\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpatient_class\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'patientId'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m59\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;31mNameError\u001b[0m: name 'draw' is not defined"],"ename":"NameError","evalue":"name 'draw' is not defined","output_type":"error"},{"output_type":"display_data","data":{"text/plain":"<Figure size 1440x2880 with 1 Axes>","image/png":"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9v62zssmcI4nmxOU8wexC4eaQIHT84kkfy7J27bv2rghm594T7y75gXZvG3349mcH/GfDuA+35zk5iT/NcmPrrXesHvAWuvWJFdlc7Lt8WxWMp6b0/w3vtb6RDYn6V6b5GPZnAB63Y7r35PklUlu2R6SuGjX7c94HmutT2dzsulbtvu+fI8x781mVeol2/ldleTK7eGeg/CTSb6w4/7uSHJlNicHfyTJi5M8Y/s8nLW11o3ZRNFbs4m/r0/yloPYN3ylm7XOeHUSuBvNzMOT/E6S+661Pn/PzgbgD5cVFACgzikDZWb+7cx8eGZ+6y6un5n5qZm5eTYfPvX4g58mAHCY7GcF5eVJnnKS66/I5kOkLktyTZKfOftpAWut96+1xuEd4DDaz4lrv57k904y5KokP7f9UKcbkpzvUxABgLNx0t8auk8X58s/qOjYdtvv7h44M9dks8qS88477xse9ahHHcDdAwCN3vGOd3xkrXXKX7mxl4MIlL0+UGjPtwattV6a5KVJcuTIkXX06NEDuHsAoNHMfOBMb3sQ7+I5li//pMtLsvcnXQIA7MtBBMp1SZ6xfTfP5Uk+vta60+EdAID9OuUhnpl5ZZInJblgZo4l+adJ7pska62XZPN7Op6azSddfjqbj+IGADhjpwyUtdZev9p95/UryT88sBkBAIeeT5IFAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgzr4CZWaeMjPvnZmbZ+Z5e1z/0Jn51Zl558y8a2aeevBTBQAOi1MGysyck+RFSa5I8pgkV8/MY3YN+94k1661Hpfk6UlefNATBQAOj/2soDwhyc1rrVvWWnckeVWSq3aNWUkesP36gUluO7gpAgCHzX4C5eIkt+64fGy7bafnJ/n2mTmW5Pok37nXjmbmmpk5OjNHjx8/fgbTBQAOg/0Eyuyxbe26fHWSl6+1Lkny1CQ/PzN32vda66VrrSNrrSMXXnjh6c8WADgU9hMox5JcuuPyJbnzIZy/k+TaJFlrvTXJ1yS54CAmCAAcPvsJlLcnuWxmHjEz52ZzEux1u8b8nyR/KUlm5tHZBIpjOADAGTlloKy1Pp/k2Ulen+SmbN6t8+6ZeeHMXLkd9pwk3zEzv5nklUmeudbafRgIAGBf7rOfQWut67M5+XXntu/f8fWNSb7pYKcGABxWPkkWAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOgIFAKgjUACAOvsKlJl5ysy8d2Zunpnn3cWYb5uZG2fm3TPz7w92mgDAYXKfUw2YmXOSvCjJtyY5luTtM3PdWuvGHWMuS/JPknzTWutjM/Pgu2vCAMC9335WUJ6Q5Oa11i1rrTuSvCrJVbvGfEeSF621PpYka60PH+w0AYDDZD+BcnGSW3dcPrbdttMjkzxyZt4yMzfMzFP22tHMXDMzR2fm6PHjx89sxgDAvd5+AmX22LZ2Xb5PksuSPCnJ1Ul+dmbOv9ON1nrpWuvIWuvIhRdeeLpzBQAOif0EyrEkl+64fEmS2/YY85q11v9ba/1OkvdmEywAAKdtP4Hy9iSXzcwjZubcJE9Pct2uMb+c5MlJMjMXZHPI55aDnCgAcHicMlDWWp9P8uwkr09yU5Jr11rvnpkXzsyV22GvT/LRmbkxya8mee5a66N316QBgHu3WWv36SR/OI4cObKOHj16j9w3AHD3m5l3rLWOnMltfZIsAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAAdQQKAFBHoAAA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AOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgjkABAOoIFACgzqZAmZk7ZuaZmbkwMx+4xPPfNTOf2D3/+Zm55bg3CgDsjyMDZWauSfJQknclOZPk3pk5c9Gy+5N8fa31o0l+P8nvHvdGAYD9seUIytuSXFhrPbvW+kaSjye5+6I1dyf5k939Tyd558zM8W0TANgn125Yc2OSrx56/FySn7zcmrXWKzPzYpIfSPJvhxfNzANJHtg9fHlmvnQlm+ZEXZ+L5sZVZyZ9zKSTufT5sSv9xC2BcqkjIesK1mSt9XCSh5NkZs6vtc5u+PM5RebSx0z6mEknc+kzM+ev9HO3nOJ5LsnNhx7flORrl1szM9cmeUOS/7jSTQEA+21LoHwhya0z86aZuS7JPUnOXbTmXJJf3N1/d5K/WWt90xEUAIAtjjzFs3tPyfuSPJrkmiQfW2s9NTMfSnJ+rXUuyR8l+bOZuZCDIyf3bPizH/429s3JMZc+ZtLHTDqZS58rnsk40AEAtHElWQCgjkABAOqceKC4TH6fDTN5/8w8PTNPzsxnZ+aNV2Of++aouRxa9+6ZWTPjv1OesC0zmZmf3329PDUzf37ae9xHG76H/fDMPDYzT+y+j915Nfa5T2bmYzPz/OWubzYH/mA3sydn5q1Hvuha68RuOXhT7T8n+ZEk1yX5xyRnLlrzK0k+srt/T5JPnOSe9v22cSY/m+R7dvffayYdc9mte32SzyV5PMnZq73v1/Jt49fKrUmeSPL9u8c/eLX3/Vq/bZzLw0neu7t/JsmXr/a+X+u3JD+d5K1JvnSZ5+9M8pkcXDft7Uk+f9RrnvQRFJfJ73PkTNZaj621Xto9fDwH177hZG35WkmS30ny4ST/dZqb21NbZvLLSR5aa309SdZaz5/yHvfRlrmsJN+7u/+GfPO1uzhma63P5dWvf3Z3kj9dBx5P8n0z80Ov9ponHSiXukz+jZdbs9Z6Jcn/Xyafk7FlJofdn4Pq5WQdOZeZeUuSm9daf32aG9tjW75W3pzkzTPz9zPz+MzccWq7219b5vLbSe6bmeeSPJLkV09na7yKb/Vnz6ZL3X87ju0y+RybzX/fM3NfkrNJ3nGiOyI5Yi4z8x05+E3h7zmtDbHpa+XaHJzm+ZkcHGn8u5m5ba31nye8t322ZS73JvnjtdbvzcxP5eA6Xbettf735LfHZXzLP+tP+giKy+T32TKTzMztST6Y5K611suntLd9dtRcXp/ktiR/OzNfzsE53HPeKHuitn7/+qu11n+vtf4lyTM5CBZOzpa53J/kk0my1vqHJN+dg18kyNWz6WfPYScdKC6T3+fImexOJXw0B3HinPrpeNW5rLVeXGtdv9a6Za11Sw7eG3TXWuuKfxEXR9ry/esvc/Cm8szM9Tk45fPsqe5y/2yZy1eSvDNJZubHcxAoL5zqLrnYuSS/sPvfPG9P8uJa619f7RNO9BTPOrnL5HOFNs7kwSSvS/Kp3fuVv7LWuuuqbXoPbJwLp2jjTB5N8nMz83SS/0nyG2utf796u37t2ziXX0/yhzPzazk4jfAe//A9WTPzFzk41Xn97r0/v5XkO5NkrfWRHLwX6M4kF5K8lOSXjnxNMwMA2riSLABQR6AAAHUECgBQR6AAAHUECgBQR6AAAHUECgBQ5/8AE0L5q7A/QawAAAAASUVORK5CYII=\n"},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","source":"Patient 8 - The heart takes more space than it should for this patient. The heart should not be bigger than half of the chest cavity. Also, there is an increased number and intensity of the lines coming out of the heart. These are pulmonary blood vessels. They are probably congested with blood because the patient's heart is not working properly.\n\n## White Lung\n*In reply to [Weiteng](https://www.kaggle.com/weiteng007)*\n\n[Back to top](#Table-of-Contents)","metadata":{"_uuid":"9464210b9c39309a7c355a571c60e46c4c20a9f7"}},{"cell_type":"code","source":"plt.figure(figsize=(15, 15))\n\nplt.subplot(221)\nplt.title(\"Sample Patient 6 - Normal\")\ndraw(parsed[df['patientId'][59]])\nprint(patient_class.loc[df['patientId'][59]])\n\nplt.subplot(222)\nplt.title(\"Sample Patient 9 - White Lung\")\ndraw(parsed['924f4f8b-fc27-4dfd-b5ae-59c40715e150'])\nprint(patient_class.loc['924f4f8b-fc27-4dfd-b5ae-59c40715e150'])\n\nplt.subplot(223)\nplt.title(\"Sample Patient 10 - White Lung\")\ndraw(parsed['17a5ce04-809a-42ed-9e58-100cfb33de7a'])\nprint(patient_class.loc['17a5ce04-809a-42ed-9e58-100cfb33de7a'])\n\nplt.subplot(224)\nplt.title(\"Sample Patient 11 - White Lung\")\ndraw(parsed['9dde630b-1f95-46e6-bcde-117eee4c7283'])\nprint(patient_class.loc['9dde630b-1f95-46e6-bcde-117eee4c7283'])\n","metadata":{"_kg_hide-input":true,"_uuid":"1ba05b988373eddd6104f74e46fad75380454931","execution":{"iopub.status.busy":"2022-11-09T11:26:06.689224Z","iopub.status.idle":"2022-11-09T11:26:06.689567Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Weiteng007 asked an interesting question - **Can a lung opacity occur if the lung is removed?**. The answer is **yes and no**. An opacity can occur where the lung was once, but it cannot be a **lung opacity**. This **white lung** phenomena in chest radiographs is termed \"hemithorax white-out\" or \"hemithorax opacity\". \n\nSeeing a \"white lung\" on a chest radiograph leads to the question - **if we see only an opacity where the lung is supposed to be, what happened to lung?**. These are some possible answers:\n- The lung was removed in a surgery called **pneumonectomy**.\n- The lung is filled with fluid from pneumonia and what we see is a **[pneumonia associated lung opacity](#A-Clear-and-Detailed-Definition-of-Pneumonia-Associated-Lung-Opacities)**. \n- The lung is there but it is surrounded by fluids inside the chest cavity (termed **[pleural effusion](#Pleural-effusion)**).\nIt's hard to tell just by the chest radiograph what is the cause of the \"white lung\". \n\nSince this competition is about penumonia, and these patients have a \"Target\" value of 1, the cause for their big opacity is most probably pneumonia. Meaning - they have a **pneumonia associated lung opacity** over their entire lung.\n\nYou can see more examples of \"white lungs\" in [this radiopedia artice](https://radiopaedia.org/articles/hemithorax-white-out-differential).\n\n## Unclear Abnormality\n[Back to top](#Table-of-Contents)","metadata":{"_uuid":"4c49c4d3299d2178d9b759900a18cbcbbb70668e"}},{"cell_type":"code","source":"plt.figure(figsize=(20, 40))\n\nplt.subplot(121)\nplt.title(\"Sample Patient 6 - Normal\")\ndraw(parsed[df['patientId'][59]])\nprint(patient_class.loc[df['patientId'][59]])\n\nplt.subplot(122)\nplt.title(\"Sample Patient 12 - Unclear Abnormality\")\ndraw(parsed[df['patientId'][40]])\nprint(patient_class.loc[df['patientId'][40]])","metadata":{"_uuid":"f13e0083737ddb3724e6926a5beaea39c6dbce96","execution":{"iopub.status.busy":"2022-11-09T11:26:06.690257Z","iopub.status.idle":"2022-11-09T11:26:06.690685Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Patient 12 - I can't see a clear reason for this image to be abnormal. Maybe there are signs of increased vascular markings like Patient 8? I'm not sure. Going through the No Lung Opacity / Not Normal class makes me guess that most of the images in this class are with an unclear abnormality, not something defined. \n\nHere is another example -","metadata":{"_uuid":"ec3bf8a36ce264c72a193be0770094c66e96abf4"}},{"cell_type":"code","source":"plt.figure(figsize=(20, 40))\n\nplt.subplot(121)\nplt.title(\"Sample Patient 6 - Normal\")\ndraw(parsed[df['patientId'][59]])\nprint(patient_class.loc[df['patientId'][59]])\n\nplt.subplot(122)\nplt.title(\"Sample Patient 13 - Unclear Abnormality\")\ndraw(parsed[df['patientId'][106]])\nprint(patient_class.loc[df['patientId'][106]])","metadata":{"_uuid":"a377231d49f8f01434104a2b856344a84b18429a","execution":{"iopub.status.busy":"2022-11-09T11:26:06.691253Z","iopub.status.idle":"2022-11-09T11:26:06.691585Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Patient 13 - This is a low quality chest radiograph. The left lung (on the right side of the picture) looks small but that's becuase the image is not symmetrical. The patient is lying down, probably on his side and not flat on his back, and the image was taken at angle and not directly in front of his chest. There are some electrical lines and fluid tubes obscuring parts of the image. However, I cannot find a clear abnormality, excepy maybe increased vascular markings.\n\n# Summary\n[Back to top](#Table-of-Contents)\n\nIn this **\"Pneumonia Detection\"** competition you have to do a prediction about **Pneumonia** and about **\"Pneumonia Associated Lung Opacities\"**. This was a short guide about lung opacities with images from the competition data.\nIn my mind, predicting pneumonia (\"Target = 1\") and prediction of the opacity boxes should be done separately, but I havn't built a model for prediciton yet.\n\nGood luck everyone!\n\nPost your questions in the comments section.","metadata":{"_uuid":"5f333e94928fdc19328e38893f51bd5e20014123"}}]}