{"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":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        os.path.join(dirname, filename)\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-04-21T10:24:53.274584Z","iopub.execute_input":"2022-04-21T10:24:53.274931Z","iopub.status.idle":"2022-04-21T10:27:25.783663Z","shell.execute_reply.started":"2022-04-21T10:24:53.274866Z","shell.execute_reply":"2022-04-21T10:27:25.782805Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nfrom tqdm import tqdm\nimport os\nimport json\nimport random\nimport collections\nimport tqdm\nimport pydicom\nfrom pydicom.pixel_data_handlers.util import apply_voi_lut\n\nfrom sklearn.model_selection import StratifiedKFold\nfrom sklearn.metrics import roc_auc_score\nimport glob\n\nimport albumentations as A\nimport torch\nimport torch.nn as nn\nimport torch.optim as optim\nfrom albumentations.pytorch import ToTensorV2\nfrom sklearn.metrics import roc_auc_score\nfrom torch.optim import lr_scheduler\nimport re\nimport cv2\nimport matplotlib.pyplot as plt\nimport seaborn as sns","metadata":{"execution":{"iopub.status.busy":"2022-04-27T06:28:18.206439Z","iopub.execute_input":"2022-04-27T06:28:18.206766Z","iopub.status.idle":"2022-04-27T06:28:21.840284Z","shell.execute_reply.started":"2022-04-27T06:28:18.206685Z","shell.execute_reply":"2022-04-27T06:28:21.839415Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pip install dicom2nifti","metadata":{"execution":{"iopub.status.busy":"2022-04-27T06:28:29.774749Z","iopub.execute_input":"2022-04-27T06:28:29.775521Z","iopub.status.idle":"2022-04-27T06:28:40.524537Z","shell.execute_reply.started":"2022-04-27T06:28:29.775471Z","shell.execute_reply":"2022-04-27T06:28:40.523620Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import shutil\nshutil.rmtree(\"./DatasetNew/\")","metadata":{"execution":{"iopub.status.busy":"2022-04-27T06:29:49.084785Z","iopub.execute_input":"2022-04-27T06:29:49.085344Z","iopub.status.idle":"2022-04-27T06:29:49.091209Z","shell.execute_reply.started":"2022-04-27T06:29:49.085302Z","shell.execute_reply":"2022-04-27T06:29:49.090367Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"os.makedirs('./DatasetNew/Test/Flair')\nos.makedirs('./DatasetNew/Train/Flair')","metadata":{"execution":{"iopub.status.busy":"2022-04-27T06:30:02.960752Z","iopub.execute_input":"2022-04-27T06:30:02.961043Z","iopub.status.idle":"2022-04-27T06:30:02.965735Z","shell.execute_reply.started":"2022-04-27T06:30:02.961009Z","shell.execute_reply":"2022-04-27T06:30:02.964732Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#For Flair images in Test Folder\nimport dicom2nifti\nimport os\nout_folder = './DatasetNew/Test/Flair'\n#for i in range(5):\n#    dicom2nifti.convert_directory(dicom_directory, output_folder, compression=True, reorient=True)\n    \ndirectory = '../input/rsna-miccai-brain-tumor-radiogenomic-classification/test/'\nfor filename in os.listdir(directory):\n    f = os.path.join(directory, filename)\n    for ele in os.listdir(f):\n        x=os.path.join(f,ele)\n        if(ele == 'FLAIR'):\n            print(x)\n            dicom2nifti.convert_directory(x, out_folder)","metadata":{"execution":{"iopub.status.busy":"2022-04-27T06:30:18.488440Z","iopub.execute_input":"2022-04-27T06:30:18.488946Z","iopub.status.idle":"2022-04-27T06:35:43.858416Z","shell.execute_reply.started":"2022-04-27T06:30:18.488909Z","shell.execute_reply":"2022-04-27T06:35:43.857587Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#For Flair images from Train Folder\nout_folder = './DatasetNew/Train/Flair'\n#for i in range(5):\n#    dicom2nifti.convert_directory(dicom_directory, output_folder, compression=True, reorient=True)\n    \ndirectory = '../input/rsna-miccai-brain-tumor-radiogenomic-classification/train/'\nfor filename in os.listdir(directory):\n    f = os.path.join(directory, filename)\n    for ele in os.listdir(f):\n        x=os.path.join(f,ele)\n        if(ele == 'FLAIR'):\n            print(x)\n            dicom2nifti.convert_directory(x, out_folder)","metadata":{"execution":{"iopub.status.busy":"2022-04-27T06:35:43.859877Z","iopub.execute_input":"2022-04-27T06:35:43.860114Z","iopub.status.idle":"2022-04-27T07:12:50.031456Z","shell.execute_reply.started":"2022-04-27T06:35:43.860080Z","shell.execute_reply":"2022-04-27T07:12:50.029791Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Resampling nifti","metadata":{}},{"cell_type":"code","source":"#For Flair images from Train Folder\nout_folder = './DatasetNew/Train/Flair_tr_resampled'\ndirectory = '../input/DatasetNew/Train/'\nfor filename in os.listdir(directory):\n    f = os.path.join(directory, filename)\n    for ele in os.listdir(f):\n        x=os.path.join(f,ele)\n        if(ele == 'FLAIR'):\n            print(x)\n            affine=np.array([[-0.5 ,0 , 0 , 0] ,[0,0.5,0,0] , [0,0,3,0] , [0,0,0,1]])\n            resample_img=nilearn.image.resample_img(x, target_affine=affine, \n                                                    target_shape=None, interpolation='continuous', \n                                                    copy=True, order='F', clip=True, fill_value=0,\n                                                    force_resample=False)","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#For Flair images from test Folder\nout_folder = './DatasetNew/test/Flair_tst_resampled'\ndirectory = '../input/DatasetNew/test/'\nfor filename in os.listdir(directory):\n    f = os.path.join(directory, filename)\n    for ele in os.listdir(f):\n        x=os.path.join(f,ele)\n        if(ele == 'FLAIR'):\n            print(x)\n            affine=np.array([[-0.5 ,0 , 0 , 0] ,[0,0.5,0,0] , [0,0,3,0] , [0,0,0,1]])\n            resample_img=nilearn.image.resample_img(x, target_affine=affine, \n                                                    target_shape=None, interpolation='continuous', \n                                                    copy=True, order='F', clip=True, fill_value=0,\n                                                    force_resample=False)","metadata":{},"execution_count":null,"outputs":[]}]}