{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import glob\nimport joblib\nimport pickle\nimport pydicom\nimport pandas as pd\nfrom tqdm.notebook import tqdm","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Search for all .dicom files available for train set"},{"metadata":{"trusted":true},"cell_type":"code","source":"dicom_files = glob.glob('../input/rsna-str-pulmonary-embolism-detection/train/*/*/*')\nprint( len(dicom_files) )\nprint( dicom_files[0] )","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Metadata is read using a dict"},{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"def read_meta(fn):\n    dc = pydicom.dcmread(fn, stop_before_pixels=True )\n    RES = {}\n    for i in list(dc.keys()):\n        RES[dc[i].description()] = dc[i].value\n    return RES\n\n#Read 1% of train files\nRES = joblib.Parallel(n_jobs=2)(joblib.delayed(read_meta)(fn) for fn in tqdm(dicom_files[:int(0.01*len(dicom_files))]))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(len(RES))\nprint(RES[0])","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Transform in a Pandas DataFrame for better visualization"},{"metadata":{"trusted":true},"cell_type":"code","source":"df = pd.DataFrame(RES)\ndf.sample(10).head(10)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df.sample(10).head(10)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Write to file"},{"metadata":{"trusted":true},"cell_type":"code","source":"df.to_pickle('train-metadata.pkl')","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}