{"cells":[{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport os\nimport tqdm\nimport pydicom\n\nfrom typing import Dict\nimport glob\n\nimport tensorflow as tf\nfrom tensorflow.keras import models, layers","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"plt.style.use(\"fivethirtyeight\")\n\nsns.set(style=\"whitegrid\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df = pd.read_csv(\"/kaggle/input/osic-pulmonary-fibrosis-progression/train.csv\")\ntest_df = pd.read_csv(\"/kaggle/input/osic-pulmonary-fibrosis-progression/test.csv\")\nsub_df = pd.read_csv(\"/kaggle/input/osic-pulmonary-fibrosis-progression/sample_submission.csv\")\n\ntrain_df.head(), test_df.head(), sub_df.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df.info(), test_df.info()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"test_df.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df[\"Patient\"].value_counts()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"test_df[\"Patient\"].value_counts().unique","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df_patient_Id = set(train_df[\"Patient\"].unique())\ntest_df_patient_Id = set(test_df[\"Patient\"].unique())\ndoubles = train_df_patient_Id & test_df_patient_Id\ndoubles","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"patient_df = train_df[[\"Patient\", \"Age\", \"Sex\", \"SmokingStatus\"]].drop_duplicates()\npatient_df.info(), patient_df.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_dir = \"../input/osic-pulmonary-fibrosis-progression/train/\"\ntest_dir = \"../input/osic-pulmonary-fibrosis-progression/test/\"\n\npatient_ids = os.listdir(train_dir)\npatient_ids = sorted(patient_ids)\n\n\nnum_instances = []\nage = []\nsex = []\nsmoking_status = []\n\nfor patient_id in patient_ids:\n    patient_info = train_df[train_df[\"Patient\"] == patient_id].reset_index()\n    num_instances.append(len(os.listdir(train_dir + patient_id)))\n    age.append(patient_info[\"Age\"][0])\n    sex.append(patient_info[\"Sex\"][0])\n    smoking_status.append(patient_info[\"SmokingStatus\"][0])\n    \n    \npatient_df = pd.DataFrame(list(zip(patient_ids, num_instances, age, sex, smoking_status)),\n                               columns =[\"Patient\", \"num_instances\", \"Age\", \"Sex\", \"SmokingStatus\"])\n\n\npatient_df.info(), patient_df.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"patient_df[\"Sex\"].value_counts().plot(kind=\"bar\", color='yellow', title=\"Sex Distribution\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"patient_df[\"SmokingStatus\"].value_counts().plot(kind=\"bar\", color='red', title=\"Smoking History\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"patient_df[\"Age\"].plot(kind=\"hist\", bins=20, color=\"blue\", title=\"Age Distribution\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"def plot_pixel_array(ds):\n    plt.figure()\n    plt.grid=False\n    plt.imshow(ds.pixel_array, cmap=plt.cm.bone)\n    plt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"def show_dcm(ds):\n    print(\"FileName..:\", file_path)\n    print()\n    \n    patient = ds.PatientName\n    display_name = patient.family_name + \", \" + patient.given_name\n    print(\"Patient Name:\", display_name)\n    print(\"Patient ID:\", ds.PatientID)\n    print(\"Sex:\", ds.PatientSex)\n    print(\"Modality:\", ds.Modality)\n    print(\"Body Part Examined:\", ds.BodyPartExamined)\n    \n    if \"PixelData\" in ds:\n        rows = int(ds.Rows)\n        cols = int(ds.Columns)\n        print(\"Image Size: {rows: d} x {cols: d}, {size: d} bytes\".format(\n            rows=rows, cols=cols, size=len(ds.PixelData)))\n        if \"PixelSpacing\" in ds:\n            print(\"Pixel Spacing\", ds.PixelSpacing)\n            ds.PixelSpacing = [1, 1]\n        plt.figure()\n        plt.imshow(ds.pixel_array, cmap=plt.cm.bone)\n        plt.show()\n\n      \nfor file_path in glob.glob(\"../input/osic-pulmonary-fibrosis-progression/train/*/*.dcm\"):\n    ds = pydicom.dcmread(file_path)\n    show_dcm(ds)\n    print(ds)\n    break ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"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":4,"nbformat_minor":4}