{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.14","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":71549,"databundleVersionId":8561470,"sourceType":"competition"}],"dockerImageVersionId":30761,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"Starter code: https://www.kaggle.com/code/shubhamcodez/rsna-efficientnet-starter-notebook","metadata":{}},{"cell_type":"code","source":"import pandas\nimport PIL\nimport matplotlib.pyplot as plt","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2024-09-11T07:07:22.936187Z","iopub.execute_input":"2024-09-11T07:07:22.937157Z","iopub.status.idle":"2024-09-11T07:07:22.942397Z","shell.execute_reply.started":"2024-09-11T07:07:22.937104Z","shell.execute_reply":"2024-09-11T07:07:22.940977Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df = pd.read_csv(\"/kaggle/input/rsna-2024-lumbar-spine-degenerative-classification/train.csv\")\ndf.head()","metadata":{"execution":{"iopub.status.busy":"2024-09-11T07:07:52.44956Z","iopub.execute_input":"2024-09-11T07:07:52.449992Z","iopub.status.idle":"2024-09-11T07:07:52.491259Z","shell.execute_reply.started":"2024-09-11T07:07:52.449945Z","shell.execute_reply":"2024-09-11T07:07:52.489871Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"coordinates = pd.read_csv(\"/kaggle/input/rsna-2024-lumbar-spine-degenerative-classification/train_label_coordinates.csv\")\n\nnum_images = coordinates[\"instance_number\"].to_numpy()\nprint(\"Peeking no. of images in stack:\", num_images[:5])","metadata":{"execution":{"iopub.status.busy":"2024-09-11T07:19:56.648563Z","iopub.execute_input":"2024-09-11T07:19:56.64904Z","iopub.status.idle":"2024-09-11T07:19:56.741891Z","shell.execute_reply.started":"2024-09-11T07:19:56.648994Z","shell.execute_reply":"2024-09-11T07:19:56.740477Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import pydicom\n\ndef generate_image_paths(df, data_dir):\n    image_paths = []\n    for study_id, series_id in zip(df['study_id'], df['series_id']):\n        study_dir = os.path.join(data_dir, str(study_id))\n        series_dir = os.path.join(study_dir, str(series_id))\n        images = os.listdir(series_dir)\n        image_paths.extend([os.path.join(series_dir, img) for img in images])\n    return image_paths\n\n# Generate image paths for train and test data\ntrain_path = '/kaggle/input/rsna-2024-lumbar-spine-degenerative-classification/'\ntrain_desc  = pd.read_csv(train_path + 'train_series_descriptions.csv')\ntest_desc   = pd.read_csv(train_path + 'test_series_descriptions.csv')\ntrain_image_paths = generate_image_paths(train_desc, f'{train_path}/train_images')\ntest_image_paths = generate_image_paths(test_desc, f'{train_path}/test_images')\n\n# Function to open and display DICOM images\ndef display_dicom_images(image_paths):\n    plt.figure(figsize=(15, 5))  # Adjust figure size if needed\n    for i, path in enumerate(image_paths[:3]):\n        ds = pydicom.dcmread(path)\n        plt.subplot(1, 3, i+1)\n        plt.imshow(ds.pixel_array, cmap=plt.cm.bone)\n        plt.title(f\"Image {i+1}\")\n        plt.axis('off')\n    plt.show()\n\n# Display the first three DICOM images\ntrain_image_paths = generate_image_paths(train_desc, f'{train_path}/train_images')\ndisplay_dicom_images(train_image_paths)","metadata":{"execution":{"iopub.status.busy":"2024-09-11T07:25:12.229404Z","iopub.execute_input":"2024-09-11T07:25:12.231926Z","iopub.status.idle":"2024-09-11T07:25:21.520511Z","shell.execute_reply.started":"2024-09-11T07:25:12.231825Z","shell.execute_reply":"2024-09-11T07:25:21.518621Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}