--- a
+++ b/notebooks/count_pros_ext.ipynb
@@ -0,0 +1 @@
+{"cells":[{"cell_type":"code","execution_count":4,"metadata":{},"outputs":[],"source":["import json\n","\n","with open(\"/home/akg9006/prosective_external.json\") as json_file:\n","    splits = json.load(json_file)\n","\n"]},{"cell_type":"code","execution_count":5,"metadata":{},"outputs":[],"source":["\n","from pathlib import Path\n","\n","all_nii = list(\n","    Path(\n","        (\n","            \"/big_data2/apkd_segmentation/storage/output/\"\n","            \"saved_inference/adpkd-segmentation-pytorch/\"\n","            \"Prospective_External_Cases\"\n","        )\n","    ).glob(\"**/*nii*\")\n",")\n","\n","all_nii = [\n","    nii\n","    for nii in all_nii\n","    if \"/pred_vol\" not in str(nii) and \"dicom_vol\" not in str(nii)\n","]  # counts ground truth labels to find target sequences\n"]},{"cell_type":"code","execution_count":6,"metadata":{},"outputs":[],"source":["dicom_lists = [list(p.parent.parent.glob(\"**/*.dcm\")) for p in all_nii]\n","all_dicoms = set(sum(dicom_lists, []))\n"]},{"cell_type":"code","execution_count":7,"metadata":{},"outputs":[],"source":["\n","\n","def match(dicom, id_list):\n","    return any(i in str(dicom) for i in id_list)\n","\n","\n","split_counts = [\n","    k for d in all_dicoms for k in splits.keys() if match(d, splits[k])\n","]\n","\n"]},{"cell_type":"code","execution_count":8,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":["DICOMS per split= Counter({'prospective': 3893, 'external': 894})\n"]}],"source":["from collections import Counter\n","\n","split_counts = Counter(split_counts)\n","\n","print(f\"DICOMS per split= {split_counts}\")\n"]}],"metadata":{"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":3},"orig_nbformat":4},"nbformat":4,"nbformat_minor":2}