From 3c985da4b08eabf6314bed2685ae39f2c98af0b0 Mon Sep 17 00:00:00 2001 From: wq0926 Date: Wed, 19 Nov 2025 11:10:13 +0800 Subject: [PATCH 1/2] A version that can run on L40. --- .gitignore | 3 - create_heatmaps.py | 110 ++- create_patches_fp.py | 37 +- create_splits_seq.py | 24 +- dataset_modules/dataset_generic.py | 754 ++++++++++-------- docs/README.md | 38 +- extract_features_fp.py | 42 +- main.py | 25 +- models/timm_wrapper.py | 35 +- splits/task_1_tumor_vs_normal_75/splits_0.csv | 301 ------- .../splits_0_bool.csv | 400 ---------- .../splits_0_descriptor.csv | 3 - splits/task_1_tumor_vs_normal_75/splits_1.csv | 301 ------- .../splits_1_bool.csv | 401 ---------- .../splits_1_descriptor.csv | 3 - splits/task_1_tumor_vs_normal_75/splits_2.csv | 302 ------- .../splits_2_bool.csv | 403 ---------- .../splits_2_descriptor.csv | 3 - splits/task_1_tumor_vs_normal_75/splits_3.csv | 296 ------- .../splits_3_bool.csv | 402 ---------- .../splits_3_descriptor.csv | 3 - splits/task_1_tumor_vs_normal_75/splits_4.csv | 304 ------- .../splits_4_bool.csv | 401 ---------- .../splits_4_descriptor.csv | 3 - splits/task_1_tumor_vs_normal_75/splits_5.csv | 302 ------- .../splits_5_bool.csv | 401 ---------- .../splits_5_descriptor.csv | 3 - splits/task_1_tumor_vs_normal_75/splits_6.csv | 302 ------- .../splits_6_bool.csv | 403 ---------- .../splits_6_descriptor.csv | 3 - splits/task_1_tumor_vs_normal_75/splits_7.csv | 302 ------- .../splits_7_bool.csv | 403 ---------- .../splits_7_descriptor.csv | 3 - splits/task_1_tumor_vs_normal_75/splits_8.csv | 301 ------- .../splits_8_bool.csv | 402 ---------- .../splits_8_descriptor.csv | 3 - splits/task_1_tumor_vs_normal_75/splits_9.csv | 303 ------- .../splits_9_bool.csv | 400 ---------- .../splits_9_descriptor.csv | 3 - splits/task_2_tumor_subtyping_50/splits_0.csv | 199 ----- .../splits_0_bool.csv | 299 ------- .../splits_0_descriptor.csv | 4 - splits/task_2_tumor_subtyping_50/splits_1.csv | 198 ----- .../splits_1_bool.csv | 293 ------- .../splits_1_descriptor.csv | 4 - splits/task_2_tumor_subtyping_50/splits_2.csv | 199 ----- .../splits_2_bool.csv | 294 ------- .../splits_2_descriptor.csv | 4 - splits/task_2_tumor_subtyping_50/splits_3.csv | 196 ----- .../splits_3_bool.csv | 295 ------- .../splits_3_descriptor.csv | 4 - splits/task_2_tumor_subtyping_50/splits_4.csv | 196 ----- .../splits_4_bool.csv | 293 ------- .../splits_4_descriptor.csv | 4 - splits/task_2_tumor_subtyping_50/splits_5.csv | 199 ----- .../splits_5_bool.csv | 296 ------- .../splits_5_descriptor.csv | 4 - splits/task_2_tumor_subtyping_50/splits_6.csv | 202 ----- .../splits_6_bool.csv | 294 ------- .../splits_6_descriptor.csv | 4 - splits/task_2_tumor_subtyping_50/splits_7.csv | 198 ----- .../splits_7_bool.csv | 302 ------- .../splits_7_descriptor.csv | 4 - splits/task_2_tumor_subtyping_50/splits_8.csv | 198 ----- .../splits_8_bool.csv | 300 ------- .../splits_8_descriptor.csv | 4 - splits/task_2_tumor_subtyping_50/splits_9.csv | 200 ----- .../splits_9_bool.csv | 295 ------- .../splits_9_descriptor.csv | 4 - utils/core_utils.py | 2 +- 70 files changed, 659 insertions(+), 12457 deletions(-) delete mode 100644 .gitignore delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_0.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_0_bool.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_0_descriptor.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_1.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_1_bool.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_1_descriptor.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_2.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_2_bool.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_2_descriptor.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_3.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_3_bool.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_3_descriptor.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_4.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_4_bool.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_4_descriptor.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_5.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_5_bool.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_5_descriptor.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_6.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_6_bool.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_6_descriptor.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_7.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_7_bool.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_7_descriptor.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_8.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_8_bool.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_8_descriptor.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_9.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_9_bool.csv delete mode 100644 splits/task_1_tumor_vs_normal_75/splits_9_descriptor.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_0.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_0_bool.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_0_descriptor.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_1.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_1_bool.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_1_descriptor.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_2.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_2_bool.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_2_descriptor.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_3.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_3_bool.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_3_descriptor.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_4.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_4_bool.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_4_descriptor.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_5.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_5_bool.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_5_descriptor.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_6.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_6_bool.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_6_descriptor.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_7.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_7_bool.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_7_descriptor.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_8.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_8_bool.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_8_descriptor.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_9.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_9_bool.csv delete mode 100644 splits/task_2_tumor_subtyping_50/splits_9_descriptor.csv diff --git a/.gitignore b/.gitignore deleted file mode 100644 index e8157604..00000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -**/.DS_Store -__pycache__/ -notebooks \ No newline at end of file diff --git a/create_heatmaps.py b/create_heatmaps.py index e4875094..5eb47eab 100644 --- a/create_heatmaps.py +++ b/create_heatmaps.py @@ -24,22 +24,56 @@ from utils.file_utils import save_hdf5 from tqdm import tqdm +""" +热图推理脚本 +-------------------------------- +1) 读取一份 heatmap 配置(YAML),解析出数据、模型、patching 以及可视化等参数; +2) 逐张处理指定的 WSI:分割/过滤 -> 建立可视化 mask -> 以给定步长提取 block/patch; +3) 用给定的 encoder 提取 patch 特征(写入 .h5),随后转存为 .pt; +4) 调用训练好的 CLAM 模型对单张 WSI 的 bag 级特征进行推断,得到类别概率与注意力 A; +5) 将注意力 A 与 patch 坐标写入 *_blockmap.h5; +6) 可选:根据注意力分数采样 ROI patch 图; +7) 生成并保存注意力热图,以及原始缩略图(可选); +8) 持续把中间统计结果写入 CSV; +""" +# ----------------------------- +# 命令行参数:只接受少量覆盖 +# ----------------------------- parser = argparse.ArgumentParser(description='Heatmap inference script') parser.add_argument('--save_exp_code', type=str, default=None, - help='experiment code') -parser.add_argument('--overlap', type=float, default=None) -parser.add_argument('--config_file', type=str, default="heatmap_config_template.yaml") + help='experiment code') #覆盖 YAML 中 exp_arguments.save_exp_code +parser.add_argument('--overlap', type=float, default=None) #覆盖 YAML 中 patching_arguments.overlap +parser.add_argument('--config_file', type=str, default="heatmap_config_template.yaml") # YAML 配置文件路径 args = parser.parse_args() +# 设备:优先用 GPU device=torch.device("cuda" if torch.cuda.is_available() else "cpu") +# ----------------------------- +# 针对单张 WSI(已提取 bag 特征)的推断函数 +# ----------------------------- def infer_single_slide(model, features, label, reverse_label_dict, k=1): + """ + 输入: + - model: 训练好的 CLAM 模型 + - features: [N, D] 的 bag 级特征张量(来自 h5/pt) + - label: 该 slide 的标注(可能是数值编码或字符串) + - reverse_label_dict: {class_id -> class_name} + - k: 取 Top-K 预测(通常等于类别数) + 输出: + - ids: Top-K 的类别 id(numpy 数组) + - preds_str: Top-K 的类别名(numpy 数组) + - probs: Top-K 的概率(对应 ids 顺序) + - A: 注意力分数([N, 1] numpy) + """ features = features.to(device) with torch.inference_mode(): if isinstance(model, (CLAM_SB, CLAM_MB)): + # 对 CLAM:前向会返回 logits, Y_prob, Y_hat, A, ... model_results_dict = model(features) logits, Y_prob, Y_hat, A, _ = model(features) - Y_hat = Y_hat.item() + Y_hat = Y_hat.item() # 预测类别 id + # 对多分支 CLAM_MB,注意力 A 的第 0 维是类别分支,需要取当前预测类别对应的注意力图 if isinstance(model, (CLAM_MB,)): A = A[Y_hat] @@ -50,6 +84,7 @@ def infer_single_slide(model, features, label, reverse_label_dict, k=1): print('Y_hat: {}, Y: {}, Y_prob: {}'.format(reverse_label_dict[Y_hat], label, ["{:.4f}".format(p) for p in Y_prob.cpu().flatten()])) + # 取 Top-K 标签与概率 probs, ids = torch.topk(Y_prob, k) probs = probs[-1].cpu().numpy() ids = ids[-1].cpu().numpy() @@ -57,6 +92,9 @@ def infer_single_slide(model, features, label, reverse_label_dict, k=1): return ids, preds_str, probs, A +# ----------------------------- +# 将 DataFrame 行中覆盖参数写回到 params 字典(带类型转换) +# ----------------------------- def load_params(df_entry, params): for key in params.keys(): if key in df_entry.index: @@ -73,6 +111,9 @@ def load_params(df_entry, params): return params +# ----------------------------- +# 根据命令行覆盖 YAML 配置 +# ----------------------------- def parse_config_dict(args, config_dict): if args.save_exp_code is not None: config_dict['exp_arguments']['save_exp_code'] = args.save_exp_code @@ -80,7 +121,13 @@ def parse_config_dict(args, config_dict): config_dict['patching_arguments']['overlap'] = args.overlap return config_dict +# ----------------------------- +# 主流程 +# ----------------------------- +#1. 读取 YAML 配置 → 2. 展开 argparse.Namespace → 3. 枚举切片 → 4. 特征提取 → +#5. CLAM 推断 → 6. 注意力落盘 → 7. 采样 patch → 8. 多版本热图 → 9. 结果 CSV if __name__ == '__main__': + # 1) 读取并打印配置 config_path = os.path.join('heatmaps/configs', args.config_file) config_dict = yaml.safe_load(open(config_path, 'r')) config_dict = parse_config_dict(args, config_dict) @@ -92,7 +139,8 @@ def parse_config_dict(args, config_dict): print (value_key + " : " + str(value_value)) else: print ('\n'+key + " : " + str(value)) - + + # 简单的人机确认,避免误操作 decision = input('Continue? Y/N ') if decision in ['Y', 'y', 'Yes', 'yes']: pass @@ -101,6 +149,7 @@ def parse_config_dict(args, config_dict): else: raise NotImplementedError + # 2) 将 YAML 的分组参数展开为 argparse.Namespace,便于以点号访问 args = config_dict patch_args = argparse.Namespace(**args['patching_arguments']) data_args = argparse.Namespace(**args['data_arguments']) @@ -113,10 +162,12 @@ def parse_config_dict(args, config_dict): heatmap_args = argparse.Namespace(**args['heatmap_arguments']) sample_args = argparse.Namespace(**args['sample_arguments']) + # 3) 计算 patch 尺寸与步长(step = patch_size * (1 - overlap)) patch_size = tuple([patch_args.patch_size for i in range(2)]) step_size = tuple((np.array(patch_size) * (1 - patch_args.overlap)).astype(int)) print('patch_size: {} x {}, with {:.2f} overlap, step size is {} x {}'.format(patch_size[0], patch_size[1], patch_args.overlap, step_size[0], step_size[1])) + # 一组默认的分割/过滤/可视化/patch 参数,后续会被 preset/CSV 覆盖 preset = data_args.preset def_seg_params = {'seg_level': -1, 'sthresh': 15, 'mthresh': 11, 'close': 2, 'use_otsu': False, 'keep_ids': 'none', 'exclude_ids':'none'} @@ -124,6 +175,7 @@ def parse_config_dict(args, config_dict): def_vis_params = {'vis_level': -1, 'line_thickness': 250} def_patch_params = {'use_padding': True, 'contour_fn': 'four_pt'} + # 如果提供了 preset CSV,则从其中的第 1 行覆盖默认参数 if preset is not None: preset_df = pd.read_csv(preset) for key in def_seg_params.keys(): @@ -138,13 +190,15 @@ def parse_config_dict(args, config_dict): for key in def_patch_params.keys(): def_patch_params[key] = preset_df.loc[0, key] - + # 4) 构建待处理列表 process_stack(DataFrame) if data_args.process_list is None: + # 从 data_dir 目录枚举 slide 文件 if isinstance(data_args.data_dir, list): slides = [] for data_dir in data_args.data_dir: slides.extend(os.listdir(data_dir)) else: + # 从 CSV 指定的 process_list 读入 slides = sorted(os.listdir(data_args.data_dir)) slides = [slide for slide in slides if data_args.slide_ext in slide] df = initialize_df(slides, def_seg_params, def_filter_params, def_vis_params, def_patch_params, use_heatmap_args=False) @@ -158,13 +212,14 @@ def parse_config_dict(args, config_dict): total = len(process_stack) print('\nlist of slides to process: ') print(process_stack.head(len(process_stack))) - + + # 5) 初始化模型与 encoder print('\ninitializing model from checkpoint') ckpt_path = model_args.ckpt_path print('\nckpt path: {}'.format(ckpt_path)) if model_args.initiate_fn == 'initiate_model': - model = initiate_model(model_args, ckpt_path) + model = initiate_model(model_args, ckpt_path) # 返回已加载权重的 CLAM 模型(eval 模式通常在内部设定) else: raise NotImplementedError @@ -173,23 +228,27 @@ def parse_config_dict(args, config_dict): feature_extractor = feature_extractor.to(device) print('Done!') + # label 编码映射(YAML 中 data_arguments.label_dict) label_dict = data_args.label_dict class_labels = list(label_dict.keys()) class_encodings = list(label_dict.values()) reverse_label_dict = {class_encodings[i]: class_labels[i] for i in range(len(class_labels))} - + # 准备输出目录 os.makedirs(exp_args.production_save_dir, exist_ok=True) os.makedirs(exp_args.raw_save_dir, exist_ok=True) + # block 模式提特征时用到的关键参数(注意这里 step_size=patch_size,意味着无 overlap 的 block map) blocky_wsi_kwargs = {'top_left': None, 'bot_right': None, 'patch_size': patch_size, 'step_size': patch_size, 'custom_downsample':patch_args.custom_downsample, 'level': patch_args.patch_level, 'use_center_shift': heatmap_args.use_center_shift} + # 6) 主循环:逐张 slide 处理 for i in tqdm(range(len(process_stack))): slide_name = process_stack.loc[i, 'slide_id'] if data_args.slide_ext not in slide_name: slide_name+=data_args.slide_ext print('\nprocessing: ', slide_name) + # slide 的标签(可能不存在) try: label = process_stack.loc[i, 'label'] except KeyError: @@ -197,17 +256,19 @@ def parse_config_dict(args, config_dict): slide_id = slide_name.replace(data_args.slide_ext, '') + # grouping 用于生成保存路径的上级目录(如果 label 是数值,则转回类名) if not isinstance(label, str): grouping = reverse_label_dict[label] else: grouping = label + # 生产级与原始级保存目录 p_slide_save_dir = os.path.join(exp_args.production_save_dir, exp_args.save_exp_code, str(grouping)) os.makedirs(p_slide_save_dir, exist_ok=True) r_slide_save_dir = os.path.join(exp_args.raw_save_dir, exp_args.save_exp_code, str(grouping), slide_id) os.makedirs(r_slide_save_dir, exist_ok=True) - + # ROI 框(可选) if heatmap_args.use_roi: x1, x2 = process_stack.loc[i, 'x1'], process_stack.loc[i, 'x2'] y1, y2 = process_stack.loc[i, 'y1'], process_stack.loc[i, 'y2'] @@ -219,7 +280,7 @@ def parse_config_dict(args, config_dict): print('slide id: ', slide_id) print('top left: ', top_left, ' bot right: ', bot_right) - + # 构建 slide 路径:既支持 data_dir 是字符串,也支持是一个 dict(多来源目录) if isinstance(data_args.data_dir, str): slide_path = os.path.join(data_args.data_dir, slide_name) elif isinstance(data_args.data_dir, dict): @@ -230,7 +291,7 @@ def parse_config_dict(args, config_dict): mask_file = os.path.join(r_slide_save_dir, slide_id+'_mask.pkl') - # Load segmentation and filter parameters + # Load segmentation and filter parameters# 从默认参数拷贝一份,随后用 CSV 行覆盖 seg_params = def_seg_params.copy() filter_params = def_filter_params.copy() vis_params = def_vis_params.copy() @@ -239,6 +300,7 @@ def parse_config_dict(args, config_dict): filter_params = load_params(process_stack.loc[i], filter_params) vis_params = load_params(process_stack.loc[i], vis_params) + # keep_ids / exclude_ids 从字符串解析为 int 数组 keep_ids = str(seg_params['keep_ids']) if len(keep_ids) > 0 and keep_ids != 'none': seg_params['keep_ids'] = np.array(keep_ids.split(',')).astype(int) @@ -251,6 +313,7 @@ def parse_config_dict(args, config_dict): else: seg_params['exclude_ids'] = [] + # 打印参数以便复现 for key, val in seg_params.items(): print('{}: {}'.format(key, val)) @@ -260,10 +323,12 @@ def parse_config_dict(args, config_dict): for key, val in vis_params.items(): print('{}: {}'.format(key, val)) + # 初始化 WSI 对象:内部会做分割与过滤 print('Initializing WSI object') wsi_object = initialize_wsi(slide_path, seg_mask_path=mask_file, seg_params=seg_params, filter_params=filter_params) print('Done!') + # 针对可视化层级计算真正的像素级 patch 尺寸(考虑 level_downsample 与 custom_downsample) wsi_ref_downsample = wsi_object.level_downsamples[patch_args.patch_level] # the actual patch size for heatmap visualization should be the patch size * downsample factor * custom downsample factor @@ -271,6 +336,7 @@ def parse_config_dict(args, config_dict): block_map_save_path = os.path.join(r_slide_save_dir, '{}_blockmap.h5'.format(slide_id)) mask_path = os.path.join(r_slide_save_dir, '{}_mask.jpg'.format(slide_id)) + # 选择可视化层级:若 <0 则自动找一个合适的 level if vis_params['vis_level'] < 0: best_level = wsi_object.wsi.get_best_level_for_downsample(32) vis_params['vis_level'] = best_level @@ -281,7 +347,7 @@ def parse_config_dict(args, config_dict): h5_path = os.path.join(r_slide_save_dir, slide_id+'.h5') - ##### check if h5_features_file exists ###### + ##### check if h5_features_file exists ####### 7) 若未提取过特征,则计算并写入 h5 if not os.path.isfile(h5_path) : _, _, wsi_object = compute_from_patches(wsi_object=wsi_object, model=model, @@ -291,21 +357,24 @@ def parse_config_dict(args, config_dict): attn_save_path=None, feat_save_path=h5_path, ref_scores=None) - ##### check if pt_features_file exists ###### + ##### check if pt_features_file exists ####### 8) 将 h5 的 features 转存为 .pt,便于后续 torch.load if not os.path.isfile(features_path): file = h5py.File(h5_path, "r") features = torch.tensor(file['features'][:]) torch.save(features, features_path) file.close() - # load features + # load features # 载入特征,记录 bag 大小 features = torch.load(features_path) process_stack.loc[i, 'bag_size'] = len(features) + # 保存分割 mask(pkl) wsi_object.saveSegmentation(mask_file) + # 9) 调用 CLAM 推断,得到 Top-K、概率与注意力 A Y_hats, Y_hats_str, Y_probs, A = infer_single_slide(model, features, label, reverse_label_dict, exp_args.n_classes) del features + # 10) 写入 blockmap(注意力 + 坐标),便于可视化 if not os.path.isfile(block_map_save_path): file = h5py.File(h5_path, "r") coords = file['coords'][:] @@ -313,17 +382,18 @@ def parse_config_dict(args, config_dict): asset_dict = {'attention_scores': A, 'coords': coords} block_map_save_path = save_hdf5(block_map_save_path, asset_dict, mode='w') - # save top 3 predictions + # save top 3 predictions # 将 Top-K 结果写回 process_stack(Pred_c, p_c) for c in range(exp_args.n_classes): process_stack.loc[i, 'Pred_{}'.format(c)] = Y_hats_str[c] process_stack.loc[i, 'p_{}'.format(c)] = Y_probs[c] + # 持续写结果 CSV:若使用了 process_list,就复用其名字;否则用 save_exp_code os.makedirs('heatmaps/results/', exist_ok=True) if data_args.process_list is not None: process_stack.to_csv('heatmaps/results/{}.csv'.format(data_args.process_list.replace('.csv', '')), index=False) else: process_stack.to_csv('heatmaps/results/{}.csv'.format(exp_args.save_exp_code), index=False) - + # 读回 blockmap 以便后续采样/绘图 file = h5py.File(block_map_save_path, 'r') dset = file['attention_scores'] coord_dset = file['coords'] @@ -331,6 +401,7 @@ def parse_config_dict(args, config_dict): coords = coord_dset[:] file.close() + # 11) ROI 采样(可选):根据不同分数段、模式采样若干 patch,并保存 PNG samples = sample_args.samples for sample in samples: if sample['sample']: @@ -345,6 +416,7 @@ def parse_config_dict(args, config_dict): patch = wsi_object.wsi.read_region(tuple(s_coord), patch_args.patch_level, (patch_args.patch_size, patch_args.patch_size)).convert('RGB') patch.save(os.path.join(sample_save_dir, '{}_{}_x_{}_y_{}_a_{:.3f}.png'.format(idx, slide_id, s_coord[0], s_coord[1], s_score))) + # 12) 绘制热图# 12) 生成整体热图(block 层面,无 ROI 限制) wsi_kwargs = {'top_left': top_left, 'bot_right': bot_right, 'patch_size': patch_size, 'step_size': step_size, 'custom_downsample':patch_args.custom_downsample, 'level': patch_args.patch_level, 'use_center_shift': heatmap_args.use_center_shift} @@ -358,6 +430,7 @@ def parse_config_dict(args, config_dict): heatmap.save(os.path.join(r_slide_save_dir, '{}_blockmap.png'.format(slide_id))) del heatmap + # 13) 针对 ROI/blur/percentile 等设定,计算并保存细粒度热图(可多版本) save_path = os.path.join(r_slide_save_dir, '{}_{}_roi_{}.h5'.format(slide_id, patch_args.overlap, heatmap_args.use_roi)) if heatmap_args.use_ref_scores: @@ -365,6 +438,7 @@ def parse_config_dict(args, config_dict): else: ref_scores = None + # 14) 可选:保存原图缩略图(按 vis_level、custom_downsample) if heatmap_args.calc_heatmap: compute_from_patches(wsi_object=wsi_object, img_transforms=img_transforms, @@ -430,7 +504,7 @@ def parse_config_dict(args, config_dict): heatmap.save(os.path.join(p_slide_save_dir, heatmap_save_name), quality=100) else: heatmap.save(os.path.join(p_slide_save_dir, heatmap_save_name)) - + # 15) 将最终使用过的配置完整落盘(便于复现) with open(os.path.join(exp_args.raw_save_dir, exp_args.save_exp_code, 'config.yaml'), 'w') as outfile: yaml.dump(config_dict, outfile, default_flow_style=False) diff --git a/create_patches_fp.py b/create_patches_fp.py index 17f7a0c7..7352bbd4 100644 --- a/create_patches_fp.py +++ b/create_patches_fp.py @@ -1,8 +1,10 @@ # internal imports -from wsi_core.WholeSlideImage import WholeSlideImage -from wsi_core.wsi_utils import StitchCoords -from wsi_core.batch_process_utils import initialize_df +# ========== 内置依赖 ========== +from wsi_core.WholeSlideImage import WholeSlideImage # 封装 OpenSlide 的 WSI 操作类 +from wsi_core.wsi_utils import StitchCoords # 把 patch 结果画回全图的小工具 +from wsi_core.batch_process_utils import initialize_df # 生成/初始化 csv 清单 # other imports +# ========== 通用库 ========== import os import numpy as np import time @@ -11,6 +13,7 @@ import pandas as pd from tqdm import tqdm +# ------------------ 1. 把 patch 结果“拼”成缩略热图 ------------------ def stitching(file_path, wsi_object, downscale = 64): start = time.time() heatmap = StitchCoords(file_path, wsi_object, downscale=downscale, bg_color=(0,0,0), alpha=-1, draw_grid=False) @@ -18,6 +21,7 @@ def stitching(file_path, wsi_object, downscale = 64): return heatmap, total_time +# ------------------ 2. 组织前景分割(得到组织轮廓) ------------------ def segment(WSI_object, seg_params = None, filter_params = None, mask_file = None): ### Start Seg Timer start_time = time.time() @@ -32,6 +36,7 @@ def segment(WSI_object, seg_params = None, filter_params = None, mask_file = Non seg_time_elapsed = time.time() - start_time return WSI_object, seg_time_elapsed +# ------------------ 3. 按轮廓切 patch ------------------ def patching(WSI_object, **kwargs): ### Start Patch Timer start_time = time.time() @@ -44,7 +49,7 @@ def patching(WSI_object, **kwargs): patch_time_elapsed = time.time() - start_time return file_path, patch_time_elapsed - +# ------------------ 4. 主流程:分割 + 切 patch + 可选拼热图 ------------------ def seg_and_patch(source, save_dir, patch_save_dir, mask_save_dir, stitch_save_dir, patch_size = 256, step_size = 256, seg_params = {'seg_level': -1, 'sthresh': 8, 'mthresh': 7, 'close': 4, 'use_otsu': False, @@ -58,8 +63,14 @@ def seg_and_patch(source, save_dir, patch_save_dir, mask_save_dir, stitch_save_d stitch= False, patch = False, auto_skip=True, process_list = None): - - + """ + source : 放 WSI 的目录 + save_dir : 总输出目录 + *save_dir 下会再分 patches/masks/stitches 三个子目录 + seg/patch/stitch : bool,分别控制“只分割/只切图/只拼热图” + process_list : 可选 csv,指定每张片子的专属参数 + """ + # --------------- 4.1 准备文件清单 --------------- slides = sorted(os.listdir(source)) slides = [slide for slide in slides if os.path.isfile(os.path.join(source, slide))] if process_list is None: @@ -86,7 +97,7 @@ def seg_and_patch(source, save_dir, patch_save_dir, mask_save_dir, stitch_save_d seg_times = 0. patch_times = 0. stitch_times = 0. - + # --------------- 4.2 主循环 --------------- for i in tqdm(range(total)): df.to_csv(os.path.join(save_dir, 'process_list_autogen.csv'), index=False) idx = process_stack.index[i] @@ -102,10 +113,10 @@ def seg_and_patch(source, save_dir, patch_save_dir, mask_save_dir, stitch_save_d df.loc[idx, 'status'] = 'already_exist' continue - # Inialize WSI + # Inialize WSI # 载入 WSI full_path = os.path.join(source, slide) WSI_object = WholeSlideImage(full_path) - + # --------------- 4.3 参数优先级:csv > default --------------- if use_default_params: current_vis_params = vis_params.copy() current_filter_params = filter_params.copy() @@ -175,10 +186,10 @@ def seg_and_patch(source, save_dir, patch_save_dir, mask_save_dir, stitch_save_d current_seg_params['exclude_ids'] = [] w, h = WSI_object.level_dim[current_seg_params['seg_level']] - if w * h > 1e8: - print('level_dim {} x {} is likely too large for successful segmentation, aborting'.format(w, h)) - df.loc[idx, 'status'] = 'failed_seg' - continue + #if w * h > 5e8:#1e8 + # print('level_dim {} x {} is likely too large for successful segmentation, aborting'.format(w, h)) + # df.loc[idx, 'status'] = 'failed_seg' + # continue df.loc[idx, 'vis_level'] = current_vis_params['vis_level'] df.loc[idx, 'seg_level'] = current_seg_params['seg_level'] diff --git a/create_splits_seq.py b/create_splits_seq.py index 2e2b0719..d21366ed 100755 --- a/create_splits_seq.py +++ b/create_splits_seq.py @@ -5,7 +5,10 @@ import argparse import numpy as np +# ---------- 1. 命令行参数 ---------- parser = argparse.ArgumentParser(description='Creating splits for whole slide classification') +parser.add_argument("--csv_path", type=str, required=True) +parser.add_argument("--output_dir", type=str, required=True) parser.add_argument('--label_frac', type=float, default= 1.0, help='fraction of labels (default: 1)') parser.add_argument('--seed', type=int, default=1, @@ -20,9 +23,11 @@ args = parser.parse_args() +# ---------- 2. 根据任务选择数据集 ---------- if args.task == 'task_1_tumor_vs_normal': args.n_classes=2 - dataset = Generic_WSI_Classification_Dataset(csv_path = 'dataset_csv/tumor_vs_normal_dummy_clean.csv', + dataset = Generic_WSI_Classification_Dataset(csv_path = '/data/cuiping/NSCLC/labels_digital.csv', + #dataset = Generic_WSI_Classification_Dataset(csv_path = 'dataset_csv/tumor_vs_normal_dummy_clean.csv', shuffle = False, seed = args.seed, print_info = True, @@ -31,12 +36,14 @@ ignore=[]) elif args.task == 'task_2_tumor_subtyping': - args.n_classes=3 - dataset = Generic_WSI_Classification_Dataset(csv_path = 'dataset_csv/tumor_subtyping_dummy_clean.csv', + args.n_classes=2 + dataset = Generic_WSI_Classification_Dataset(csv_path = '/data/cuiping/NSCLC/labels_digital.csv', + #dataset = Generic_WSI_Classification_Dataset(csv_path = '/data/cuiping/RCC/labels_digital.csv', shuffle = False, seed = args.seed, print_info = True, - label_dict = {'subtype_1':0, 'subtype_2':1, 'subtype_3':2}, + label_dict = {'subtype_1':0, 'subtype_2':1}, + #label_dict = {'subtype_1':0, 'subtype_2':1, 'subtype_3':2}, patient_strat= True, patient_voting='maj', ignore=[]) @@ -44,10 +51,15 @@ else: raise NotImplementedError +# ---------- 3. 计算每类应分多少验证/测试 ---------- +# 先统计每类有多少患者(patient_strat=True 时按患者算) num_slides_cls = np.array([len(cls_ids) for cls_ids in dataset.patient_cls_ids]) +# 按用户给的比例向下取整 val_num = np.round(num_slides_cls * args.val_frac).astype(int) test_num = np.round(num_slides_cls * args.test_frac).astype(int) + +# ---------- 4. 主流程:生成 k 折并保存 ---------- if __name__ == '__main__': if args.label_frac > 0: label_fracs = [args.label_frac] @@ -62,6 +74,10 @@ dataset.set_splits() descriptor_df = dataset.test_split_gen(return_descriptor=True) splits = dataset.return_splits(from_id=True) + # 保存三种文件: + # ① splits_{i}.csv → 三列布尔矩阵 + # ② splits_{i}_bool.csv → 同上,但纯 0/1 + # ③ splits_{i}_descriptor.csv → 每折详细描述 save_splits(splits, ['train', 'val', 'test'], os.path.join(split_dir, 'splits_{}.csv'.format(i))) save_splits(splits, ['train', 'val', 'test'], os.path.join(split_dir, 'splits_{}_bool.csv'.format(i)), boolean_style=True) descriptor_df.to_csv(os.path.join(split_dir, 'splits_{}_descriptor.csv'.format(i))) diff --git a/dataset_modules/dataset_generic.py b/dataset_modules/dataset_generic.py index 6ffcd61a..20b82864 100755 --- a/dataset_modules/dataset_generic.py +++ b/dataset_modules/dataset_generic.py @@ -13,357 +13,421 @@ from utils.utils import generate_split, nth + def save_splits(split_datasets, column_keys, filename, boolean_style=False): - splits = [split_datasets[i].slide_data['slide_id'] for i in range(len(split_datasets))] - if not boolean_style: - df = pd.concat(splits, ignore_index=True, axis=1) - df.columns = column_keys - else: - df = pd.concat(splits, ignore_index = True, axis=0) - index = df.values.tolist() - one_hot = np.eye(len(split_datasets)).astype(bool) - bool_array = np.repeat(one_hot, [len(dset) for dset in split_datasets], axis=0) - df = pd.DataFrame(bool_array, index=index, columns = ['train', 'val', 'test']) - - df.to_csv(filename) - print() + splits = [split_datasets[i].slide_data['slide_id'] + for i in range(len(split_datasets))] + if not boolean_style: + df = pd.concat(splits, ignore_index=True, axis=1) + df.columns = column_keys + else: + df = pd.concat(splits, ignore_index=True, axis=0) + index = df.values.tolist() + one_hot = np.eye(len(split_datasets)).astype(bool) + bool_array = np.repeat(one_hot, [len(dset) + for dset in split_datasets], axis=0) + df = pd.DataFrame( + bool_array, index=index, columns=[ + 'train', 'val', 'test']) + + df.to_csv(filename) + print() + class Generic_WSI_Classification_Dataset(Dataset): - def __init__(self, - csv_path = 'dataset_csv/ccrcc_clean.csv', - shuffle = False, - seed = 7, - print_info = True, - label_dict = {}, - filter_dict = {}, - ignore=[], - patient_strat=False, - label_col = None, - patient_voting = 'max', - ): - """ - Args: - csv_file (string): Path to the csv file with annotations. - shuffle (boolean): Whether to shuffle - seed (int): random seed for shuffling the data - print_info (boolean): Whether to print a summary of the dataset - label_dict (dict): Dictionary with key, value pairs for converting str labels to int - ignore (list): List containing class labels to ignore - """ - self.label_dict = label_dict - self.num_classes = len(set(self.label_dict.values())) - self.seed = seed - self.print_info = print_info - self.patient_strat = patient_strat - self.train_ids, self.val_ids, self.test_ids = (None, None, None) - self.data_dir = None - if not label_col: - label_col = 'label' - self.label_col = label_col - - slide_data = pd.read_csv(csv_path) - slide_data = self.filter_df(slide_data, filter_dict) - slide_data = self.df_prep(slide_data, self.label_dict, ignore, self.label_col) - - ###shuffle data - if shuffle: - np.random.seed(seed) - np.random.shuffle(slide_data) - - self.slide_data = slide_data - - self.patient_data_prep(patient_voting) - self.cls_ids_prep() - - if print_info: - self.summarize() - - def cls_ids_prep(self): - # store ids corresponding each class at the patient or case level - self.patient_cls_ids = [[] for i in range(self.num_classes)] - for i in range(self.num_classes): - self.patient_cls_ids[i] = np.where(self.patient_data['label'] == i)[0] - - # store ids corresponding each class at the slide level - self.slide_cls_ids = [[] for i in range(self.num_classes)] - for i in range(self.num_classes): - self.slide_cls_ids[i] = np.where(self.slide_data['label'] == i)[0] - - def patient_data_prep(self, patient_voting='max'): - patients = np.unique(np.array(self.slide_data['case_id'])) # get unique patients - patient_labels = [] - - for p in patients: - locations = self.slide_data[self.slide_data['case_id'] == p].index.tolist() - assert len(locations) > 0 - label = self.slide_data['label'][locations].values - if patient_voting == 'max': - label = label.max() # get patient label (MIL convention) - elif patient_voting == 'maj': - label = stats.mode(label)[0] - else: - raise NotImplementedError - patient_labels.append(label) - - self.patient_data = {'case_id':patients, 'label':np.array(patient_labels)} - - @staticmethod - def df_prep(data, label_dict, ignore, label_col): - if label_col != 'label': - data['label'] = data[label_col].copy() - - mask = data['label'].isin(ignore) - data = data[~mask] - data.reset_index(drop=True, inplace=True) - for i in data.index: - key = data.loc[i, 'label'] - data.at[i, 'label'] = label_dict[key] - - return data - - def filter_df(self, df, filter_dict={}): - if len(filter_dict) > 0: - filter_mask = np.full(len(df), True, bool) - # assert 'label' not in filter_dict.keys() - for key, val in filter_dict.items(): - mask = df[key].isin(val) - filter_mask = np.logical_and(filter_mask, mask) - df = df[filter_mask] - return df - - def __len__(self): - if self.patient_strat: - return len(self.patient_data['case_id']) - - else: - return len(self.slide_data) - - def summarize(self): - print("label column: {}".format(self.label_col)) - print("label dictionary: {}".format(self.label_dict)) - print("number of classes: {}".format(self.num_classes)) - print("slide-level counts: ", '\n', self.slide_data['label'].value_counts(sort = False)) - for i in range(self.num_classes): - print('Patient-LVL; Number of samples registered in class %d: %d' % (i, self.patient_cls_ids[i].shape[0])) - print('Slide-LVL; Number of samples registered in class %d: %d' % (i, self.slide_cls_ids[i].shape[0])) - - def create_splits(self, k = 3, val_num = (25, 25), test_num = (40, 40), label_frac = 1.0, custom_test_ids = None): - settings = { - 'n_splits' : k, - 'val_num' : val_num, - 'test_num': test_num, - 'label_frac': label_frac, - 'seed': self.seed, - 'custom_test_ids': custom_test_ids - } - - if self.patient_strat: - settings.update({'cls_ids' : self.patient_cls_ids, 'samples': len(self.patient_data['case_id'])}) - else: - settings.update({'cls_ids' : self.slide_cls_ids, 'samples': len(self.slide_data)}) - - self.split_gen = generate_split(**settings) - - def set_splits(self,start_from=None): - if start_from: - ids = nth(self.split_gen, start_from) - - else: - ids = next(self.split_gen) - - if self.patient_strat: - slide_ids = [[] for i in range(len(ids))] - - for split in range(len(ids)): - for idx in ids[split]: - case_id = self.patient_data['case_id'][idx] - slide_indices = self.slide_data[self.slide_data['case_id'] == case_id].index.tolist() - slide_ids[split].extend(slide_indices) - - self.train_ids, self.val_ids, self.test_ids = slide_ids[0], slide_ids[1], slide_ids[2] - - else: - self.train_ids, self.val_ids, self.test_ids = ids - - def get_split_from_df(self, all_splits, split_key='train'): - split = all_splits[split_key] - split = split.dropna().reset_index(drop=True) - - if len(split) > 0: - mask = self.slide_data['slide_id'].isin(split.tolist()) - df_slice = self.slide_data[mask].reset_index(drop=True) - split = Generic_Split(df_slice, data_dir=self.data_dir, num_classes=self.num_classes) - else: - split = None - - return split - - def get_merged_split_from_df(self, all_splits, split_keys=['train']): - merged_split = [] - for split_key in split_keys: - split = all_splits[split_key] - split = split.dropna().reset_index(drop=True).tolist() - merged_split.extend(split) - - if len(split) > 0: - mask = self.slide_data['slide_id'].isin(merged_split) - df_slice = self.slide_data[mask].reset_index(drop=True) - split = Generic_Split(df_slice, data_dir=self.data_dir, num_classes=self.num_classes) - else: - split = None - - return split - - - def return_splits(self, from_id=True, csv_path=None): - - - if from_id: - if len(self.train_ids) > 0: - train_data = self.slide_data.loc[self.train_ids].reset_index(drop=True) - train_split = Generic_Split(train_data, data_dir=self.data_dir, num_classes=self.num_classes) - - else: - train_split = None - - if len(self.val_ids) > 0: - val_data = self.slide_data.loc[self.val_ids].reset_index(drop=True) - val_split = Generic_Split(val_data, data_dir=self.data_dir, num_classes=self.num_classes) - - else: - val_split = None - - if len(self.test_ids) > 0: - test_data = self.slide_data.loc[self.test_ids].reset_index(drop=True) - test_split = Generic_Split(test_data, data_dir=self.data_dir, num_classes=self.num_classes) - - else: - test_split = None - - - else: - assert csv_path - all_splits = pd.read_csv(csv_path, dtype=self.slide_data['slide_id'].dtype) # Without "dtype=self.slide_data['slide_id'].dtype", read_csv() will convert all-number columns to a numerical type. Even if we convert numerical columns back to objects later, we may lose zero-padding in the process; the columns must be correctly read in from the get-go. When we compare the individual train/val/test columns to self.slide_data['slide_id'] in the get_split_from_df() method, we cannot compare objects (strings) to numbers or even to incorrectly zero-padded objects/strings. An example of this breaking is shown in https://github.com/andrew-weisman/clam_analysis/tree/main/datatype_comparison_bug-2021-12-01. - train_split = self.get_split_from_df(all_splits, 'train') - val_split = self.get_split_from_df(all_splits, 'val') - test_split = self.get_split_from_df(all_splits, 'test') - - return train_split, val_split, test_split - - def get_list(self, ids): - return self.slide_data['slide_id'][ids] - - def getlabel(self, ids): - return self.slide_data['label'][ids] - - def __getitem__(self, idx): - return None - - def test_split_gen(self, return_descriptor=False): - - if return_descriptor: - index = [list(self.label_dict.keys())[list(self.label_dict.values()).index(i)] for i in range(self.num_classes)] - columns = ['train', 'val', 'test'] - df = pd.DataFrame(np.full((len(index), len(columns)), 0, dtype=np.int32), index= index, - columns= columns) - - count = len(self.train_ids) - print('\nnumber of training samples: {}'.format(count)) - labels = self.getlabel(self.train_ids) - unique, counts = np.unique(labels, return_counts=True) - for u in range(len(unique)): - print('number of samples in cls {}: {}'.format(unique[u], counts[u])) - if return_descriptor: - df.loc[index[u], 'train'] = counts[u] - - count = len(self.val_ids) - print('\nnumber of val samples: {}'.format(count)) - labels = self.getlabel(self.val_ids) - unique, counts = np.unique(labels, return_counts=True) - for u in range(len(unique)): - print('number of samples in cls {}: {}'.format(unique[u], counts[u])) - if return_descriptor: - df.loc[index[u], 'val'] = counts[u] - - count = len(self.test_ids) - print('\nnumber of test samples: {}'.format(count)) - labels = self.getlabel(self.test_ids) - unique, counts = np.unique(labels, return_counts=True) - for u in range(len(unique)): - print('number of samples in cls {}: {}'.format(unique[u], counts[u])) - if return_descriptor: - df.loc[index[u], 'test'] = counts[u] - - assert len(np.intersect1d(self.train_ids, self.test_ids)) == 0 - assert len(np.intersect1d(self.train_ids, self.val_ids)) == 0 - assert len(np.intersect1d(self.val_ids, self.test_ids)) == 0 - - if return_descriptor: - return df - - def save_split(self, filename): - train_split = self.get_list(self.train_ids) - val_split = self.get_list(self.val_ids) - test_split = self.get_list(self.test_ids) - df_tr = pd.DataFrame({'train': train_split}) - df_v = pd.DataFrame({'val': val_split}) - df_t = pd.DataFrame({'test': test_split}) - df = pd.concat([df_tr, df_v, df_t], axis=1) - df.to_csv(filename, index = False) + def __init__(self, + csv_path='dataset_csv/ccrcc_clean.csv', + shuffle=False, + seed=7, + print_info=True, + label_dict={}, + filter_dict={}, + ignore=[], + patient_strat=False, + label_col=None, + patient_voting='max', + ): + """ + Args: + csv_file (string): Path to the csv file with annotations. + shuffle (boolean): Whether to shuffle + seed (int): random seed for shuffling the data + print_info (boolean): Whether to print a summary of the dataset + label_dict (dict): Dictionary with key, value pairs for converting str labels to int + ignore (list): List containing class labels to ignore + """ + self.label_dict = label_dict + self.num_classes = len(set(self.label_dict.values())) + self.seed = seed + self.print_info = print_info + self.patient_strat = patient_strat + self.train_ids, self.val_ids, self.test_ids = (None, None, None) + self.data_dir = None + if not label_col: + label_col = 'label' + self.label_col = label_col + + slide_data = pd.read_csv(csv_path) + slide_data = self.filter_df(slide_data, filter_dict) + slide_data = self.df_prep( + slide_data, + self.label_dict, + ignore, + self.label_col) + + # shuffle data + if shuffle: + np.random.seed(seed) + np.random.shuffle(slide_data) + + self.slide_data = slide_data + + self.patient_data_prep(patient_voting) + self.cls_ids_prep() + + if print_info: + self.summarize() + + def cls_ids_prep(self): + # store ids corresponding each class at the patient or case level + self.patient_cls_ids = [[] for i in range(self.num_classes)] + for i in range(self.num_classes): + self.patient_cls_ids[i] = np.where( + self.patient_data['label'] == i)[0] + + # store ids corresponding each class at the slide level + self.slide_cls_ids = [[] for i in range(self.num_classes)] + for i in range(self.num_classes): + self.slide_cls_ids[i] = np.where(self.slide_data['label'] == i)[0] + + def patient_data_prep(self, patient_voting='max'): + # get unique patients + patients = np.unique(np.array(self.slide_data['case_id'])) + patient_labels = [] + + for p in patients: + locations = self.slide_data[self.slide_data['case_id'] == p].index.tolist( + ) + assert len(locations) > 0 + label = self.slide_data['label'][locations].values + if patient_voting == 'max': + label = label.max() # get patient label (MIL convention) + elif patient_voting == 'maj': + unique, counts = np.unique(label, return_counts=True) + label = unique[np.argmax(counts)] + else: + raise NotImplementedError + patient_labels.append(label) + + self.patient_data = { + 'case_id': patients, + 'label': np.array(patient_labels)} + + @staticmethod + def df_prep(data, label_dict, ignore, label_col): + if label_col != 'label': + data['label'] = data[label_col].copy() + + mask = data['label'].isin(ignore) + data = data[~mask] + data.reset_index(drop=True, inplace=True) + for i in data.index: + key = data.loc[i, 'label'] + data.at[i, 'label'] = label_dict[key] + + return data + + def filter_df(self, df, filter_dict={}): + if len(filter_dict) > 0: + filter_mask = np.full(len(df), True, bool) + # assert 'label' not in filter_dict.keys() + for key, val in filter_dict.items(): + mask = df[key].isin(val) + filter_mask = np.logical_and(filter_mask, mask) + df = df[filter_mask] + return df + + def __len__(self): + if self.patient_strat: + return len(self.patient_data['case_id']) + + else: + return len(self.slide_data) + + def summarize(self): + print("label column: {}".format(self.label_col)) + print("label dictionary: {}".format(self.label_dict)) + print("number of classes: {}".format(self.num_classes)) + print( + "slide-level counts: ", + '\n', + self.slide_data['label'].value_counts( + sort=False)) + for i in range(self.num_classes): + print( + 'Patient-LVL; Number of samples registered in class %d: %d' % + (i, self.patient_cls_ids[i].shape[0])) + print( + 'Slide-LVL; Number of samples registered in class %d: %d' % + (i, self.slide_cls_ids[i].shape[0])) + + def create_splits(self, k=3, val_num=(25, 25), test_num=( + 40, 40), label_frac=1.0, custom_test_ids=None): + settings = { + 'n_splits': k, + 'val_num': val_num, + 'test_num': test_num, + 'label_frac': label_frac, + 'seed': self.seed, + 'custom_test_ids': custom_test_ids + } + + if self.patient_strat: + settings.update({'cls_ids': self.patient_cls_ids, + 'samples': len(self.patient_data['case_id'])}) + else: + settings.update({'cls_ids': self.slide_cls_ids, + 'samples': len(self.slide_data)}) + + self.split_gen = generate_split(**settings) + + def set_splits(self, start_from=None): + if start_from: + ids = nth(self.split_gen, start_from) + + else: + ids = next(self.split_gen) + + if self.patient_strat: + slide_ids = [[] for i in range(len(ids))] + + for split in range(len(ids)): + for idx in ids[split]: + case_id = self.patient_data['case_id'][idx] + slide_indices = self.slide_data[self.slide_data['case_id'] == case_id].index.tolist( + ) + slide_ids[split].extend(slide_indices) + + self.train_ids, self.val_ids, self.test_ids = slide_ids[0], slide_ids[1], slide_ids[2] + + else: + self.train_ids, self.val_ids, self.test_ids = ids + + def get_split_from_df(self, all_splits, split_key='train'): + split = all_splits[split_key] + split = split.dropna().reset_index(drop=True) + + if len(split) > 0: + mask = self.slide_data['slide_id'].isin(split.tolist()) + df_slice = self.slide_data[mask].reset_index(drop=True) + split = Generic_Split( + df_slice, + data_dir=self.data_dir, + num_classes=self.num_classes) + else: + split = None + + return split + + def get_merged_split_from_df(self, all_splits, split_keys=['train']): + merged_split = [] + for split_key in split_keys: + split = all_splits[split_key] + split = split.dropna().reset_index(drop=True).tolist() + merged_split.extend(split) + + if len(split) > 0: + mask = self.slide_data['slide_id'].isin(merged_split) + df_slice = self.slide_data[mask].reset_index(drop=True) + split = Generic_Split( + df_slice, + data_dir=self.data_dir, + num_classes=self.num_classes) + else: + split = None + + return split + + def return_splits(self, from_id=True, csv_path=None): + + if from_id: + if len(self.train_ids) > 0: + train_data = self.slide_data.loc[self.train_ids].reset_index( + drop=True) + train_split = Generic_Split( + train_data, + data_dir=self.data_dir, + num_classes=self.num_classes) + + else: + train_split = None + + if len(self.val_ids) > 0: + val_data = self.slide_data.loc[self.val_ids].reset_index( + drop=True) + val_split = Generic_Split( + val_data, + data_dir=self.data_dir, + num_classes=self.num_classes) + + else: + val_split = None + + if len(self.test_ids) > 0: + test_data = self.slide_data.loc[self.test_ids].reset_index( + drop=True) + test_split = Generic_Split( + test_data, + data_dir=self.data_dir, + num_classes=self.num_classes) + + else: + test_split = None + + else: + assert csv_path + # Without "dtype=self.slide_data['slide_id'].dtype", read_csv() + # will convert all-number columns to a numerical type. Even if we + # convert numerical columns back to objects later, we may lose + # zero-padding in the process; the columns must be correctly read + # in from the get-go. When we compare the individual train/val/test + # columns to self.slide_data['slide_id'] in the get_split_from_df() + # method, we cannot compare objects (strings) to numbers or even to + # incorrectly zero-padded objects/strings. An example of this + # breaking is shown in + # https://github.com/andrew-weisman/clam_analysis/tree/main/datatype_comparison_bug-2021-12-01. + all_splits = pd.read_csv( + csv_path, dtype=self.slide_data['slide_id'].dtype) + train_split = self.get_split_from_df(all_splits, 'train') + val_split = self.get_split_from_df(all_splits, 'val') + test_split = self.get_split_from_df(all_splits, 'test') + + return train_split, val_split, test_split + + def get_list(self, ids): + return self.slide_data['slide_id'][ids] + + def getlabel(self, ids): + return self.slide_data['label'][ids] + + def __getitem__(self, idx): + return None + + def test_split_gen(self, return_descriptor=False): + + if return_descriptor: + index = [ + list( + self.label_dict.keys())[ + list( + self.label_dict.values()).index(i)] for i in range( + self.num_classes)] + columns = ['train', 'val', 'test'] + df = pd.DataFrame(np.full((len(index), len(columns)), 0, dtype=np.int32), index=index, + columns=columns) + + count = len(self.train_ids) + print('\nnumber of training samples: {}'.format(count)) + labels = self.getlabel(self.train_ids) + unique, counts = np.unique(labels, return_counts=True) + for u in range(len(unique)): + print( + 'number of samples in cls {}: {}'.format( + unique[u], counts[u])) + if return_descriptor: + df.loc[index[u], 'train'] = counts[u] + + count = len(self.val_ids) + print('\nnumber of val samples: {}'.format(count)) + labels = self.getlabel(self.val_ids) + unique, counts = np.unique(labels, return_counts=True) + for u in range(len(unique)): + print( + 'number of samples in cls {}: {}'.format( + unique[u], counts[u])) + if return_descriptor: + df.loc[index[u], 'val'] = counts[u] + + count = len(self.test_ids) + print('\nnumber of test samples: {}'.format(count)) + labels = self.getlabel(self.test_ids) + unique, counts = np.unique(labels, return_counts=True) + for u in range(len(unique)): + print( + 'number of samples in cls {}: {}'.format( + unique[u], counts[u])) + if return_descriptor: + df.loc[index[u], 'test'] = counts[u] + + assert len(np.intersect1d(self.train_ids, self.test_ids)) == 0 + assert len(np.intersect1d(self.train_ids, self.val_ids)) == 0 + assert len(np.intersect1d(self.val_ids, self.test_ids)) == 0 + + if return_descriptor: + return df + + def save_split(self, filename): + train_split = self.get_list(self.train_ids) + val_split = self.get_list(self.val_ids) + test_split = self.get_list(self.test_ids) + df_tr = pd.DataFrame({'train': train_split}) + df_v = pd.DataFrame({'val': val_split}) + df_t = pd.DataFrame({'test': test_split}) + df = pd.concat([df_tr, df_v, df_t], axis=1) + df.to_csv(filename, index=False) class Generic_MIL_Dataset(Generic_WSI_Classification_Dataset): - def __init__(self, - data_dir, - **kwargs): - - super(Generic_MIL_Dataset, self).__init__(**kwargs) - self.data_dir = data_dir - self.use_h5 = False - - def load_from_h5(self, toggle): - self.use_h5 = toggle - - def __getitem__(self, idx): - slide_id = self.slide_data['slide_id'][idx] - label = self.slide_data['label'][idx] - if type(self.data_dir) == dict: - source = self.slide_data['source'][idx] - data_dir = self.data_dir[source] - else: - data_dir = self.data_dir - - if not self.use_h5: - if self.data_dir: - full_path = os.path.join(data_dir, 'pt_files', '{}.pt'.format(slide_id)) - features = torch.load(full_path) - return features, label - - else: - return slide_id, label - - else: - full_path = os.path.join(data_dir,'h5_files','{}.h5'.format(slide_id)) - with h5py.File(full_path,'r') as hdf5_file: - features = hdf5_file['features'][:] - coords = hdf5_file['coords'][:] - - features = torch.from_numpy(features) - return features, label, coords + def __init__(self, + data_dir, + **kwargs): + + super(Generic_MIL_Dataset, self).__init__(**kwargs) + self.data_dir = data_dir + self.use_h5 = False + + def load_from_h5(self, toggle): + self.use_h5 = toggle + + def __getitem__(self, idx): + slide_id = self.slide_data['slide_id'][idx] + label = self.slide_data['label'][idx] + if isinstance(self.data_dir, dict): + source = self.slide_data['source'][idx] + data_dir = self.data_dir[source] + else: + data_dir = self.data_dir + + if not self.use_h5: + if self.data_dir: + full_path = os.path.join( + data_dir, 'pt_files', '{}.pt'.format(slide_id)) + features = torch.load(full_path) + return features, label + + else: + return slide_id, label + + else: + full_path = os.path.join( + data_dir, 'h5_files', '{}.h5'.format(slide_id)) + with h5py.File(full_path, 'r') as hdf5_file: + features = hdf5_file['features'][:] + coords = hdf5_file['coords'][:] + + features = torch.from_numpy(features) + return features, label, coords class Generic_Split(Generic_MIL_Dataset): - def __init__(self, slide_data, data_dir=None, num_classes=2): - self.use_h5 = False - self.slide_data = slide_data - self.data_dir = data_dir - self.num_classes = num_classes - self.slide_cls_ids = [[] for i in range(self.num_classes)] - for i in range(self.num_classes): - self.slide_cls_ids[i] = np.where(self.slide_data['label'] == i)[0] - - def __len__(self): - return len(self.slide_data) - - - + def __init__(self, slide_data, data_dir=None, num_classes=2): + self.use_h5 = False + self.slide_data = slide_data + self.data_dir = data_dir + self.num_classes = num_classes + self.slide_cls_ids = [[] for i in range(self.num_classes)] + for i in range(self.num_classes): + self.slide_cls_ids[i] = np.where(self.slide_data['label'] == i)[0] + + def __len__(self): + return len(self.slide_data) diff --git a/docs/README.md b/docs/README.md index a2deceb1..efeb2645 100644 --- a/docs/README.md +++ b/docs/README.md @@ -20,22 +20,38 @@ Data Efficient and Weakly Supervised Computational Pathology on Whole Slide Imag * **04/06/2024**: [UNI](https://github.com/mahmoodlab/UNI) and [CONCH](https://github.com/mahmoodlab/CONCH) are now available to select as pretrained encoders. See [Using CONCH / UNI as Pretrained Encoders](#using-conch--uni-as-pretrained-encoders) for more details. Please make sure all dependencies are installed correctly by installing the latest **env.yml** file (see [Installation guide](INSTALLATION.md) for details), and using the corresponding **clam_latest** conda environment. * 03/19/2024: We are releasing [UNI](https://github.com/mahmoodlab/UNI) and [CONCH](https://github.com/mahmoodlab/CONCH), a pair of SOTA pretrained encoders that produce strong representations for histopathology images and enhance performance on various computational pathology workflows, including the MIL-based CLAM workflow. * 05/24/2021: Script for heatmap visualization now available via **create_heatmaps.py**, with the configuration template located in **heatmaps/configs**. See [Heatmap visualization for demo and instructions.](#Heatmap-Visualization) -* 03/01/2021: New, fast patching/feature extraction pipeline is now available. **TL;DR:** since CLAM only requires image features for training, it is not necessary to save the actual image patches, the new pipeline rids of this overhead and instead only saves the coordinates of image patches during "patching" and loads these regions on the fly from WSIs during feature extraction. This is significantly faster than the old pipeline and usually only takes 1-2s for "patching" and a couple minutes to featurize a WSI. To use the new pipeline, make sure you are calling **create_patches_fp.py** and **extract_features_fp.py** instead of the old **create_patches.py** and **extract_features.py** scripts. +* 03/01/2021: New, fast patching/feature extraction pipeline is now available. +更新日志: +2025 年 4 月 15 日:欢迎查看我们的新代码仓库 Trident,该仓库适用于全切片图像处理,支持 25 种以上的基础模型,包括 UNIv2、CONCH、TITAN 等! +2024 年 4 月 6 日:UNI 和 CONCH 现已可选择作为预训练编码器。更多详情请参见《将 CONCH/UNI 用作预训练编码器》(Using CONCH / UNI as Pretrained Encoders)部分。请务必通过安装最新的 env.yml 文件(详情参见《安装指南》Installation guide)并使用对应的 clam_latest conda 环境,确保所有依赖项均已正确安装。 +2024 年 3 月 19 日:我们发布了 UNI 和 CONCH—— 这是一对性能最优(SOTA,State-of-the-Art)的预训练编码器,能为组织病理学图像生成高质量特征表示,并提升各类计算病理工作流程的性能,包括基于多实例学习(MIL,Multiple Instance Learning)的 CLAM 工作流程。 +2021 年 5 月 24 日:现已提供热力图可视化脚本,可通过 create_heatmaps.py 调用,配置模板位于 heatmaps/configs 目录下。演示及操作说明请参见《热力图可视化》(Heatmap Visualization)部分。 +2021 年 3 月 1 日:全新的快速切片 / 特征提取流水线现已上线。 +**TL;DR:** since CLAM only requires image features for training, it is not necessary to save the actual image patches, the new pipeline rids of this overhead and instead only saves the coordinates of image patches during "patching" and loads these regions on the fly from WSIs during feature extraction. This is significantly faster than the old pipeline and usually only takes 1-2s for "patching" and a couple minutes to featurize a WSI. To use the new pipeline, make sure you are calling **create_patches_fp.py** and **extract_features_fp.py** instead of the old **create_patches.py** and **extract_features.py** scripts. +核心摘要(TL;DR,Too Long; Didn't Read):由于 CLAM 模型训练仅需图像特征,无需保存实际图像切片;新流水线去除了这一冗余步骤,在 “切片” 过程中仅保存图像切片的坐标,并在特征提取时从全切片图像(WSI)中实时加载这些区域。该流水线比旧版本速度显著提升,“切片” 过程通常仅需 1-2 秒,全切片图像特征提取也仅需几分钟。若要使用新流水线,请确保调用 create_patches_fp.py 和 extract_features_fp.py 脚本,而非旧版本的 create_patches.py 和 extract_features.py。 **Note**: while we hope that the newest update will require minimal changes to the user's workflow, if needed, you may reference the old version of the code base [here](https://github.com/mahmoodlab/CLAM/tree/deprecated). Please report any issues in the public forum. +注意:我们希望最新更新对用户的工作流程改动最小,但如需参考旧版本代码库,可访问此链接(here)。如有任何问题,请在公共论坛中反馈。 **Warning**: the latest update will by default resize image patches to 224 x 224 before extracting features using the pretrained encoder. This change serves to make it more consistent with the evaluation protocol used in UNI, CONCH and other studies. If you wish to preserve the original size of the image patches generated during patching or use a different image size for feature extraction, you can do so by specifying `--target_patch_size` in **extract_features_fp.py**. +警告:最新更新默认会在使用预训练编码器提取特征前,将图像切片(image patches)调整为 224×224 的尺寸。此改动旨在与 UNI、CONCH 及其他研究中采用的评估协议保持一致。若你希望保留 “切片生成”(patching)过程中产生的图像切片原始尺寸,或使用其他尺寸进行特征提取,可在extract_features_fp.py脚本中通过指定--target_patch_size参数实现。 **RE update 03/01/21**: note that the README has been updated to use the new, faster pipeline by default. If you still wish to use the old pipeline, refer to: [Guide for Old Pipeline](README_old.md). It saves tissue patches, which is signficantly slower and takes up a lot of storage space but can still be useful if you need to work with original image patches instead of feature embeddings. +关于 2021 年 3 月 1 日更新的补充说明:请注意,本 README 文档已更新,默认采用全新的快速处理流水线(pipeline)。若你仍需使用旧流水线,请参考《旧流水线使用指南》(Guide for Old Pipeline)。旧流水线会保存组织切片(tissue patches),其速度显著较慢且占用大量存储空间,但当你需要使用原始图像切片而非特征嵌入(feature embeddings)时,该流水线仍具备实用价值。 ## Installation: Please refer to our [Installation guide](INSTALLATION.md) for detailed instructions on how to get started. +安装说明 +如需详细的入门操作指南,请参考我们的《安装指南》(Installation guide)。 ## WSI Segmentation and Patching +全切片图像(WSI)分割与切片处理 The first step focuses on segmenting the tissue and excluding any holes. The segmentation of specific slides can be adjusted by tuning the individual parameters (e.g. dilated vessels appearing as holes may be important for certain sarcomas.) The following example assumes that digitized whole slide image data in well known standard formats (.svs, .ndpi, .tiff etc.) are stored under a folder named DATA_DIRECTORY +第一步的核心是对组织区域进行分割,并排除所有孔洞区域。对于特定切片的分割效果,可通过调整各项参数进行优化(例如,在某些肉瘤的分析场景中,表现为孔洞的扩张血管可能是重要的分析对象,需特殊调整参数)。 +以下示例假设数字化的全切片图像数据(采用常见标准格式,如.svs、.ndpi、.tiff 等)均存储在名为 “DATA_DIRECTORY” 的文件夹下,文件夹结构如下: ```bash DATA_DIRECTORY/ @@ -45,11 +61,13 @@ DATA_DIRECTORY/ ``` ### Basic, Fully Automated Run +基础全自动运行方式 ``` shell python create_patches_fp.py --source DATA_DIRECTORY --save_dir RESULTS_DIRECTORY --patch_size 256 --seg --patch --stitch ``` The above command will segment every slide in DATA_DIRECTORY using default parameters, extract all patches within the segemnted tissue regions, create a stitched reconstruction for each slide using its extracted patches (optional) and generate the following folder structure at the specified RESULTS_DIRECTORY: +上述命令将使用默认参数对 “DATA_DIRECTORY” 文件夹中的所有切片进行分割,提取分割后组织区域内的所有切片块(patch),并使用提取的切片块为每个切片创建拼接重建图像(此步骤为可选),最终在指定的 “RESULTS_DIRECTORY” 文件夹下生成如下目录结构: ```bash RESULTS_DIRECTORY/ @@ -69,25 +87,43 @@ RESULTS_DIRECTORY/ ``` The **masks** folder contains the segmentation results (one image per slide). +masks(掩码)文件夹:包含所有切片的分割结果(每个切片对应 1 张分割结果图像)。 +(注:此处的 “掩码” 是图像分割领域的常用概念,指通过像素标记区分组织区域与背景 / 孔洞区域的图像,可用于后续精准提取组织切片块。) The **patches** folder contains arrays of extracted tissue patches from each slide (one .h5 file per slide, where each entry corresponds to the coordinates of the top-left corner of a patch) +patches(切片块)文件夹:包含从每张切片中提取的组织切片块数组(每个切片对应 1 个.h5 文件,文件中每条数据记录均对应 1 个切片块左上角的坐标信息)。 +(注:.h5 是一种高效存储海量数值数据的文件格式,此处仅存储切片块坐标而非原始图像数据,可大幅节省存储空间并提升后续特征提取的效率。) The **stitches** folder contains downsampled visualizations of stitched tissue patches (one image per slide) (Optional, not used for downstream tasks) +stitches(拼接图)文件夹:包含组织切片块的下采样拼接可视化图像(每个切片对应 1 张拼接图)(此为可选输出,不用于后续下游任务)。 +(注:“下采样” 指降低图像分辨率以减少数据量,便于快速查看整体组织分布;该文件夹内容仅用于人工直观验证切片块提取效果,不参与模型训练或分析计算。) The auto-generated csv file **process_list_autogen.csv** contains a list of all slides processed, along with their segmentation/patching parameters used. +自动生成的 CSV 文件process_list_autogen.csv:包含所有已处理切片的列表,以及处理每张切片时所用的分割 / 切片块提取参数。 +(注:CSV 文件可直接用 Excel 或代码打开,便于用户追溯每张切片的处理配置,也可用于批量管理或复现实验流程。) Additional flags that can be passed include: * `--custom_downsample`: factor for custom downscale (not recommended, ideally should first check if native downsamples exist) * `--patch_level`: which downsample pyramid level to extract patches from (default is 0, the highest available resolution) * `--no_auto_skip`: by default, the script will skip over files for which patched .h5 files already exist in the desination folder, this toggle can be used to override this behavior +可额外传入的参数(flags)包括: +--custom_downsample:自定义下采样系数(不推荐使用,理想情况下应先检查是否存在原生下采样层级)。(注:“下采样” 指降低图像分辨率以减少数据量;“原生下采样层级” 是全切片图像(WSI)生成时默认保存的不同分辨率版本,直接使用原生层级可避免自定义下采样可能导致的图像信息失真或处理效率下降。) +--patch_level:指定从哪个下采样金字塔层级提取切片块(默认值为 0,即最高可用分辨率层级)。(注:全切片图像通常以 “金字塔层级” 形式存储,层级 0 对应原始扫描的最高分辨率,层级数值越大,分辨率越低;该参数可根据后续任务对分辨率的需求灵活选择,例如低分辨率层级适用于快速预览,高分辨率层级适用于精细特征提取。) +--no_auto_skip:默认情况下,若目标文件夹中已存在某文件对应的切片块.h5 文件,脚本会自动跳过该文件的处理;启用此参数可覆盖该默认行为(即强制重新处理已存在.h5 文件的切片)。(注:该参数适用于需要更新切片块数据的场景,例如修改了分割参数后需重新生成切片块,但需注意会覆盖原有文件,且可能增加重复计算的时间成本。) Some parameter templates are also availble and can be readily deployed as good choices for default parameters: * `bwh_biopsy.csv`: used for segmenting biopsy slides scanned at BWH (Scanned using Hamamatsu S210 and Aperio GT450) * `bwh_resection.csv`: used for segmenting resection slides scanned at BWH * `tcga.csv`: used for segmenting TCGA slides +目前提供了部分参数模板,这些模板可作为默认参数的优质选择直接使用: +bwh_biopsy.csv:适用于分割在布列根和妇女医院(BWH,Brigham and Women's Hospital)扫描的活检切片(使用滨松(Hamamatsu)S210 和阿佩里奥(Aperio)GT450 扫描仪扫描)。 +bwh_resection.csv:适用于分割在布列根和妇女医院扫描的切除标本切片。 +tcga.csv:适用于分割 TCGA(癌症基因组图谱,The Cancer Genome Atlas)切片。 Simply pass the name of the template file to the --preset argument, for example, to use the biopsy template: +只需将模板文件名传入--preset参数即可调用,例如,若要使用活检切片模板,命令如下: ``` shell python create_patches_fp.py --source DATA_DIRECTORY --save_dir RESULTS_DIRECTORY --patch_size 256 --preset bwh_biopsy.csv --seg --patch --stitch ``` ### Custom Default Segmentation Parameters + For advanced usage, in addition to using the default, single set of parameters defined in the script **create_patches_fp.py**, the user can define custom templates of parameters depending on the dataset. These templates are expected to be stored under **presets**, and contain values for each of the parameters used during segmentation and patching. The list of segmentation parameters is as follows: diff --git a/extract_features_fp.py b/extract_features_fp.py index b6dd7679..3abe8783 100644 --- a/extract_features_fp.py +++ b/extract_features_fp.py @@ -1,3 +1,4 @@ +# ========== 1. 基础库与配置 ========== import time import os import argparse @@ -15,14 +16,19 @@ import numpy as np -from utils.file_utils import save_hdf5 -from dataset_modules.dataset_h5 import Dataset_All_Bags, Whole_Slide_Bag_FP -from models import get_encoder +from utils.file_utils import save_hdf5 # 自定义工具:把 dict 写入 h5 +from dataset_modules.dataset_h5 import Dataset_All_Bags, Whole_Slide_Bag_FP # 自定义 Dataset:读取 h5 中的 patch 坐标与图像 +from models import get_encoder # 自定义模型:根据名字拿到预训练编码器 device = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu') +# ========== 2. 核心函数:用 DataLoader 批量推理并保存特征 ========== def compute_w_loader(output_path, loader, model, verbose = 0): """ + 逐 batch 推理,把 {features, coords} 追加写入同一个 h5。 + 第一次写用 mode='w',后续全部 mode='a'(追加)。 + """ + """ args: output_path: directory to save computed features (.h5 file) model: pytorch model @@ -47,7 +53,7 @@ def compute_w_loader(output_path, loader, model, verbose = 0): return output_path - +# ========== 3. 命令行参数 ========== parser = argparse.ArgumentParser(description='Feature Extraction') parser.add_argument('--data_h5_dir', type=str, default=None) parser.add_argument('--data_slide_dir', type=str, default=None) @@ -60,28 +66,32 @@ def compute_w_loader(output_path, loader, model, verbose = 0): parser.add_argument('--target_patch_size', type=int, default=224) args = parser.parse_args() - +# ========== 4. 主流程 ========== if __name__ == '__main__': print('initializing dataset') csv_path = args.csv_path if csv_path is None: raise NotImplementedError - + # 4.1 读取 CSV → 得到所有待处理 WSI 的 slide_id 列表 bags_dataset = Dataset_All_Bags(csv_path) + # 4.2 创建三级输出目录 os.makedirs(args.feat_dir, exist_ok=True) - os.makedirs(os.path.join(args.feat_dir, 'pt_files'), exist_ok=True) - os.makedirs(os.path.join(args.feat_dir, 'h5_files'), exist_ok=True) - dest_files = os.listdir(os.path.join(args.feat_dir, 'pt_files')) + os.makedirs(os.path.join(args.feat_dir, 'pt_files'), exist_ok=True) # 最终特征 + os.makedirs(os.path.join(args.feat_dir, 'h5_files'), exist_ok=True) # 中间临时 + dest_files = os.listdir(os.path.join(args.feat_dir, 'pt_files')) # 已完成的 *.pt + # 4.3 初始化 CNN 模型 + 预处理流水线 model, img_transforms = get_encoder(args.model_name, target_img_size=args.target_patch_size) - _ = model.eval() - model = model.to(device) - total = len(bags_dataset) + _ = model.eval() # 切换到推理模式 + model = model.to(device) # 搬到 GPU + total = len(bags_dataset) # 总共要跑多少张 WSI + # 4.4 设置 DataLoader 的加速参数 loader_kwargs = {'num_workers': 8, 'pin_memory': True} if device.type == "cuda" else {} + # 4.5 大循环:逐张 WSI 提取特征 for bag_candidate_idx in tqdm(range(total)): slide_id = bags_dataset[bag_candidate_idx].split(args.slide_ext)[0] bag_name = slide_id+'.h5' @@ -90,10 +100,11 @@ def compute_w_loader(output_path, loader, model, verbose = 0): print('\nprogress: {}/{}'.format(bag_candidate_idx, total)) print(slide_id) + # 4.6 自动跳过:如果 *.pt 已存在且用户没强制重跑 if not args.no_auto_skip and slide_id+'.pt' in dest_files: print('skipped {}'.format(slide_id)) continue - + # 4.7 打开 WSI → 构造 Dataset → 构造 DataLoader output_path = os.path.join(args.feat_dir, 'h5_files', bag_name) time_start = time.time() wsi = openslide.open_slide(slide_file_path) @@ -102,16 +113,17 @@ def compute_w_loader(output_path, loader, model, verbose = 0): img_transforms=img_transforms) loader = DataLoader(dataset=dataset, batch_size=args.batch_size, **loader_kwargs) + # 4.8 真正推理:把整张片子的 patch 特征写进 h5 output_file_path = compute_w_loader(output_path, loader = loader, model = model, verbose = 1) time_elapsed = time.time() - time_start print('\ncomputing features for {} took {} s'.format(output_file_path, time_elapsed)) - + # 4.9 简单日志:耗时、shape 检查 with h5py.File(output_file_path, "r") as file: features = file['features'][:] print('features size: ', features.shape) print('coordinates size: ', file['coords'].shape) - + # 4.10 h5 → Tensor → .pt,训练阶段直接 torch.load 即可 features = torch.from_numpy(features) bag_base, _ = os.path.splitext(bag_name) torch.save(features, os.path.join(args.feat_dir, 'pt_files', bag_base+'.pt')) diff --git a/main.py b/main.py index d085ce9a..46aea9cf 100755 --- a/main.py +++ b/main.py @@ -20,12 +20,13 @@ import pandas as pd import numpy as np - +# ---------- 1. 主入口:负责“跑完 k 折交叉验证” ---------- def main(args): - # create results directory if necessary + # 若结果目录不存在就创建 if not os.path.isdir(args.results_dir): os.mkdir(args.results_dir) + # 支持只跑部分折(k_start/k_end) if args.k_start == -1: start = 0 else: @@ -35,26 +36,32 @@ def main(args): else: end = args.k_end + # 用来收集每折的指标 all_test_auc = [] all_val_auc = [] all_test_acc = [] all_val_acc = [] folds = np.arange(start, end) + # ---------- 2. 逐折训练 ---------- for i in folds: seed_torch(args.seed) + # 根据平面 splits_i.csv 生成 train/val/test 三个数据集对象 train_dataset, val_dataset, test_dataset = dataset.return_splits(from_id=False, csv_path='{}/splits_{}.csv'.format(args.split_dir, i)) datasets = (train_dataset, val_dataset, test_dataset) + # 真正训练 + 验证 + 测试,返回 AUC、ACC 等指标 results, test_auc, val_auc, test_acc, val_acc = train(datasets, i, args) + # 收集指标 all_test_auc.append(test_auc) all_val_auc.append(val_auc) all_test_acc.append(test_acc) all_val_acc.append(val_acc) - #write results to pkl + # 把当前折所有结果存成 pkl,方便后续画图或重分析 filename = os.path.join(args.results_dir, 'split_{}_results.pkl'.format(i)) save_pkl(filename, results) + # ---------- 3. 汇总 k 折结果 ---------- final_df = pd.DataFrame({'folds': folds, 'test_auc': all_test_auc, 'val_auc': all_val_auc, 'test_acc': all_test_acc, 'val_acc' : all_val_acc}) @@ -64,7 +71,7 @@ def main(args): save_name = 'summary.csv' final_df.to_csv(os.path.join(args.results_dir, save_name)) -# Generic training settings +# ---------- 4. 参数解析:训练所需全部超参 ---------- parser = argparse.ArgumentParser(description='Configurations for WSI Training') parser.add_argument('--data_root_dir', type=str, default=None, help='data directory') @@ -127,6 +134,7 @@ def seed_torch(seed=7): seed_torch(args.seed) encoding_size = 1024 +# ---------- 5. 根据任务选择数据集并创建 dataset 对象 ---------- settings = {'num_splits': args.k, 'k_start': args.k_start, 'k_end': args.k_end, @@ -165,7 +173,7 @@ def seed_torch(seed=7): elif args.task == 'task_2_tumor_subtyping': args.n_classes=3 - dataset = Generic_MIL_Dataset(csv_path = 'dataset_csv/tumor_subtyping_dummy_clean.csv', + dataset = Generic_MIL_Dataset(csv_path = '/data/cuiping/RCC/labels_digital.csv', data_dir= os.path.join(args.data_root_dir, 'tumor_subtyping_resnet_features'), shuffle = False, seed = args.seed, @@ -174,12 +182,14 @@ def seed_torch(seed=7): patient_strat= False, ignore=[]) + # 子分型必须加 --subtyping 开关,否则这里 assert 失败 if args.model_type in ['clam_sb', 'clam_mb']: assert args.subtyping else: raise NotImplementedError - + +# ---------- 6. 结果目录 & 划分目录处理 ---------- if not os.path.isdir(args.results_dir): os.mkdir(args.results_dir) @@ -197,7 +207,7 @@ def seed_torch(seed=7): settings.update({'split_dir': args.split_dir}) - +# 把当前实验所有参数写进 txt,方便复现 with open(args.results_dir + '/experiment_{}.txt'.format(args.exp_code), 'w') as f: print(settings, file=f) f.close() @@ -206,6 +216,7 @@ def seed_torch(seed=7): for key, val in settings.items(): print("{}: {}".format(key, val)) +# ---------- 7. 启动 k 折交叉验证 ---------- if __name__ == "__main__": results = main(args) print("finished!") diff --git a/models/timm_wrapper.py b/models/timm_wrapper.py index 2af9f72e..3d2d174a 100644 --- a/models/timm_wrapper.py +++ b/models/timm_wrapper.py @@ -1,19 +1,46 @@ import torch import timm +# class TimmCNNEncoder(torch.nn.Module): +# def __init__(self, model_name: str = 'resnet50.tv_in1k', +# kwargs: dict = {'features_only': True, 'out_indices': (3,), 'pretrained': True, 'num_classes': 0}, +# pool: bool = True): +# super().__init__() +# assert kwargs.get('pretrained', False), 'only pretrained models are supported' +# self.model = timm.create_model(model_name, **kwargs) +# self.model_name = model_name +# if pool: +# self.pool = torch.nn.AdaptiveAvgPool2d(1) +# else: +# self.pool = None class TimmCNNEncoder(torch.nn.Module): - def __init__(self, model_name: str = 'resnet50.tv_in1k', - kwargs: dict = {'features_only': True, 'out_indices': (3,), 'pretrained': True, 'num_classes': 0}, + def __init__(self, + model_name: str = 'resnet50.tv_in1k', + kwargs: dict = {'features_only': True, + 'out_indices': (3,), + 'pretrained': True, + 'num_classes': 0}, pool: bool = True): super().__init__() - assert kwargs.get('pretrained', False), 'only pretrained models are supported' + + # 1. 备份并强制“无权重创建网络” + pretrained = kwargs.get('pretrained', False) + kwargs['pretrained'] = False # 不再去 HF Hub self.model = timm.create_model(model_name, **kwargs) self.model_name = model_name + + # 2. 再手工载入本地权重 + if pretrained: + # 根据你实际路径填写 + local_ckpt = '/home/cuiping/CLAM/resnet50_tv_in1k/pytorch_model.bin' + state_dict = torch.load(local_ckpt, map_location='cpu') + # 去掉 timm 在 keys 里加的 “model.” 前缀(如有) + state_dict = {k.replace('model.', ''): v for k, v in state_dict.items()} + self.model.load_state_dict(state_dict, strict=False) if pool: self.pool = torch.nn.AdaptiveAvgPool2d(1) else: self.pool = None - def forward(self, x): out = self.model(x) if isinstance(out, list): diff --git a/splits/task_1_tumor_vs_normal_75/splits_0.csv b/splits/task_1_tumor_vs_normal_75/splits_0.csv deleted file mode 100644 index 73c84031..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_0.csv +++ /dev/null @@ -1,301 +0,0 @@ -,train,val,test -0,slide_110,slide_403,slide_13 -1,slide_112,slide_336,slide_353 -2,slide_113,slide_423,slide_59 -3,slide_114,slide_366,slide_16 -4,slide_116,slide_378,slide_47 -5,slide_117,slide_379,slide_109 -6,slide_118,slide_12,slide_276 -7,slide_14,slide_60,slide_445 -8,slide_119,slide_277,slide_209 -9,slide_121,slide_388,slide_244 -10,slide_122,slide_330,slide_184 -11,slide_123,slide_331,slide_459 -12,slide_124,slide_173,slide_479 -13,slide_128,slide_49,slide_142 -14,slide_132,slide_74,slide_224 -15,slide_133,slide_442,slide_210 -16,slide_134,slide_42,slide_211 -17,slide_135,slide_108,slide_400 -18,slide_136,slide_21,slide_284 -19,slide_137,slide_424,slide_127 -20,slide_139,slide_130,slide_81 -21,slide_143,slide_46,slide_419 -22,slide_144,slide_120,slide_483 -23,slide_145,slide_106,slide_8 -24,slide_146,slide_207,slide_446 -25,slide_17,slide_208,slide_20 -26,slide_150,slide_320,slide_448 -27,slide_151,slide_285,slide_496 -28,slide_152,slide_348,slide_294 -29,slide_153,slide_386,slide_416 -30,slide_154,slide_222,slide_233 -31,slide_155,slide_141,slide_470 -32,slide_156,slide_286,slide_471 -33,slide_157,slide_36,slide_447 -34,slide_160,slide_262,slide_15 -35,slide_161,slide_453,slide_203 -36,slide_162,slide_85,slide_343 -37,slide_165,slide_73,slide_361 -38,slide_166,slide_281,slide_362 -39,slide_167,slide_322,slide_458 -40,slide_168,slide_31,slide_440 -41,slide_171,slide_219,slide_115 -42,slide_172,slide_220,slide_103 -43,slide_174,slide_148,slide_457 -44,slide_175,slide_149,slide_425 -45,slide_176,slide_355,slide_111 -46,slide_177,slide_97,slide_43 -47,slide_179,slide_282,slide_193 -48,slide_180,slide_283, -49,slide_183,slide_189, -50,slide_185,slide_438, -51,slide_186,, -52,slide_194,, -53,slide_197,, -54,slide_199,, -55,slide_200,, -56,slide_202,, -57,slide_204,, -58,slide_205,, -59,slide_212,, -60,slide_213,, -61,slide_214,, -62,slide_217,, -63,slide_3,, -64,slide_4,, -65,slide_218,, -66,slide_221,, -67,slide_223,, -68,slide_225,, -69,slide_226,, -70,slide_227,, -71,slide_228,, -72,slide_229,, -73,slide_25,, -74,slide_230,, -75,slide_231,, -76,slide_232,, -77,slide_234,, -78,slide_235,, -79,slide_236,, -80,slide_237,, -81,slide_26,, -82,slide_240,, -83,slide_242,, -84,slide_243,, -85,slide_247,, -86,slide_248,, -87,slide_250,, -88,slide_251,, -89,slide_252,, -90,slide_27,, -91,slide_253,, -92,slide_254,, -93,slide_256,, -94,slide_257,, -95,slide_259,, -96,slide_260,, -97,slide_261,, -98,slide_28,, -99,slide_29,, -100,slide_267,, -101,slide_268,, -102,slide_270,, -103,slide_271,, -104,slide_272,, -105,slide_274,, -106,slide_275,, -107,slide_280,, -108,slide_287,, -109,slide_288,, -110,slide_289,, -111,slide_292,, -112,slide_293,, -113,slide_296,, -114,slide_297,, -115,slide_298,, -116,slide_300,, -117,slide_301,, -118,slide_305,, -119,slide_307,, -120,slide_308,, -121,slide_312,, -122,slide_313,, -123,slide_314,, -124,slide_315,, -125,slide_316,, -126,slide_317,, -127,slide_318,, -128,slide_319,, -129,slide_323,, -130,slide_324,, -131,slide_327,, -132,slide_328,, -133,slide_5,, -134,slide_35,, -135,slide_329,, -136,slide_332,, -137,slide_333,, -138,slide_334,, -139,slide_335,, -140,slide_337,, -141,slide_340,, -142,slide_341,, -143,slide_347,, -144,slide_349,, -145,slide_350,, -146,slide_352,, -147,slide_354,, -148,slide_356,, -149,slide_358,, -150,slide_359,, -151,slide_360,, -152,slide_365,, -153,slide_367,, -154,slide_368,, -155,slide_369,, -156,slide_371,, -157,slide_372,, -158,slide_373,, -159,slide_374,, -160,slide_39,, -161,slide_376,, -162,slide_377,, -163,slide_380,, -164,slide_382,, -165,slide_383,, -166,slide_384,, -167,slide_385,, -168,slide_40,, -169,slide_387,, -170,slide_390,, -171,slide_393,, -172,slide_394,, -173,slide_395,, -174,slide_396,, -175,slide_397,, -176,slide_398,, -177,slide_401,, -178,slide_402,, -179,slide_404,, -180,slide_405,, -181,slide_406,, -182,slide_409,, -183,slide_410,, -184,slide_411,, -185,slide_413,, -186,slide_414,, -187,slide_415,, -188,slide_417,, -189,slide_420,, -190,slide_421,, -191,slide_426,, -192,slide_427,, -193,slide_44,, -194,slide_45,, -195,slide_0,, -196,slide_1,, -197,slide_2,, -198,slide_125,, -199,slide_126,, -200,slide_129,, -201,slide_131,, -202,slide_138,, -203,slide_140,, -204,slide_147,, -205,slide_158,, -206,slide_159,, -207,slide_18,, -208,slide_19,, -209,slide_163,, -210,slide_164,, -211,slide_169,, -212,slide_170,, -213,slide_178,, -214,slide_181,, -215,slide_182,, -216,slide_187,, -217,slide_188,, -218,slide_190,, -219,slide_191,, -220,slide_192,, -221,slide_22,, -222,slide_195,, -223,slide_196,, -224,slide_198,, -225,slide_201,, -226,slide_23,, -227,slide_206,, -228,slide_215,, -229,slide_216,, -230,slide_24,, -231,slide_238,, -232,slide_239,, -233,slide_241,, -234,slide_245,, -235,slide_246,, -236,slide_249,, -237,slide_255,, -238,slide_258,, -239,slide_263,, -240,slide_264,, -241,slide_265,, -242,slide_266,, -243,slide_269,, -244,slide_273,, -245,slide_30,, -246,slide_278,, -247,slide_279,, -248,slide_290,, -249,slide_291,, -250,slide_295,, -251,slide_32,, -252,slide_299,, -253,slide_302,, -254,slide_303,, -255,slide_304,, -256,slide_306,, -257,slide_33,, -258,slide_309,, -259,slide_310,, -260,slide_311,, -261,slide_34,, -262,slide_321,, -263,slide_325,, -264,slide_326,, -265,slide_338,, -266,slide_339,, -267,slide_342,, -268,slide_344,, -269,slide_345,, -270,slide_346,, -271,slide_351,, -272,slide_37,, -273,slide_357,, -274,slide_38,, -275,slide_363,, -276,slide_364,, -277,slide_370,, -278,slide_375,, -279,slide_381,, -280,slide_389,, -281,slide_391,, -282,slide_392,, -283,slide_41,, -284,slide_399,, -285,slide_407,, -286,slide_408,, -287,slide_412,, -288,slide_418,, -289,slide_422,, -290,slide_428,, -291,slide_429,, -292,slide_432,, -293,slide_433,, -294,slide_434,, -295,slide_435,, -296,slide_436,, -297,slide_437,, -298,slide_441,, -299,slide_444,, diff --git a/splits/task_1_tumor_vs_normal_75/splits_0_bool.csv b/splits/task_1_tumor_vs_normal_75/splits_0_bool.csv deleted file mode 100644 index 87b9ac6d..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_0_bool.csv +++ /dev/null @@ -1,400 +0,0 @@ -,train,val,test -slide_110,True,False,False -slide_112,True,False,False -slide_113,True,False,False -slide_114,True,False,False -slide_116,True,False,False -slide_117,True,False,False -slide_118,True,False,False -slide_14,True,False,False -slide_119,True,False,False -slide_121,True,False,False -slide_122,True,False,False -slide_123,True,False,False -slide_124,True,False,False -slide_128,True,False,False -slide_132,True,False,False -slide_133,True,False,False -slide_134,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_137,True,False,False -slide_139,True,False,False -slide_143,True,False,False -slide_144,True,False,False -slide_145,True,False,False -slide_146,True,False,False -slide_17,True,False,False -slide_150,True,False,False -slide_151,True,False,False -slide_152,True,False,False -slide_153,True,False,False -slide_154,True,False,False -slide_155,True,False,False -slide_156,True,False,False -slide_157,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_165,True,False,False -slide_166,True,False,False -slide_167,True,False,False -slide_168,True,False,False -slide_171,True,False,False -slide_172,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_177,True,False,False -slide_179,True,False,False -slide_180,True,False,False -slide_183,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_194,True,False,False -slide_197,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_202,True,False,False -slide_204,True,False,False -slide_205,True,False,False -slide_212,True,False,False -slide_213,True,False,False -slide_214,True,False,False -slide_217,True,False,False -slide_3,True,False,False -slide_4,True,False,False -slide_218,True,False,False -slide_221,True,False,False -slide_223,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_227,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_25,True,False,False -slide_230,True,False,False -slide_231,True,False,False -slide_232,True,False,False -slide_234,True,False,False -slide_235,True,False,False -slide_236,True,False,False -slide_237,True,False,False -slide_26,True,False,False -slide_240,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_247,True,False,False -slide_248,True,False,False -slide_250,True,False,False -slide_251,True,False,False -slide_252,True,False,False -slide_27,True,False,False -slide_253,True,False,False -slide_254,True,False,False -slide_256,True,False,False -slide_257,True,False,False -slide_259,True,False,False -slide_260,True,False,False -slide_261,True,False,False -slide_28,True,False,False -slide_29,True,False,False -slide_267,True,False,False -slide_268,True,False,False -slide_270,True,False,False -slide_271,True,False,False -slide_272,True,False,False -slide_274,True,False,False -slide_275,True,False,False -slide_280,True,False,False -slide_287,True,False,False -slide_288,True,False,False -slide_289,True,False,False -slide_292,True,False,False -slide_293,True,False,False -slide_296,True,False,False -slide_297,True,False,False -slide_298,True,False,False -slide_300,True,False,False -slide_301,True,False,False -slide_305,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_312,True,False,False -slide_313,True,False,False -slide_314,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_317,True,False,False -slide_318,True,False,False -slide_319,True,False,False -slide_323,True,False,False -slide_324,True,False,False -slide_327,True,False,False -slide_328,True,False,False -slide_5,True,False,False -slide_35,True,False,False -slide_329,True,False,False -slide_332,True,False,False -slide_333,True,False,False -slide_334,True,False,False -slide_335,True,False,False -slide_337,True,False,False -slide_340,True,False,False -slide_341,True,False,False -slide_347,True,False,False -slide_349,True,False,False -slide_350,True,False,False -slide_352,True,False,False -slide_354,True,False,False -slide_356,True,False,False -slide_358,True,False,False -slide_359,True,False,False -slide_360,True,False,False -slide_365,True,False,False -slide_367,True,False,False -slide_368,True,False,False -slide_369,True,False,False -slide_371,True,False,False -slide_372,True,False,False -slide_373,True,False,False -slide_374,True,False,False -slide_39,True,False,False -slide_376,True,False,False -slide_377,True,False,False -slide_380,True,False,False -slide_382,True,False,False -slide_383,True,False,False -slide_384,True,False,False -slide_385,True,False,False -slide_40,True,False,False -slide_387,True,False,False -slide_390,True,False,False -slide_393,True,False,False -slide_394,True,False,False -slide_395,True,False,False -slide_396,True,False,False -slide_397,True,False,False -slide_398,True,False,False -slide_401,True,False,False -slide_402,True,False,False -slide_404,True,False,False -slide_405,True,False,False -slide_406,True,False,False -slide_409,True,False,False -slide_410,True,False,False -slide_411,True,False,False -slide_413,True,False,False -slide_414,True,False,False -slide_415,True,False,False -slide_417,True,False,False -slide_420,True,False,False -slide_421,True,False,False -slide_426,True,False,False -slide_427,True,False,False -slide_44,True,False,False -slide_45,True,False,False -slide_0,True,False,False -slide_1,True,False,False -slide_2,True,False,False -slide_125,True,False,False -slide_126,True,False,False -slide_129,True,False,False -slide_131,True,False,False -slide_138,True,False,False -slide_140,True,False,False -slide_147,True,False,False -slide_158,True,False,False -slide_159,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_163,True,False,False -slide_164,True,False,False -slide_169,True,False,False -slide_170,True,False,False -slide_178,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_190,True,False,False -slide_191,True,False,False -slide_192,True,False,False -slide_22,True,False,False -slide_195,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_201,True,False,False -slide_23,True,False,False -slide_206,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_24,True,False,False -slide_238,True,False,False -slide_239,True,False,False -slide_241,True,False,False -slide_245,True,False,False -slide_246,True,False,False -slide_249,True,False,False -slide_255,True,False,False -slide_258,True,False,False -slide_263,True,False,False -slide_264,True,False,False -slide_265,True,False,False -slide_266,True,False,False -slide_269,True,False,False -slide_273,True,False,False -slide_30,True,False,False -slide_278,True,False,False -slide_279,True,False,False -slide_290,True,False,False -slide_291,True,False,False -slide_295,True,False,False -slide_32,True,False,False -slide_299,True,False,False -slide_302,True,False,False -slide_303,True,False,False -slide_304,True,False,False -slide_306,True,False,False -slide_33,True,False,False -slide_309,True,False,False -slide_310,True,False,False -slide_311,True,False,False -slide_34,True,False,False -slide_321,True,False,False -slide_325,True,False,False -slide_326,True,False,False -slide_338,True,False,False -slide_339,True,False,False -slide_342,True,False,False -slide_344,True,False,False -slide_345,True,False,False -slide_346,True,False,False -slide_351,True,False,False -slide_37,True,False,False -slide_357,True,False,False -slide_38,True,False,False -slide_363,True,False,False -slide_364,True,False,False -slide_370,True,False,False -slide_375,True,False,False -slide_381,True,False,False -slide_389,True,False,False -slide_391,True,False,False -slide_392,True,False,False -slide_41,True,False,False -slide_399,True,False,False -slide_407,True,False,False -slide_408,True,False,False -slide_412,True,False,False -slide_418,True,False,False -slide_422,True,False,False -slide_428,True,False,False -slide_429,True,False,False -slide_432,True,False,False -slide_433,True,False,False -slide_434,True,False,False -slide_435,True,False,False -slide_436,True,False,False -slide_437,True,False,False -slide_441,True,False,False -slide_444,True,False,False -slide_403,False,True,False -slide_336,False,True,False -slide_423,False,True,False -slide_366,False,True,False -slide_378,False,True,False -slide_379,False,True,False -slide_12,False,True,False -slide_60,False,True,False -slide_277,False,True,False -slide_388,False,True,False -slide_330,False,True,False -slide_331,False,True,False -slide_173,False,True,False -slide_49,False,True,False -slide_74,False,True,False -slide_442,False,True,False -slide_42,False,True,False -slide_108,False,True,False -slide_21,False,True,False -slide_424,False,True,False -slide_130,False,True,False -slide_46,False,True,False -slide_120,False,True,False -slide_106,False,True,False -slide_207,False,True,False -slide_208,False,True,False -slide_320,False,True,False -slide_285,False,True,False -slide_348,False,True,False -slide_386,False,True,False -slide_222,False,True,False -slide_141,False,True,False -slide_286,False,True,False -slide_36,False,True,False -slide_262,False,True,False -slide_453,False,True,False -slide_85,False,True,False -slide_73,False,True,False -slide_281,False,True,False -slide_322,False,True,False -slide_31,False,True,False -slide_219,False,True,False -slide_220,False,True,False -slide_148,False,True,False -slide_149,False,True,False -slide_355,False,True,False -slide_97,False,True,False -slide_282,False,True,False -slide_283,False,True,False -slide_189,False,True,False -slide_438,False,True,False -slide_13,False,False,True -slide_353,False,False,True -slide_59,False,False,True -slide_16,False,False,True -slide_47,False,False,True -slide_109,False,False,True -slide_276,False,False,True -slide_445,False,False,True -slide_209,False,False,True -slide_244,False,False,True -slide_184,False,False,True -slide_459,False,False,True -slide_479,False,False,True -slide_142,False,False,True -slide_224,False,False,True -slide_210,False,False,True -slide_211,False,False,True -slide_400,False,False,True -slide_284,False,False,True -slide_127,False,False,True -slide_81,False,False,True -slide_419,False,False,True -slide_483,False,False,True -slide_8,False,False,True -slide_446,False,False,True -slide_20,False,False,True -slide_448,False,False,True -slide_496,False,False,True -slide_294,False,False,True -slide_416,False,False,True -slide_233,False,False,True -slide_470,False,False,True -slide_471,False,False,True -slide_447,False,False,True -slide_15,False,False,True -slide_203,False,False,True -slide_343,False,False,True -slide_361,False,False,True -slide_362,False,False,True -slide_458,False,False,True -slide_440,False,False,True -slide_115,False,False,True -slide_103,False,False,True -slide_457,False,False,True -slide_425,False,False,True -slide_111,False,False,True -slide_43,False,False,True -slide_193,False,False,True diff --git a/splits/task_1_tumor_vs_normal_75/splits_0_descriptor.csv b/splits/task_1_tumor_vs_normal_75/splits_0_descriptor.csv deleted file mode 100644 index 5f95e193..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_0_descriptor.csv +++ /dev/null @@ -1,3 +0,0 @@ -,train,val,test -normal_tissue,211,36,33 -tumor_tissue,89,15,15 diff --git a/splits/task_1_tumor_vs_normal_75/splits_1.csv b/splits/task_1_tumor_vs_normal_75/splits_1.csv deleted file mode 100644 index d7c42f8e..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_1.csv +++ /dev/null @@ -1,301 +0,0 @@ -,train,val,test -0,slide_13,slide_360,slide_406 -1,slide_110,slide_121,slide_320 -2,slide_112,slide_48,slide_376 -3,slide_113,slide_352,slide_233 -4,slide_114,slide_378,slide_194 -5,slide_116,slide_379,slide_87 -6,slide_117,slide_459,slide_67 -7,slide_118,slide_166,slide_40 -8,slide_119,slide_172,slide_359 -9,slide_120,slide_17,slide_324 -10,slide_122,slide_155,slide_423 -11,slide_123,slide_35,slide_456 -12,slide_128,slide_66,slide_476 -13,slide_130,slide_242,slide_177 -14,slide_132,slide_243,slide_496 -15,slide_133,slide_179,slide_14 -16,slide_134,slide_156,slide_332 -17,slide_135,slide_157,slide_16 -18,slide_136,slide_96,slide_237 -19,slide_137,slide_336,slide_388 -20,slide_139,slide_91,slide_491 -21,slide_141,slide_445,slide_284 -22,slide_143,slide_478,slide_142 -23,slide_144,slide_109,slide_127 -24,slide_145,slide_124,slide_77 -25,slide_146,slide_298,slide_312 -26,slide_150,slide_165,slide_431 -27,slide_151,slide_250,slide_222 -28,slide_152,slide_64,slide_106 -29,slide_153,slide_65,slide_414 -30,slide_154,slide_305,slide_415 -31,slide_160,slide_223,slide_15 -32,slide_161,slide_42,slide_375 -33,slide_162,slide_296,slide_343 -34,slide_167,slide_131,slide_407 -35,slide_168,slide_203,slide_408 -36,slide_171,slide_355,slide_338 -37,slide_20,slide_147,slide_339 -38,slide_173,slide_258,slide_429 -39,slide_174,slide_291,slide_198 -40,slide_175,slide_31,slide_437 -41,slide_176,slide_266,slide_255 -42,slide_180,slide_158,slide_441 -43,slide_21,slide_159,slide_321 -44,slide_183,slide_129,slide_69 -45,slide_184,slide_444,slide_278 -46,slide_185,slide_299,slide_279 -47,slide_186,slide_361,slide_499 -48,slide_197,slide_362,slide_453 -49,slide_199,slide_86, -50,slide_200,slide_193, -51,slide_202,, -52,slide_204,, -53,slide_205,, -54,slide_207,, -55,slide_208,, -56,slide_209,, -57,slide_210,, -58,slide_211,, -59,slide_212,, -60,slide_213,, -61,slide_214,, -62,slide_217,, -63,slide_3,, -64,slide_4,, -65,slide_218,, -66,slide_221,, -67,slide_224,, -68,slide_225,, -69,slide_226,, -70,slide_227,, -71,slide_228,, -72,slide_229,, -73,slide_25,, -74,slide_230,, -75,slide_231,, -76,slide_232,, -77,slide_234,, -78,slide_235,, -79,slide_236,, -80,slide_26,, -81,slide_240,, -82,slide_244,, -83,slide_247,, -84,slide_248,, -85,slide_251,, -86,slide_252,, -87,slide_27,, -88,slide_253,, -89,slide_254,, -90,slide_256,, -91,slide_257,, -92,slide_259,, -93,slide_260,, -94,slide_261,, -95,slide_28,, -96,slide_29,, -97,slide_267,, -98,slide_268,, -99,slide_270,, -100,slide_271,, -101,slide_272,, -102,slide_274,, -103,slide_275,, -104,slide_276,, -105,slide_277,, -106,slide_280,, -107,slide_285,, -108,slide_286,, -109,slide_287,, -110,slide_288,, -111,slide_289,, -112,slide_292,, -113,slide_293,, -114,slide_294,, -115,slide_297,, -116,slide_300,, -117,slide_301,, -118,slide_307,, -119,slide_308,, -120,slide_313,, -121,slide_314,, -122,slide_315,, -123,slide_316,, -124,slide_317,, -125,slide_318,, -126,slide_319,, -127,slide_323,, -128,slide_327,, -129,slide_328,, -130,slide_5,, -131,slide_329,, -132,slide_330,, -133,slide_331,, -134,slide_333,, -135,slide_334,, -136,slide_335,, -137,slide_337,, -138,slide_340,, -139,slide_341,, -140,slide_347,, -141,slide_348,, -142,slide_349,, -143,slide_350,, -144,slide_353,, -145,slide_354,, -146,slide_356,, -147,slide_358,, -148,slide_365,, -149,slide_366,, -150,slide_367,, -151,slide_368,, -152,slide_369,, -153,slide_371,, -154,slide_372,, -155,slide_373,, -156,slide_374,, -157,slide_39,, -158,slide_377,, -159,slide_380,, -160,slide_382,, -161,slide_383,, -162,slide_384,, -163,slide_385,, -164,slide_386,, -165,slide_387,, -166,slide_390,, -167,slide_393,, -168,slide_394,, -169,slide_395,, -170,slide_396,, -171,slide_397,, -172,slide_398,, -173,slide_400,, -174,slide_401,, -175,slide_402,, -176,slide_403,, -177,slide_404,, -178,slide_405,, -179,slide_409,, -180,slide_410,, -181,slide_411,, -182,slide_413,, -183,slide_416,, -184,slide_417,, -185,slide_419,, -186,slide_420,, -187,slide_421,, -188,slide_424,, -189,slide_426,, -190,slide_427,, -191,slide_44,, -192,slide_45,, -193,slide_430,, -194,slide_439,, -195,slide_0,, -196,slide_1,, -197,slide_2,, -198,slide_111,, -199,slide_115,, -200,slide_125,, -201,slide_126,, -202,slide_138,, -203,slide_140,, -204,slide_148,, -205,slide_149,, -206,slide_18,, -207,slide_19,, -208,slide_163,, -209,slide_164,, -210,slide_169,, -211,slide_170,, -212,slide_178,, -213,slide_181,, -214,slide_182,, -215,slide_187,, -216,slide_188,, -217,slide_189,, -218,slide_190,, -219,slide_191,, -220,slide_192,, -221,slide_22,, -222,slide_195,, -223,slide_196,, -224,slide_201,, -225,slide_23,, -226,slide_206,, -227,slide_215,, -228,slide_216,, -229,slide_24,, -230,slide_219,, -231,slide_220,, -232,slide_238,, -233,slide_239,, -234,slide_241,, -235,slide_245,, -236,slide_246,, -237,slide_249,, -238,slide_262,, -239,slide_263,, -240,slide_264,, -241,slide_265,, -242,slide_269,, -243,slide_273,, -244,slide_30,, -245,slide_281,, -246,slide_282,, -247,slide_283,, -248,slide_290,, -249,slide_295,, -250,slide_32,, -251,slide_302,, -252,slide_303,, -253,slide_304,, -254,slide_306,, -255,slide_33,, -256,slide_309,, -257,slide_310,, -258,slide_311,, -259,slide_34,, -260,slide_322,, -261,slide_325,, -262,slide_326,, -263,slide_36,, -264,slide_342,, -265,slide_344,, -266,slide_345,, -267,slide_346,, -268,slide_351,, -269,slide_37,, -270,slide_357,, -271,slide_38,, -272,slide_363,, -273,slide_364,, -274,slide_370,, -275,slide_381,, -276,slide_389,, -277,slide_391,, -278,slide_392,, -279,slide_41,, -280,slide_399,, -281,slide_412,, -282,slide_418,, -283,slide_43,, -284,slide_422,, -285,slide_425,, -286,slide_428,, -287,slide_432,, -288,slide_433,, -289,slide_434,, -290,slide_435,, -291,slide_436,, -292,slide_438,, -293,slide_440,, -294,slide_447,, -295,slide_449,, -296,slide_450,, -297,slide_451,, -298,slide_454,, -299,slide_457,, diff --git a/splits/task_1_tumor_vs_normal_75/splits_1_bool.csv b/splits/task_1_tumor_vs_normal_75/splits_1_bool.csv deleted file mode 100644 index d095d89f..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_1_bool.csv +++ /dev/null @@ -1,401 +0,0 @@ -,train,val,test -slide_13,True,False,False -slide_110,True,False,False -slide_112,True,False,False -slide_113,True,False,False -slide_114,True,False,False -slide_116,True,False,False -slide_117,True,False,False -slide_118,True,False,False -slide_119,True,False,False -slide_120,True,False,False -slide_122,True,False,False -slide_123,True,False,False -slide_128,True,False,False -slide_130,True,False,False -slide_132,True,False,False -slide_133,True,False,False -slide_134,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_137,True,False,False -slide_139,True,False,False -slide_141,True,False,False -slide_143,True,False,False -slide_144,True,False,False -slide_145,True,False,False -slide_146,True,False,False -slide_150,True,False,False -slide_151,True,False,False -slide_152,True,False,False -slide_153,True,False,False -slide_154,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_167,True,False,False -slide_168,True,False,False -slide_171,True,False,False -slide_20,True,False,False -slide_173,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_180,True,False,False -slide_21,True,False,False -slide_183,True,False,False -slide_184,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_197,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_202,True,False,False -slide_204,True,False,False -slide_205,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_209,True,False,False -slide_210,True,False,False -slide_211,True,False,False -slide_212,True,False,False -slide_213,True,False,False -slide_214,True,False,False -slide_217,True,False,False -slide_3,True,False,False -slide_4,True,False,False -slide_218,True,False,False -slide_221,True,False,False -slide_224,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_227,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_25,True,False,False -slide_230,True,False,False -slide_231,True,False,False -slide_232,True,False,False -slide_234,True,False,False -slide_235,True,False,False -slide_236,True,False,False -slide_26,True,False,False -slide_240,True,False,False -slide_244,True,False,False -slide_247,True,False,False -slide_248,True,False,False -slide_251,True,False,False -slide_252,True,False,False -slide_27,True,False,False -slide_253,True,False,False -slide_254,True,False,False -slide_256,True,False,False -slide_257,True,False,False -slide_259,True,False,False -slide_260,True,False,False -slide_261,True,False,False -slide_28,True,False,False -slide_29,True,False,False -slide_267,True,False,False -slide_268,True,False,False -slide_270,True,False,False -slide_271,True,False,False -slide_272,True,False,False -slide_274,True,False,False -slide_275,True,False,False -slide_276,True,False,False -slide_277,True,False,False -slide_280,True,False,False -slide_285,True,False,False -slide_286,True,False,False -slide_287,True,False,False -slide_288,True,False,False -slide_289,True,False,False -slide_292,True,False,False -slide_293,True,False,False -slide_294,True,False,False -slide_297,True,False,False -slide_300,True,False,False -slide_301,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_313,True,False,False -slide_314,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_317,True,False,False -slide_318,True,False,False -slide_319,True,False,False -slide_323,True,False,False -slide_327,True,False,False -slide_328,True,False,False -slide_5,True,False,False -slide_329,True,False,False -slide_330,True,False,False -slide_331,True,False,False -slide_333,True,False,False -slide_334,True,False,False -slide_335,True,False,False -slide_337,True,False,False -slide_340,True,False,False -slide_341,True,False,False -slide_347,True,False,False -slide_348,True,False,False -slide_349,True,False,False -slide_350,True,False,False -slide_353,True,False,False -slide_354,True,False,False -slide_356,True,False,False -slide_358,True,False,False -slide_365,True,False,False -slide_366,True,False,False -slide_367,True,False,False -slide_368,True,False,False -slide_369,True,False,False -slide_371,True,False,False -slide_372,True,False,False -slide_373,True,False,False -slide_374,True,False,False -slide_39,True,False,False -slide_377,True,False,False -slide_380,True,False,False -slide_382,True,False,False -slide_383,True,False,False -slide_384,True,False,False -slide_385,True,False,False -slide_386,True,False,False -slide_387,True,False,False -slide_390,True,False,False -slide_393,True,False,False -slide_394,True,False,False -slide_395,True,False,False -slide_396,True,False,False -slide_397,True,False,False -slide_398,True,False,False -slide_400,True,False,False -slide_401,True,False,False -slide_402,True,False,False -slide_403,True,False,False -slide_404,True,False,False -slide_405,True,False,False -slide_409,True,False,False -slide_410,True,False,False -slide_411,True,False,False -slide_413,True,False,False -slide_416,True,False,False -slide_417,True,False,False -slide_419,True,False,False -slide_420,True,False,False -slide_421,True,False,False -slide_424,True,False,False -slide_426,True,False,False -slide_427,True,False,False -slide_44,True,False,False -slide_45,True,False,False -slide_430,True,False,False -slide_439,True,False,False -slide_0,True,False,False -slide_1,True,False,False -slide_2,True,False,False -slide_111,True,False,False -slide_115,True,False,False -slide_125,True,False,False -slide_126,True,False,False -slide_138,True,False,False -slide_140,True,False,False -slide_148,True,False,False -slide_149,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_163,True,False,False -slide_164,True,False,False -slide_169,True,False,False -slide_170,True,False,False -slide_178,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_189,True,False,False -slide_190,True,False,False -slide_191,True,False,False -slide_192,True,False,False -slide_22,True,False,False -slide_195,True,False,False -slide_196,True,False,False -slide_201,True,False,False -slide_23,True,False,False -slide_206,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_24,True,False,False -slide_219,True,False,False -slide_220,True,False,False -slide_238,True,False,False -slide_239,True,False,False -slide_241,True,False,False -slide_245,True,False,False -slide_246,True,False,False -slide_249,True,False,False -slide_262,True,False,False -slide_263,True,False,False -slide_264,True,False,False -slide_265,True,False,False -slide_269,True,False,False -slide_273,True,False,False -slide_30,True,False,False -slide_281,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_290,True,False,False -slide_295,True,False,False -slide_32,True,False,False -slide_302,True,False,False -slide_303,True,False,False -slide_304,True,False,False -slide_306,True,False,False -slide_33,True,False,False -slide_309,True,False,False -slide_310,True,False,False -slide_311,True,False,False -slide_34,True,False,False -slide_322,True,False,False -slide_325,True,False,False -slide_326,True,False,False -slide_36,True,False,False -slide_342,True,False,False -slide_344,True,False,False -slide_345,True,False,False -slide_346,True,False,False -slide_351,True,False,False -slide_37,True,False,False -slide_357,True,False,False -slide_38,True,False,False -slide_363,True,False,False -slide_364,True,False,False -slide_370,True,False,False -slide_381,True,False,False -slide_389,True,False,False -slide_391,True,False,False -slide_392,True,False,False -slide_41,True,False,False -slide_399,True,False,False -slide_412,True,False,False -slide_418,True,False,False -slide_43,True,False,False -slide_422,True,False,False -slide_425,True,False,False -slide_428,True,False,False -slide_432,True,False,False -slide_433,True,False,False -slide_434,True,False,False -slide_435,True,False,False -slide_436,True,False,False -slide_438,True,False,False -slide_440,True,False,False -slide_447,True,False,False -slide_449,True,False,False -slide_450,True,False,False -slide_451,True,False,False -slide_454,True,False,False -slide_457,True,False,False -slide_360,False,True,False -slide_121,False,True,False -slide_48,False,True,False -slide_352,False,True,False -slide_378,False,True,False -slide_379,False,True,False -slide_459,False,True,False -slide_166,False,True,False -slide_172,False,True,False -slide_17,False,True,False -slide_155,False,True,False -slide_35,False,True,False -slide_66,False,True,False -slide_242,False,True,False -slide_243,False,True,False -slide_179,False,True,False -slide_156,False,True,False -slide_157,False,True,False -slide_96,False,True,False -slide_336,False,True,False -slide_91,False,True,False -slide_445,False,True,False -slide_478,False,True,False -slide_109,False,True,False -slide_124,False,True,False -slide_298,False,True,False -slide_165,False,True,False -slide_250,False,True,False -slide_64,False,True,False -slide_65,False,True,False -slide_305,False,True,False -slide_223,False,True,False -slide_42,False,True,False -slide_296,False,True,False -slide_131,False,True,False -slide_203,False,True,False -slide_355,False,True,False -slide_147,False,True,False -slide_258,False,True,False -slide_291,False,True,False -slide_31,False,True,False -slide_266,False,True,False -slide_158,False,True,False -slide_159,False,True,False -slide_129,False,True,False -slide_444,False,True,False -slide_299,False,True,False -slide_361,False,True,False -slide_362,False,True,False -slide_86,False,True,False -slide_193,False,True,False -slide_406,False,False,True -slide_320,False,False,True -slide_376,False,False,True -slide_233,False,False,True -slide_194,False,False,True -slide_87,False,False,True -slide_67,False,False,True -slide_40,False,False,True -slide_359,False,False,True -slide_324,False,False,True -slide_423,False,False,True -slide_456,False,False,True -slide_476,False,False,True -slide_177,False,False,True -slide_496,False,False,True -slide_14,False,False,True -slide_332,False,False,True -slide_16,False,False,True -slide_237,False,False,True -slide_388,False,False,True -slide_491,False,False,True -slide_284,False,False,True -slide_142,False,False,True -slide_127,False,False,True -slide_77,False,False,True -slide_312,False,False,True -slide_431,False,False,True -slide_222,False,False,True -slide_106,False,False,True -slide_414,False,False,True -slide_415,False,False,True -slide_15,False,False,True -slide_375,False,False,True -slide_343,False,False,True -slide_407,False,False,True -slide_408,False,False,True -slide_338,False,False,True -slide_339,False,False,True -slide_429,False,False,True -slide_198,False,False,True -slide_437,False,False,True -slide_255,False,False,True -slide_441,False,False,True -slide_321,False,False,True -slide_69,False,False,True -slide_278,False,False,True -slide_279,False,False,True -slide_499,False,False,True -slide_453,False,False,True diff --git a/splits/task_1_tumor_vs_normal_75/splits_1_descriptor.csv b/splits/task_1_tumor_vs_normal_75/splits_1_descriptor.csv deleted file mode 100644 index 9f541366..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_1_descriptor.csv +++ /dev/null @@ -1,3 +0,0 @@ -,train,val,test -normal_tissue,211,36,34 -tumor_tissue,89,15,15 diff --git a/splits/task_1_tumor_vs_normal_75/splits_2.csv b/splits/task_1_tumor_vs_normal_75/splits_2.csv deleted file mode 100644 index 9a761dbd..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_2.csv +++ /dev/null @@ -1,302 +0,0 @@ -,train,val,test -0,slide_13,slide_373,slide_217 -1,slide_110,slide_42,slide_12 -2,slide_112,slide_274,slide_176 -3,slide_113,slide_275,slide_496 -4,slide_114,slide_383,slide_280 -5,slide_117,slide_377,slide_166 -6,slide_118,slide_44,slide_171 -7,slide_14,slide_45,slide_479 -8,slide_119,slide_287,slide_152 -9,slide_120,slide_122,slide_421 -10,slide_121,slide_105,slide_81 -11,slide_123,slide_134,slide_144 -12,slide_127,slide_382,slide_212 -13,slide_132,slide_497,slide_109 -14,slide_133,slide_124,slide_174 -15,slide_135,slide_179,slide_186 -16,slide_136,slide_347,slide_154 -17,slide_137,slide_369,slide_335 -18,slide_16,slide_234,slide_400 -19,slide_139,slide_489,slide_52 -20,slide_141,slide_490,slide_491 -21,slide_142,slide_252,slide_172 -22,slide_143,slide_296,slide_130 -23,slide_145,slide_394,slide_492 -24,slide_146,slide_401,slide_414 -25,slide_17,slide_151,slide_415 -26,slide_150,slide_229,slide_468 -27,slide_153,slide_356,slide_60 -28,slide_155,slide_397,slide_284 -29,slide_156,slide_358,slide_116 -30,slide_157,slide_253,slide_285 -31,slide_160,slide_254,slide_201 -32,slide_161,slide_430,slide_239 -33,slide_162,slide_128,slide_494 -34,slide_165,slide_203,slide_495 -35,slide_167,slide_425,slide_69 -36,slide_168,slide_370,slide_55 -37,slide_20,slide_434,slide_126 -38,slide_173,slide_435,slide_454 -39,slide_175,slide_432,slide_34 -40,slide_177,slide_433,slide_474 -41,slide_180,slide_206,slide_178 -42,slide_21,slide_138,slide_72 -43,slide_183,slide_485,slide_436 -44,slide_184,slide_486,slide_249 -45,slide_185,slide_322,slide_169 -46,slide_194,slide_346,slide_170 -47,slide_197,slide_164,slide_499 -48,slide_199,slide_61, -49,slide_200,slide_241, -50,slide_202,slide_453, -51,slide_204,slide_470, -52,slide_205,slide_471, -53,slide_207,, -54,slide_208,, -55,slide_209,, -56,slide_210,, -57,slide_211,, -58,slide_213,, -59,slide_214,, -60,slide_3,, -61,slide_4,, -62,slide_218,, -63,slide_221,, -64,slide_222,, -65,slide_223,, -66,slide_224,, -67,slide_225,, -68,slide_226,, -69,slide_227,, -70,slide_228,, -71,slide_25,, -72,slide_230,, -73,slide_231,, -74,slide_232,, -75,slide_233,, -76,slide_235,, -77,slide_236,, -78,slide_237,, -79,slide_26,, -80,slide_240,, -81,slide_242,, -82,slide_243,, -83,slide_244,, -84,slide_247,, -85,slide_248,, -86,slide_250,, -87,slide_251,, -88,slide_27,, -89,slide_256,, -90,slide_257,, -91,slide_259,, -92,slide_260,, -93,slide_261,, -94,slide_28,, -95,slide_29,, -96,slide_267,, -97,slide_268,, -98,slide_270,, -99,slide_271,, -100,slide_272,, -101,slide_276,, -102,slide_277,, -103,slide_286,, -104,slide_288,, -105,slide_289,, -106,slide_292,, -107,slide_293,, -108,slide_294,, -109,slide_297,, -110,slide_298,, -111,slide_300,, -112,slide_301,, -113,slide_305,, -114,slide_307,, -115,slide_308,, -116,slide_312,, -117,slide_313,, -118,slide_314,, -119,slide_315,, -120,slide_316,, -121,slide_317,, -122,slide_318,, -123,slide_319,, -124,slide_320,, -125,slide_323,, -126,slide_324,, -127,slide_327,, -128,slide_328,, -129,slide_5,, -130,slide_35,, -131,slide_329,, -132,slide_330,, -133,slide_331,, -134,slide_332,, -135,slide_333,, -136,slide_334,, -137,slide_336,, -138,slide_337,, -139,slide_340,, -140,slide_341,, -141,slide_348,, -142,slide_349,, -143,slide_350,, -144,slide_352,, -145,slide_353,, -146,slide_354,, -147,slide_359,, -148,slide_360,, -149,slide_365,, -150,slide_366,, -151,slide_367,, -152,slide_368,, -153,slide_371,, -154,slide_372,, -155,slide_374,, -156,slide_39,, -157,slide_376,, -158,slide_378,, -159,slide_379,, -160,slide_380,, -161,slide_384,, -162,slide_385,, -163,slide_40,, -164,slide_386,, -165,slide_387,, -166,slide_388,, -167,slide_390,, -168,slide_393,, -169,slide_395,, -170,slide_396,, -171,slide_398,, -172,slide_402,, -173,slide_403,, -174,slide_404,, -175,slide_405,, -176,slide_406,, -177,slide_409,, -178,slide_410,, -179,slide_411,, -180,slide_413,, -181,slide_416,, -182,slide_417,, -183,slide_419,, -184,slide_420,, -185,slide_423,, -186,slide_424,, -187,slide_426,, -188,slide_427,, -189,slide_431,, -190,slide_439,, -191,slide_6,, -192,slide_46,, -193,slide_442,, -194,slide_443,, -195,slide_0,, -196,slide_1,, -197,slide_2,, -198,slide_111,, -199,slide_115,, -200,slide_125,, -201,slide_15,, -202,slide_129,, -203,slide_131,, -204,slide_140,, -205,slide_147,, -206,slide_148,, -207,slide_149,, -208,slide_158,, -209,slide_159,, -210,slide_18,, -211,slide_19,, -212,slide_163,, -213,slide_181,, -214,slide_182,, -215,slide_187,, -216,slide_188,, -217,slide_189,, -218,slide_190,, -219,slide_191,, -220,slide_192,, -221,slide_193,, -222,slide_22,, -223,slide_195,, -224,slide_196,, -225,slide_198,, -226,slide_23,, -227,slide_215,, -228,slide_216,, -229,slide_24,, -230,slide_219,, -231,slide_220,, -232,slide_238,, -233,slide_245,, -234,slide_246,, -235,slide_255,, -236,slide_258,, -237,slide_262,, -238,slide_263,, -239,slide_264,, -240,slide_265,, -241,slide_266,, -242,slide_269,, -243,slide_273,, -244,slide_30,, -245,slide_278,, -246,slide_279,, -247,slide_281,, -248,slide_282,, -249,slide_283,, -250,slide_31,, -251,slide_290,, -252,slide_291,, -253,slide_295,, -254,slide_32,, -255,slide_299,, -256,slide_302,, -257,slide_303,, -258,slide_304,, -259,slide_306,, -260,slide_33,, -261,slide_309,, -262,slide_310,, -263,slide_311,, -264,slide_321,, -265,slide_325,, -266,slide_326,, -267,slide_338,, -268,slide_339,, -269,slide_36,, -270,slide_342,, -271,slide_343,, -272,slide_344,, -273,slide_345,, -274,slide_351,, -275,slide_37,, -276,slide_355,, -277,slide_357,, -278,slide_361,, -279,slide_362,, -280,slide_38,, -281,slide_363,, -282,slide_364,, -283,slide_375,, -284,slide_381,, -285,slide_389,, -286,slide_391,, -287,slide_392,, -288,slide_41,, -289,slide_399,, -290,slide_407,, -291,slide_408,, -292,slide_412,, -293,slide_418,, -294,slide_43,, -295,slide_422,, -296,slide_428,, -297,slide_429,, -298,slide_437,, -299,slide_438,, -300,slide_440,, diff --git a/splits/task_1_tumor_vs_normal_75/splits_2_bool.csv b/splits/task_1_tumor_vs_normal_75/splits_2_bool.csv deleted file mode 100644 index 1d26e083..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_2_bool.csv +++ /dev/null @@ -1,403 +0,0 @@ -,train,val,test -slide_13,True,False,False -slide_110,True,False,False -slide_112,True,False,False -slide_113,True,False,False -slide_114,True,False,False -slide_117,True,False,False -slide_118,True,False,False -slide_14,True,False,False -slide_119,True,False,False -slide_120,True,False,False -slide_121,True,False,False -slide_123,True,False,False -slide_127,True,False,False -slide_132,True,False,False -slide_133,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_137,True,False,False -slide_16,True,False,False -slide_139,True,False,False -slide_141,True,False,False -slide_142,True,False,False -slide_143,True,False,False -slide_145,True,False,False -slide_146,True,False,False -slide_17,True,False,False -slide_150,True,False,False -slide_153,True,False,False -slide_155,True,False,False -slide_156,True,False,False -slide_157,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_165,True,False,False -slide_167,True,False,False -slide_168,True,False,False -slide_20,True,False,False -slide_173,True,False,False -slide_175,True,False,False -slide_177,True,False,False -slide_180,True,False,False -slide_21,True,False,False -slide_183,True,False,False -slide_184,True,False,False -slide_185,True,False,False -slide_194,True,False,False -slide_197,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_202,True,False,False -slide_204,True,False,False -slide_205,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_209,True,False,False -slide_210,True,False,False -slide_211,True,False,False -slide_213,True,False,False -slide_214,True,False,False -slide_3,True,False,False -slide_4,True,False,False -slide_218,True,False,False -slide_221,True,False,False -slide_222,True,False,False -slide_223,True,False,False -slide_224,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_227,True,False,False -slide_228,True,False,False -slide_25,True,False,False -slide_230,True,False,False -slide_231,True,False,False -slide_232,True,False,False -slide_233,True,False,False -slide_235,True,False,False -slide_236,True,False,False -slide_237,True,False,False -slide_26,True,False,False -slide_240,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_244,True,False,False -slide_247,True,False,False -slide_248,True,False,False -slide_250,True,False,False -slide_251,True,False,False -slide_27,True,False,False -slide_256,True,False,False -slide_257,True,False,False -slide_259,True,False,False -slide_260,True,False,False -slide_261,True,False,False -slide_28,True,False,False -slide_29,True,False,False -slide_267,True,False,False -slide_268,True,False,False -slide_270,True,False,False -slide_271,True,False,False -slide_272,True,False,False -slide_276,True,False,False -slide_277,True,False,False -slide_286,True,False,False -slide_288,True,False,False -slide_289,True,False,False -slide_292,True,False,False -slide_293,True,False,False -slide_294,True,False,False -slide_297,True,False,False -slide_298,True,False,False -slide_300,True,False,False -slide_301,True,False,False -slide_305,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_312,True,False,False -slide_313,True,False,False -slide_314,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_317,True,False,False -slide_318,True,False,False -slide_319,True,False,False -slide_320,True,False,False -slide_323,True,False,False -slide_324,True,False,False -slide_327,True,False,False -slide_328,True,False,False -slide_5,True,False,False -slide_35,True,False,False -slide_329,True,False,False -slide_330,True,False,False -slide_331,True,False,False -slide_332,True,False,False -slide_333,True,False,False -slide_334,True,False,False -slide_336,True,False,False -slide_337,True,False,False -slide_340,True,False,False -slide_341,True,False,False -slide_348,True,False,False -slide_349,True,False,False -slide_350,True,False,False -slide_352,True,False,False -slide_353,True,False,False -slide_354,True,False,False -slide_359,True,False,False -slide_360,True,False,False -slide_365,True,False,False -slide_366,True,False,False -slide_367,True,False,False -slide_368,True,False,False -slide_371,True,False,False -slide_372,True,False,False -slide_374,True,False,False -slide_39,True,False,False -slide_376,True,False,False -slide_378,True,False,False -slide_379,True,False,False -slide_380,True,False,False -slide_384,True,False,False -slide_385,True,False,False -slide_40,True,False,False -slide_386,True,False,False -slide_387,True,False,False -slide_388,True,False,False -slide_390,True,False,False -slide_393,True,False,False -slide_395,True,False,False -slide_396,True,False,False -slide_398,True,False,False -slide_402,True,False,False -slide_403,True,False,False -slide_404,True,False,False -slide_405,True,False,False -slide_406,True,False,False -slide_409,True,False,False -slide_410,True,False,False -slide_411,True,False,False -slide_413,True,False,False -slide_416,True,False,False -slide_417,True,False,False -slide_419,True,False,False -slide_420,True,False,False -slide_423,True,False,False -slide_424,True,False,False -slide_426,True,False,False -slide_427,True,False,False -slide_431,True,False,False -slide_439,True,False,False -slide_6,True,False,False -slide_46,True,False,False -slide_442,True,False,False -slide_443,True,False,False -slide_0,True,False,False -slide_1,True,False,False -slide_2,True,False,False -slide_111,True,False,False -slide_115,True,False,False -slide_125,True,False,False -slide_15,True,False,False -slide_129,True,False,False -slide_131,True,False,False -slide_140,True,False,False -slide_147,True,False,False -slide_148,True,False,False -slide_149,True,False,False -slide_158,True,False,False -slide_159,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_163,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_189,True,False,False -slide_190,True,False,False -slide_191,True,False,False -slide_192,True,False,False -slide_193,True,False,False -slide_22,True,False,False -slide_195,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_23,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_24,True,False,False -slide_219,True,False,False -slide_220,True,False,False -slide_238,True,False,False -slide_245,True,False,False -slide_246,True,False,False -slide_255,True,False,False -slide_258,True,False,False -slide_262,True,False,False -slide_263,True,False,False -slide_264,True,False,False -slide_265,True,False,False -slide_266,True,False,False -slide_269,True,False,False -slide_273,True,False,False -slide_30,True,False,False -slide_278,True,False,False -slide_279,True,False,False -slide_281,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_31,True,False,False -slide_290,True,False,False -slide_291,True,False,False -slide_295,True,False,False -slide_32,True,False,False -slide_299,True,False,False -slide_302,True,False,False -slide_303,True,False,False -slide_304,True,False,False -slide_306,True,False,False -slide_33,True,False,False -slide_309,True,False,False -slide_310,True,False,False -slide_311,True,False,False -slide_321,True,False,False -slide_325,True,False,False -slide_326,True,False,False -slide_338,True,False,False -slide_339,True,False,False -slide_36,True,False,False -slide_342,True,False,False -slide_343,True,False,False -slide_344,True,False,False -slide_345,True,False,False -slide_351,True,False,False -slide_37,True,False,False -slide_355,True,False,False -slide_357,True,False,False -slide_361,True,False,False -slide_362,True,False,False -slide_38,True,False,False -slide_363,True,False,False -slide_364,True,False,False -slide_375,True,False,False -slide_381,True,False,False -slide_389,True,False,False -slide_391,True,False,False -slide_392,True,False,False -slide_41,True,False,False -slide_399,True,False,False -slide_407,True,False,False -slide_408,True,False,False -slide_412,True,False,False -slide_418,True,False,False -slide_43,True,False,False -slide_422,True,False,False -slide_428,True,False,False -slide_429,True,False,False -slide_437,True,False,False -slide_438,True,False,False -slide_440,True,False,False -slide_373,False,True,False -slide_42,False,True,False -slide_274,False,True,False -slide_275,False,True,False -slide_383,False,True,False -slide_377,False,True,False -slide_44,False,True,False -slide_45,False,True,False -slide_287,False,True,False -slide_122,False,True,False -slide_105,False,True,False -slide_134,False,True,False -slide_382,False,True,False -slide_497,False,True,False -slide_124,False,True,False -slide_179,False,True,False -slide_347,False,True,False -slide_369,False,True,False -slide_234,False,True,False -slide_489,False,True,False -slide_490,False,True,False -slide_252,False,True,False -slide_296,False,True,False -slide_394,False,True,False -slide_401,False,True,False -slide_151,False,True,False -slide_229,False,True,False -slide_356,False,True,False -slide_397,False,True,False -slide_358,False,True,False -slide_253,False,True,False -slide_254,False,True,False -slide_430,False,True,False -slide_128,False,True,False -slide_203,False,True,False -slide_425,False,True,False -slide_370,False,True,False -slide_434,False,True,False -slide_435,False,True,False -slide_432,False,True,False -slide_433,False,True,False -slide_206,False,True,False -slide_138,False,True,False -slide_485,False,True,False -slide_486,False,True,False -slide_322,False,True,False -slide_346,False,True,False -slide_164,False,True,False -slide_61,False,True,False -slide_241,False,True,False -slide_453,False,True,False -slide_470,False,True,False -slide_471,False,True,False -slide_217,False,False,True -slide_12,False,False,True -slide_176,False,False,True -slide_496,False,False,True -slide_280,False,False,True -slide_166,False,False,True -slide_171,False,False,True -slide_479,False,False,True -slide_152,False,False,True -slide_421,False,False,True -slide_81,False,False,True -slide_144,False,False,True -slide_212,False,False,True -slide_109,False,False,True -slide_174,False,False,True -slide_186,False,False,True -slide_154,False,False,True -slide_335,False,False,True -slide_400,False,False,True -slide_52,False,False,True -slide_491,False,False,True -slide_172,False,False,True -slide_130,False,False,True -slide_492,False,False,True -slide_414,False,False,True -slide_415,False,False,True -slide_468,False,False,True -slide_60,False,False,True -slide_284,False,False,True -slide_116,False,False,True -slide_285,False,False,True -slide_201,False,False,True -slide_239,False,False,True -slide_494,False,False,True -slide_495,False,False,True -slide_69,False,False,True -slide_55,False,False,True -slide_126,False,False,True -slide_454,False,False,True -slide_34,False,False,True -slide_474,False,False,True -slide_178,False,False,True -slide_72,False,False,True -slide_436,False,False,True -slide_249,False,False,True -slide_169,False,False,True -slide_170,False,False,True -slide_499,False,False,True diff --git a/splits/task_1_tumor_vs_normal_75/splits_2_descriptor.csv b/splits/task_1_tumor_vs_normal_75/splits_2_descriptor.csv deleted file mode 100644 index d88c12bb..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_2_descriptor.csv +++ /dev/null @@ -1,3 +0,0 @@ -,train,val,test -normal_tissue,212,38,32 -tumor_tissue,89,15,16 diff --git a/splits/task_1_tumor_vs_normal_75/splits_3.csv b/splits/task_1_tumor_vs_normal_75/splits_3.csv deleted file mode 100644 index 9814944d..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_3.csv +++ /dev/null @@ -1,296 +0,0 @@ -,train,val,test -0,slide_13,slide_226,slide_117 -1,slide_112,slide_227,slide_398 -2,slide_113,slide_332,slide_42 -3,slide_114,slide_385,slide_221 -4,slide_116,slide_142,slide_94 -5,slide_14,slide_20,slide_179 -6,slide_121,slide_261,slide_79 -7,slide_122,slide_132,slide_268 -8,slide_123,slide_404,slide_260 -9,slide_124,slide_452,slide_497 -10,slide_128,slide_109,slide_110 -11,slide_130,slide_167,slide_459 -12,slide_134,slide_267,slide_327 -13,slide_135,slide_100,slide_56 -14,slide_137,slide_349,slide_456 -15,slide_16,slide_350,slide_358 -16,slide_141,slide_256,slide_382 -17,slide_143,slide_166,slide_476 -18,slide_144,slide_82,slide_421 -19,slide_145,slide_247,slide_81 -20,slide_146,slide_248,slide_491 -21,slide_17,slide_378,slide_12 -22,slide_150,slide_379,slide_127 -23,slide_151,slide_119,slide_200 -24,slide_152,slide_480,slide_136 -25,slide_153,slide_120,slide_347 -26,slide_154,slide_376,slide_118 -27,slide_155,slide_133,slide_99 -28,slide_156,slide_403,slide_270 -29,slide_157,slide_199,slide_341 -30,slide_160,slide_445,slide_115 -31,slide_161,slide_44,slide_282 -32,slide_162,slide_45,slide_283 -33,slide_165,slide_139,slide_290 -34,slide_168,slide_371,slide_190 -35,slide_171,slide_372,slide_255 -36,slide_172,slide_309,slide_125 -37,slide_173,slide_310,slide_181 -38,slide_174,slide_191,slide_15 -39,slide_175,slide_192,slide_436 -40,slide_176,slide_291,slide_375 -41,slide_177,slide_487,slide_499 -42,slide_180,slide_488,slide_215 -43,slide_21,slide_338,slide_216 -44,slide_183,slide_339,slide_381 -45,slide_184,slide_22,slide_169 -46,slide_185,slide_9,slide_170 -47,slide_186,slide_10,slide_351 -48,slide_194,slide_475, -49,slide_197,slide_453, -50,slide_202,slide_219, -51,slide_204,slide_220, -52,slide_205,slide_30, -53,slide_207,slide_93, -54,slide_208,slide_32, -55,slide_209,slide_263, -56,slide_210,slide_158, -57,slide_211,slide_159, -58,slide_212,, -59,slide_213,, -60,slide_214,, -61,slide_217,, -62,slide_3,, -63,slide_4,, -64,slide_218,, -65,slide_222,, -66,slide_223,, -67,slide_224,, -68,slide_225,, -69,slide_228,, -70,slide_229,, -71,slide_25,, -72,slide_230,, -73,slide_231,, -74,slide_232,, -75,slide_233,, -76,slide_234,, -77,slide_235,, -78,slide_236,, -79,slide_237,, -80,slide_26,, -81,slide_240,, -82,slide_242,, -83,slide_243,, -84,slide_244,, -85,slide_250,, -86,slide_251,, -87,slide_252,, -88,slide_27,, -89,slide_253,, -90,slide_254,, -91,slide_257,, -92,slide_259,, -93,slide_28,, -94,slide_29,, -95,slide_271,, -96,slide_272,, -97,slide_274,, -98,slide_275,, -99,slide_276,, -100,slide_277,, -101,slide_280,, -102,slide_284,, -103,slide_285,, -104,slide_286,, -105,slide_287,, -106,slide_288,, -107,slide_289,, -108,slide_292,, -109,slide_293,, -110,slide_294,, -111,slide_296,, -112,slide_297,, -113,slide_298,, -114,slide_300,, -115,slide_301,, -116,slide_305,, -117,slide_307,, -118,slide_308,, -119,slide_312,, -120,slide_313,, -121,slide_314,, -122,slide_315,, -123,slide_316,, -124,slide_317,, -125,slide_318,, -126,slide_319,, -127,slide_320,, -128,slide_323,, -129,slide_324,, -130,slide_328,, -131,slide_5,, -132,slide_35,, -133,slide_329,, -134,slide_330,, -135,slide_331,, -136,slide_333,, -137,slide_334,, -138,slide_335,, -139,slide_336,, -140,slide_337,, -141,slide_340,, -142,slide_348,, -143,slide_352,, -144,slide_353,, -145,slide_354,, -146,slide_356,, -147,slide_359,, -148,slide_360,, -149,slide_365,, -150,slide_366,, -151,slide_367,, -152,slide_368,, -153,slide_369,, -154,slide_373,, -155,slide_374,, -156,slide_39,, -157,slide_377,, -158,slide_380,, -159,slide_383,, -160,slide_384,, -161,slide_40,, -162,slide_386,, -163,slide_387,, -164,slide_388,, -165,slide_390,, -166,slide_393,, -167,slide_394,, -168,slide_395,, -169,slide_396,, -170,slide_397,, -171,slide_400,, -172,slide_401,, -173,slide_402,, -174,slide_405,, -175,slide_406,, -176,slide_409,, -177,slide_410,, -178,slide_411,, -179,slide_413,, -180,slide_414,, -181,slide_415,, -182,slide_416,, -183,slide_417,, -184,slide_419,, -185,slide_420,, -186,slide_423,, -187,slide_424,, -188,slide_426,, -189,slide_427,, -190,slide_430,, -191,slide_431,, -192,slide_439,, -193,slide_0,, -194,slide_1,, -195,slide_2,, -196,slide_111,, -197,slide_126,, -198,slide_129,, -199,slide_131,, -200,slide_138,, -201,slide_140,, -202,slide_147,, -203,slide_148,, -204,slide_149,, -205,slide_18,, -206,slide_19,, -207,slide_163,, -208,slide_164,, -209,slide_178,, -210,slide_182,, -211,slide_187,, -212,slide_188,, -213,slide_189,, -214,slide_193,, -215,slide_195,, -216,slide_196,, -217,slide_198,, -218,slide_201,, -219,slide_203,, -220,slide_23,, -221,slide_206,, -222,slide_24,, -223,slide_238,, -224,slide_239,, -225,slide_241,, -226,slide_245,, -227,slide_246,, -228,slide_249,, -229,slide_258,, -230,slide_262,, -231,slide_264,, -232,slide_265,, -233,slide_266,, -234,slide_269,, -235,slide_273,, -236,slide_278,, -237,slide_279,, -238,slide_281,, -239,slide_31,, -240,slide_295,, -241,slide_299,, -242,slide_302,, -243,slide_303,, -244,slide_304,, -245,slide_306,, -246,slide_33,, -247,slide_311,, -248,slide_34,, -249,slide_321,, -250,slide_322,, -251,slide_325,, -252,slide_326,, -253,slide_36,, -254,slide_342,, -255,slide_343,, -256,slide_344,, -257,slide_345,, -258,slide_346,, -259,slide_37,, -260,slide_355,, -261,slide_357,, -262,slide_361,, -263,slide_362,, -264,slide_38,, -265,slide_363,, -266,slide_364,, -267,slide_370,, -268,slide_389,, -269,slide_391,, -270,slide_392,, -271,slide_41,, -272,slide_399,, -273,slide_407,, -274,slide_408,, -275,slide_412,, -276,slide_418,, -277,slide_43,, -278,slide_422,, -279,slide_425,, -280,slide_428,, -281,slide_429,, -282,slide_432,, -283,slide_433,, -284,slide_434,, -285,slide_435,, -286,slide_437,, -287,slide_438,, -288,slide_440,, -289,slide_441,, -290,slide_444,, -291,slide_447,, -292,slide_449,, -293,slide_450,, -294,slide_451,, diff --git a/splits/task_1_tumor_vs_normal_75/splits_3_bool.csv b/splits/task_1_tumor_vs_normal_75/splits_3_bool.csv deleted file mode 100644 index 750d27e8..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_3_bool.csv +++ /dev/null @@ -1,402 +0,0 @@ -,train,val,test -slide_13,True,False,False -slide_112,True,False,False -slide_113,True,False,False -slide_114,True,False,False -slide_116,True,False,False -slide_14,True,False,False -slide_121,True,False,False -slide_122,True,False,False -slide_123,True,False,False -slide_124,True,False,False -slide_128,True,False,False -slide_130,True,False,False -slide_134,True,False,False -slide_135,True,False,False -slide_137,True,False,False -slide_16,True,False,False -slide_141,True,False,False -slide_143,True,False,False -slide_144,True,False,False -slide_145,True,False,False -slide_146,True,False,False -slide_17,True,False,False -slide_150,True,False,False -slide_151,True,False,False -slide_152,True,False,False -slide_153,True,False,False -slide_154,True,False,False -slide_155,True,False,False -slide_156,True,False,False -slide_157,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_165,True,False,False -slide_168,True,False,False -slide_171,True,False,False -slide_172,True,False,False -slide_173,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_177,True,False,False -slide_180,True,False,False -slide_21,True,False,False -slide_183,True,False,False -slide_184,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_194,True,False,False -slide_197,True,False,False -slide_202,True,False,False -slide_204,True,False,False -slide_205,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_209,True,False,False -slide_210,True,False,False -slide_211,True,False,False -slide_212,True,False,False -slide_213,True,False,False -slide_214,True,False,False -slide_217,True,False,False -slide_3,True,False,False -slide_4,True,False,False -slide_218,True,False,False -slide_222,True,False,False -slide_223,True,False,False -slide_224,True,False,False -slide_225,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_25,True,False,False -slide_230,True,False,False -slide_231,True,False,False -slide_232,True,False,False -slide_233,True,False,False -slide_234,True,False,False -slide_235,True,False,False -slide_236,True,False,False -slide_237,True,False,False -slide_26,True,False,False -slide_240,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_244,True,False,False -slide_250,True,False,False -slide_251,True,False,False -slide_252,True,False,False -slide_27,True,False,False -slide_253,True,False,False -slide_254,True,False,False -slide_257,True,False,False -slide_259,True,False,False -slide_28,True,False,False -slide_29,True,False,False -slide_271,True,False,False -slide_272,True,False,False -slide_274,True,False,False -slide_275,True,False,False -slide_276,True,False,False -slide_277,True,False,False -slide_280,True,False,False -slide_284,True,False,False -slide_285,True,False,False -slide_286,True,False,False -slide_287,True,False,False -slide_288,True,False,False -slide_289,True,False,False -slide_292,True,False,False -slide_293,True,False,False -slide_294,True,False,False -slide_296,True,False,False -slide_297,True,False,False -slide_298,True,False,False -slide_300,True,False,False -slide_301,True,False,False -slide_305,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_312,True,False,False -slide_313,True,False,False -slide_314,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_317,True,False,False -slide_318,True,False,False -slide_319,True,False,False -slide_320,True,False,False -slide_323,True,False,False -slide_324,True,False,False -slide_328,True,False,False -slide_5,True,False,False -slide_35,True,False,False -slide_329,True,False,False -slide_330,True,False,False -slide_331,True,False,False -slide_333,True,False,False -slide_334,True,False,False -slide_335,True,False,False -slide_336,True,False,False -slide_337,True,False,False -slide_340,True,False,False -slide_348,True,False,False -slide_352,True,False,False -slide_353,True,False,False -slide_354,True,False,False -slide_356,True,False,False -slide_359,True,False,False -slide_360,True,False,False -slide_365,True,False,False -slide_366,True,False,False -slide_367,True,False,False -slide_368,True,False,False -slide_369,True,False,False -slide_373,True,False,False -slide_374,True,False,False -slide_39,True,False,False -slide_377,True,False,False -slide_380,True,False,False -slide_383,True,False,False -slide_384,True,False,False -slide_40,True,False,False -slide_386,True,False,False -slide_387,True,False,False -slide_388,True,False,False -slide_390,True,False,False -slide_393,True,False,False -slide_394,True,False,False -slide_395,True,False,False -slide_396,True,False,False -slide_397,True,False,False -slide_400,True,False,False -slide_401,True,False,False -slide_402,True,False,False -slide_405,True,False,False -slide_406,True,False,False -slide_409,True,False,False -slide_410,True,False,False -slide_411,True,False,False -slide_413,True,False,False -slide_414,True,False,False -slide_415,True,False,False -slide_416,True,False,False -slide_417,True,False,False -slide_419,True,False,False -slide_420,True,False,False -slide_423,True,False,False -slide_424,True,False,False -slide_426,True,False,False -slide_427,True,False,False -slide_430,True,False,False -slide_431,True,False,False -slide_439,True,False,False -slide_0,True,False,False -slide_1,True,False,False -slide_2,True,False,False -slide_111,True,False,False -slide_126,True,False,False -slide_129,True,False,False -slide_131,True,False,False -slide_138,True,False,False -slide_140,True,False,False -slide_147,True,False,False -slide_148,True,False,False -slide_149,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_163,True,False,False -slide_164,True,False,False -slide_178,True,False,False -slide_182,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_189,True,False,False -slide_193,True,False,False -slide_195,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_201,True,False,False -slide_203,True,False,False -slide_23,True,False,False -slide_206,True,False,False -slide_24,True,False,False -slide_238,True,False,False -slide_239,True,False,False -slide_241,True,False,False -slide_245,True,False,False -slide_246,True,False,False -slide_249,True,False,False -slide_258,True,False,False -slide_262,True,False,False -slide_264,True,False,False -slide_265,True,False,False -slide_266,True,False,False -slide_269,True,False,False -slide_273,True,False,False -slide_278,True,False,False -slide_279,True,False,False -slide_281,True,False,False -slide_31,True,False,False -slide_295,True,False,False -slide_299,True,False,False -slide_302,True,False,False -slide_303,True,False,False -slide_304,True,False,False -slide_306,True,False,False -slide_33,True,False,False -slide_311,True,False,False -slide_34,True,False,False -slide_321,True,False,False -slide_322,True,False,False -slide_325,True,False,False -slide_326,True,False,False -slide_36,True,False,False -slide_342,True,False,False -slide_343,True,False,False -slide_344,True,False,False -slide_345,True,False,False -slide_346,True,False,False -slide_37,True,False,False -slide_355,True,False,False -slide_357,True,False,False -slide_361,True,False,False -slide_362,True,False,False -slide_38,True,False,False -slide_363,True,False,False -slide_364,True,False,False -slide_370,True,False,False -slide_389,True,False,False -slide_391,True,False,False -slide_392,True,False,False -slide_41,True,False,False -slide_399,True,False,False -slide_407,True,False,False -slide_408,True,False,False -slide_412,True,False,False -slide_418,True,False,False -slide_43,True,False,False -slide_422,True,False,False -slide_425,True,False,False -slide_428,True,False,False -slide_429,True,False,False -slide_432,True,False,False -slide_433,True,False,False -slide_434,True,False,False -slide_435,True,False,False -slide_437,True,False,False -slide_438,True,False,False -slide_440,True,False,False -slide_441,True,False,False -slide_444,True,False,False -slide_447,True,False,False -slide_449,True,False,False -slide_450,True,False,False -slide_451,True,False,False -slide_226,False,True,False -slide_227,False,True,False -slide_332,False,True,False -slide_385,False,True,False -slide_142,False,True,False -slide_20,False,True,False -slide_261,False,True,False -slide_132,False,True,False -slide_404,False,True,False -slide_452,False,True,False -slide_109,False,True,False -slide_167,False,True,False -slide_267,False,True,False -slide_100,False,True,False -slide_349,False,True,False -slide_350,False,True,False -slide_256,False,True,False -slide_166,False,True,False -slide_82,False,True,False -slide_247,False,True,False -slide_248,False,True,False -slide_378,False,True,False -slide_379,False,True,False -slide_119,False,True,False -slide_480,False,True,False -slide_120,False,True,False -slide_376,False,True,False -slide_133,False,True,False -slide_403,False,True,False -slide_199,False,True,False -slide_445,False,True,False -slide_44,False,True,False -slide_45,False,True,False -slide_139,False,True,False -slide_371,False,True,False -slide_372,False,True,False -slide_309,False,True,False -slide_310,False,True,False -slide_191,False,True,False -slide_192,False,True,False -slide_291,False,True,False -slide_487,False,True,False -slide_488,False,True,False -slide_338,False,True,False -slide_339,False,True,False -slide_22,False,True,False -slide_9,False,True,False -slide_10,False,True,False -slide_475,False,True,False -slide_453,False,True,False -slide_219,False,True,False -slide_220,False,True,False -slide_30,False,True,False -slide_93,False,True,False -slide_32,False,True,False -slide_263,False,True,False -slide_158,False,True,False -slide_159,False,True,False -slide_117,False,False,True -slide_398,False,False,True -slide_42,False,False,True -slide_221,False,False,True -slide_94,False,False,True -slide_179,False,False,True -slide_79,False,False,True -slide_268,False,False,True -slide_260,False,False,True -slide_497,False,False,True -slide_110,False,False,True -slide_459,False,False,True -slide_327,False,False,True -slide_56,False,False,True -slide_456,False,False,True -slide_358,False,False,True -slide_382,False,False,True -slide_476,False,False,True -slide_421,False,False,True -slide_81,False,False,True -slide_491,False,False,True -slide_12,False,False,True -slide_127,False,False,True -slide_200,False,False,True -slide_136,False,False,True -slide_347,False,False,True -slide_118,False,False,True -slide_99,False,False,True -slide_270,False,False,True -slide_341,False,False,True -slide_115,False,False,True -slide_282,False,False,True -slide_283,False,False,True -slide_290,False,False,True -slide_190,False,False,True -slide_255,False,False,True -slide_125,False,False,True -slide_181,False,False,True -slide_15,False,False,True -slide_436,False,False,True -slide_375,False,False,True -slide_499,False,False,True -slide_215,False,False,True -slide_216,False,False,True -slide_381,False,False,True -slide_169,False,False,True -slide_170,False,False,True -slide_351,False,False,True diff --git a/splits/task_1_tumor_vs_normal_75/splits_3_descriptor.csv b/splits/task_1_tumor_vs_normal_75/splits_3_descriptor.csv deleted file mode 100644 index 2c207391..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_3_descriptor.csv +++ /dev/null @@ -1,3 +0,0 @@ -,train,val,test -normal_tissue,206,42,33 -tumor_tissue,89,16,15 diff --git a/splits/task_1_tumor_vs_normal_75/splits_4.csv b/splits/task_1_tumor_vs_normal_75/splits_4.csv deleted file mode 100644 index 7411fb99..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_4.csv +++ /dev/null @@ -1,304 +0,0 @@ -,train,val,test -0,slide_13,slide_52,slide_301 -1,slide_109,slide_439,slide_288 -2,slide_110,slide_277,slide_271 -3,slide_113,slide_81,slide_90 -4,slide_114,slide_358,slide_135 -5,slide_116,slide_128,slide_174 -6,slide_117,slide_177,slide_334 -7,slide_118,slide_98,slide_462 -8,slide_14,slide_421,slide_226 -9,slide_120,slide_58,slide_227 -10,slide_121,slide_179,slide_50 -11,slide_123,slide_236,slide_387 -12,slide_124,slide_144,slide_270 -13,slide_127,slide_404,slide_70 -14,slide_130,slide_232,slide_312 -15,slide_132,slide_240,slide_385 -16,slide_133,slide_221,slide_112 -17,slide_134,slide_259,slide_423 -18,slide_137,slide_96,slide_25 -19,slide_16,slide_308,slide_359 -20,slide_139,slide_136,slide_119 -21,slide_141,slide_383,slide_165 -22,slide_142,slide_298,slide_74 -23,slide_143,slide_160,slide_122 -24,slide_145,slide_384,slide_452 -25,slide_146,slide_400,slide_396 -26,slide_17,slide_380,slide_53 -27,slide_150,slide_376,slide_289 -28,slide_151,slide_329,slide_373 -29,slide_152,slide_319,slide_354 -30,slide_153,slide_195,slide_257 -31,slide_154,slide_196,slide_103 -32,slide_155,slide_481,slide_447 -33,slide_156,slide_482,slide_169 -34,slide_157,slide_9,slide_170 -35,slide_161,slide_10,slide_239 -36,slide_162,slide_125,slide_454 -37,slide_166,slide_188,slide_140 -38,slide_167,slide_63,slide_338 -39,slide_168,slide_86,slide_339 -40,slide_171,slide_303,slide_55 -41,slide_172,slide_193,slide_399 -42,slide_20,slide_391,slide_38 -43,slide_173,slide_392,slide_269 -44,slide_175,slide_344,slide_238 -45,slide_176,slide_457,slide_351 -46,slide_180,slide_346,slide_115 -47,slide_21,slide_201,slide_451 -48,slide_183,slide_375, -49,slide_184,, -50,slide_185,, -51,slide_186,, -52,slide_194,, -53,slide_197,, -54,slide_199,, -55,slide_200,, -56,slide_202,, -57,slide_204,, -58,slide_205,, -59,slide_207,, -60,slide_208,, -61,slide_209,, -62,slide_210,, -63,slide_211,, -64,slide_212,, -65,slide_213,, -66,slide_214,, -67,slide_217,, -68,slide_3,, -69,slide_4,, -70,slide_218,, -71,slide_222,, -72,slide_223,, -73,slide_224,, -74,slide_225,, -75,slide_228,, -76,slide_229,, -77,slide_230,, -78,slide_231,, -79,slide_233,, -80,slide_234,, -81,slide_235,, -82,slide_237,, -83,slide_26,, -84,slide_242,, -85,slide_243,, -86,slide_244,, -87,slide_247,, -88,slide_248,, -89,slide_250,, -90,slide_251,, -91,slide_252,, -92,slide_27,, -93,slide_253,, -94,slide_254,, -95,slide_256,, -96,slide_260,, -97,slide_261,, -98,slide_28,, -99,slide_29,, -100,slide_267,, -101,slide_268,, -102,slide_272,, -103,slide_274,, -104,slide_275,, -105,slide_276,, -106,slide_280,, -107,slide_284,, -108,slide_285,, -109,slide_286,, -110,slide_287,, -111,slide_292,, -112,slide_293,, -113,slide_294,, -114,slide_296,, -115,slide_297,, -116,slide_300,, -117,slide_305,, -118,slide_307,, -119,slide_313,, -120,slide_314,, -121,slide_315,, -122,slide_316,, -123,slide_317,, -124,slide_318,, -125,slide_320,, -126,slide_323,, -127,slide_324,, -128,slide_327,, -129,slide_328,, -130,slide_5,, -131,slide_35,, -132,slide_330,, -133,slide_331,, -134,slide_332,, -135,slide_333,, -136,slide_335,, -137,slide_336,, -138,slide_337,, -139,slide_340,, -140,slide_341,, -141,slide_347,, -142,slide_348,, -143,slide_349,, -144,slide_350,, -145,slide_352,, -146,slide_353,, -147,slide_356,, -148,slide_360,, -149,slide_365,, -150,slide_366,, -151,slide_367,, -152,slide_368,, -153,slide_369,, -154,slide_371,, -155,slide_372,, -156,slide_374,, -157,slide_39,, -158,slide_377,, -159,slide_378,, -160,slide_379,, -161,slide_382,, -162,slide_40,, -163,slide_386,, -164,slide_388,, -165,slide_390,, -166,slide_393,, -167,slide_394,, -168,slide_395,, -169,slide_397,, -170,slide_398,, -171,slide_401,, -172,slide_402,, -173,slide_403,, -174,slide_405,, -175,slide_406,, -176,slide_42,, -177,slide_409,, -178,slide_410,, -179,slide_411,, -180,slide_413,, -181,slide_414,, -182,slide_415,, -183,slide_416,, -184,slide_417,, -185,slide_419,, -186,slide_420,, -187,slide_424,, -188,slide_426,, -189,slide_427,, -190,slide_44,, -191,slide_45,, -192,slide_430,, -193,slide_431,, -194,slide_6,, -195,slide_46,, -196,slide_442,, -197,slide_443,, -198,slide_0,, -199,slide_1,, -200,slide_2,, -201,slide_111,, -202,slide_126,, -203,slide_15,, -204,slide_129,, -205,slide_131,, -206,slide_138,, -207,slide_147,, -208,slide_148,, -209,slide_149,, -210,slide_158,, -211,slide_159,, -212,slide_18,, -213,slide_19,, -214,slide_163,, -215,slide_164,, -216,slide_178,, -217,slide_181,, -218,slide_182,, -219,slide_187,, -220,slide_189,, -221,slide_190,, -222,slide_191,, -223,slide_192,, -224,slide_22,, -225,slide_198,, -226,slide_203,, -227,slide_23,, -228,slide_206,, -229,slide_215,, -230,slide_216,, -231,slide_24,, -232,slide_219,, -233,slide_220,, -234,slide_241,, -235,slide_245,, -236,slide_246,, -237,slide_249,, -238,slide_255,, -239,slide_258,, -240,slide_262,, -241,slide_263,, -242,slide_264,, -243,slide_265,, -244,slide_266,, -245,slide_273,, -246,slide_30,, -247,slide_278,, -248,slide_279,, -249,slide_281,, -250,slide_282,, -251,slide_283,, -252,slide_31,, -253,slide_290,, -254,slide_291,, -255,slide_295,, -256,slide_32,, -257,slide_299,, -258,slide_302,, -259,slide_304,, -260,slide_306,, -261,slide_33,, -262,slide_309,, -263,slide_310,, -264,slide_311,, -265,slide_34,, -266,slide_321,, -267,slide_322,, -268,slide_325,, -269,slide_326,, -270,slide_36,, -271,slide_342,, -272,slide_343,, -273,slide_345,, -274,slide_37,, -275,slide_355,, -276,slide_357,, -277,slide_361,, -278,slide_362,, -279,slide_363,, -280,slide_364,, -281,slide_370,, -282,slide_381,, -283,slide_389,, -284,slide_41,, -285,slide_407,, -286,slide_408,, -287,slide_412,, -288,slide_418,, -289,slide_43,, -290,slide_422,, -291,slide_425,, -292,slide_428,, -293,slide_429,, -294,slide_432,, -295,slide_433,, -296,slide_434,, -297,slide_435,, -298,slide_436,, -299,slide_437,, -300,slide_438,, -301,slide_440,, -302,slide_441,, diff --git a/splits/task_1_tumor_vs_normal_75/splits_4_bool.csv b/splits/task_1_tumor_vs_normal_75/splits_4_bool.csv deleted file mode 100644 index 13fde041..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_4_bool.csv +++ /dev/null @@ -1,401 +0,0 @@ -,train,val,test -slide_13,True,False,False -slide_109,True,False,False -slide_110,True,False,False -slide_113,True,False,False -slide_114,True,False,False -slide_116,True,False,False -slide_117,True,False,False -slide_118,True,False,False -slide_14,True,False,False -slide_120,True,False,False -slide_121,True,False,False -slide_123,True,False,False -slide_124,True,False,False -slide_127,True,False,False -slide_130,True,False,False -slide_132,True,False,False -slide_133,True,False,False -slide_134,True,False,False -slide_137,True,False,False -slide_16,True,False,False -slide_139,True,False,False -slide_141,True,False,False -slide_142,True,False,False -slide_143,True,False,False -slide_145,True,False,False -slide_146,True,False,False -slide_17,True,False,False -slide_150,True,False,False -slide_151,True,False,False -slide_152,True,False,False -slide_153,True,False,False -slide_154,True,False,False -slide_155,True,False,False -slide_156,True,False,False -slide_157,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_166,True,False,False -slide_167,True,False,False -slide_168,True,False,False -slide_171,True,False,False -slide_172,True,False,False -slide_20,True,False,False -slide_173,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_180,True,False,False -slide_21,True,False,False -slide_183,True,False,False -slide_184,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_194,True,False,False -slide_197,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_202,True,False,False -slide_204,True,False,False -slide_205,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_209,True,False,False -slide_210,True,False,False -slide_211,True,False,False -slide_212,True,False,False -slide_213,True,False,False -slide_214,True,False,False -slide_217,True,False,False -slide_3,True,False,False -slide_4,True,False,False -slide_218,True,False,False -slide_222,True,False,False -slide_223,True,False,False -slide_224,True,False,False -slide_225,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_230,True,False,False -slide_231,True,False,False -slide_233,True,False,False -slide_234,True,False,False -slide_235,True,False,False -slide_237,True,False,False -slide_26,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_244,True,False,False -slide_247,True,False,False -slide_248,True,False,False -slide_250,True,False,False -slide_251,True,False,False -slide_252,True,False,False -slide_27,True,False,False -slide_253,True,False,False -slide_254,True,False,False -slide_256,True,False,False -slide_260,True,False,False -slide_261,True,False,False -slide_28,True,False,False -slide_29,True,False,False -slide_267,True,False,False -slide_268,True,False,False -slide_272,True,False,False -slide_274,True,False,False -slide_275,True,False,False -slide_276,True,False,False -slide_280,True,False,False -slide_284,True,False,False -slide_285,True,False,False -slide_286,True,False,False -slide_287,True,False,False -slide_292,True,False,False -slide_293,True,False,False -slide_294,True,False,False -slide_296,True,False,False -slide_297,True,False,False -slide_300,True,False,False -slide_305,True,False,False -slide_307,True,False,False -slide_313,True,False,False -slide_314,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_317,True,False,False -slide_318,True,False,False -slide_320,True,False,False -slide_323,True,False,False -slide_324,True,False,False -slide_327,True,False,False -slide_328,True,False,False -slide_5,True,False,False -slide_35,True,False,False -slide_330,True,False,False -slide_331,True,False,False -slide_332,True,False,False -slide_333,True,False,False -slide_335,True,False,False -slide_336,True,False,False -slide_337,True,False,False -slide_340,True,False,False -slide_341,True,False,False -slide_347,True,False,False -slide_348,True,False,False -slide_349,True,False,False -slide_350,True,False,False -slide_352,True,False,False -slide_353,True,False,False -slide_356,True,False,False -slide_360,True,False,False -slide_365,True,False,False -slide_366,True,False,False -slide_367,True,False,False -slide_368,True,False,False -slide_369,True,False,False -slide_371,True,False,False -slide_372,True,False,False -slide_374,True,False,False -slide_39,True,False,False -slide_377,True,False,False -slide_378,True,False,False -slide_379,True,False,False -slide_382,True,False,False -slide_40,True,False,False -slide_386,True,False,False -slide_388,True,False,False -slide_390,True,False,False -slide_393,True,False,False -slide_394,True,False,False -slide_395,True,False,False -slide_397,True,False,False -slide_398,True,False,False -slide_401,True,False,False -slide_402,True,False,False -slide_403,True,False,False -slide_405,True,False,False -slide_406,True,False,False -slide_42,True,False,False -slide_409,True,False,False -slide_410,True,False,False -slide_411,True,False,False -slide_413,True,False,False -slide_414,True,False,False -slide_415,True,False,False -slide_416,True,False,False -slide_417,True,False,False -slide_419,True,False,False -slide_420,True,False,False -slide_424,True,False,False -slide_426,True,False,False -slide_427,True,False,False -slide_44,True,False,False -slide_45,True,False,False -slide_430,True,False,False -slide_431,True,False,False -slide_6,True,False,False -slide_46,True,False,False -slide_442,True,False,False -slide_443,True,False,False -slide_0,True,False,False -slide_1,True,False,False -slide_2,True,False,False -slide_111,True,False,False -slide_126,True,False,False -slide_15,True,False,False -slide_129,True,False,False -slide_131,True,False,False -slide_138,True,False,False -slide_147,True,False,False -slide_148,True,False,False -slide_149,True,False,False -slide_158,True,False,False -slide_159,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_163,True,False,False -slide_164,True,False,False -slide_178,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_187,True,False,False -slide_189,True,False,False -slide_190,True,False,False -slide_191,True,False,False -slide_192,True,False,False -slide_22,True,False,False -slide_198,True,False,False -slide_203,True,False,False -slide_23,True,False,False -slide_206,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_24,True,False,False -slide_219,True,False,False -slide_220,True,False,False -slide_241,True,False,False -slide_245,True,False,False -slide_246,True,False,False -slide_249,True,False,False -slide_255,True,False,False -slide_258,True,False,False -slide_262,True,False,False -slide_263,True,False,False -slide_264,True,False,False -slide_265,True,False,False -slide_266,True,False,False -slide_273,True,False,False -slide_30,True,False,False -slide_278,True,False,False -slide_279,True,False,False -slide_281,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_31,True,False,False -slide_290,True,False,False -slide_291,True,False,False -slide_295,True,False,False -slide_32,True,False,False -slide_299,True,False,False -slide_302,True,False,False -slide_304,True,False,False -slide_306,True,False,False -slide_33,True,False,False -slide_309,True,False,False -slide_310,True,False,False -slide_311,True,False,False -slide_34,True,False,False -slide_321,True,False,False -slide_322,True,False,False -slide_325,True,False,False -slide_326,True,False,False -slide_36,True,False,False -slide_342,True,False,False -slide_343,True,False,False -slide_345,True,False,False -slide_37,True,False,False -slide_355,True,False,False -slide_357,True,False,False -slide_361,True,False,False -slide_362,True,False,False -slide_363,True,False,False -slide_364,True,False,False -slide_370,True,False,False -slide_381,True,False,False -slide_389,True,False,False -slide_41,True,False,False -slide_407,True,False,False -slide_408,True,False,False -slide_412,True,False,False -slide_418,True,False,False -slide_43,True,False,False -slide_422,True,False,False -slide_425,True,False,False -slide_428,True,False,False -slide_429,True,False,False -slide_432,True,False,False -slide_433,True,False,False -slide_434,True,False,False -slide_435,True,False,False -slide_436,True,False,False -slide_437,True,False,False -slide_438,True,False,False -slide_440,True,False,False -slide_441,True,False,False -slide_52,False,True,False -slide_439,False,True,False -slide_277,False,True,False -slide_81,False,True,False -slide_358,False,True,False -slide_128,False,True,False -slide_177,False,True,False -slide_98,False,True,False -slide_421,False,True,False -slide_58,False,True,False -slide_179,False,True,False -slide_236,False,True,False -slide_144,False,True,False -slide_404,False,True,False -slide_232,False,True,False -slide_240,False,True,False -slide_221,False,True,False -slide_259,False,True,False -slide_96,False,True,False -slide_308,False,True,False -slide_136,False,True,False -slide_383,False,True,False -slide_298,False,True,False -slide_160,False,True,False -slide_384,False,True,False -slide_400,False,True,False -slide_380,False,True,False -slide_376,False,True,False -slide_329,False,True,False -slide_319,False,True,False -slide_195,False,True,False -slide_196,False,True,False -slide_481,False,True,False -slide_482,False,True,False -slide_9,False,True,False -slide_10,False,True,False -slide_125,False,True,False -slide_188,False,True,False -slide_63,False,True,False -slide_86,False,True,False -slide_303,False,True,False -slide_193,False,True,False -slide_391,False,True,False -slide_392,False,True,False -slide_344,False,True,False -slide_457,False,True,False -slide_346,False,True,False -slide_201,False,True,False -slide_375,False,True,False -slide_301,False,False,True -slide_288,False,False,True -slide_271,False,False,True -slide_90,False,False,True -slide_135,False,False,True -slide_174,False,False,True -slide_334,False,False,True -slide_462,False,False,True -slide_226,False,False,True -slide_227,False,False,True -slide_50,False,False,True -slide_387,False,False,True -slide_270,False,False,True -slide_70,False,False,True -slide_312,False,False,True -slide_385,False,False,True -slide_112,False,False,True -slide_423,False,False,True -slide_25,False,False,True -slide_359,False,False,True -slide_119,False,False,True -slide_165,False,False,True -slide_74,False,False,True -slide_122,False,False,True -slide_452,False,False,True -slide_396,False,False,True -slide_53,False,False,True -slide_289,False,False,True -slide_373,False,False,True -slide_354,False,False,True -slide_257,False,False,True -slide_103,False,False,True -slide_447,False,False,True -slide_169,False,False,True -slide_170,False,False,True -slide_239,False,False,True -slide_454,False,False,True -slide_140,False,False,True -slide_338,False,False,True -slide_339,False,False,True -slide_55,False,False,True -slide_399,False,False,True -slide_38,False,False,True -slide_269,False,False,True -slide_238,False,False,True -slide_351,False,False,True -slide_115,False,False,True -slide_451,False,False,True diff --git a/splits/task_1_tumor_vs_normal_75/splits_4_descriptor.csv b/splits/task_1_tumor_vs_normal_75/splits_4_descriptor.csv deleted file mode 100644 index 4552c331..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_4_descriptor.csv +++ /dev/null @@ -1,3 +0,0 @@ -,train,val,test -normal_tissue,215,33,33 -tumor_tissue,88,16,15 diff --git a/splits/task_1_tumor_vs_normal_75/splits_5.csv b/splits/task_1_tumor_vs_normal_75/splits_5.csv deleted file mode 100644 index 2e0e4315..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_5.csv +++ /dev/null @@ -1,302 +0,0 @@ -,train,val,test -0,slide_13,slide_267,slide_305 -1,slide_109,slide_223,slide_233 -2,slide_110,slide_478,slide_70 -3,slide_113,slide_366,slide_395 -4,slide_114,slide_153,slide_232 -5,slide_116,slide_405,slide_349 -6,slide_118,slide_496,slide_350 -7,slide_14,slide_419,slide_11 -8,slide_119,slide_318,slide_427 -9,slide_120,slide_74,slide_400 -10,slide_121,slide_44,slide_99 -11,slide_122,slide_45,slide_204 -12,slide_123,slide_337,slide_253 -13,slide_124,slide_424,slide_254 -14,slide_127,slide_421,slide_260 -15,slide_128,slide_235,slide_404 -16,slide_130,slide_463,slide_315 -17,slide_132,slide_117,slide_12 -18,slide_134,slide_287,slide_468 -19,slide_135,slide_172,slide_75 -20,slide_136,slide_77,slide_168 -21,slide_137,slide_112,slide_492 -22,slide_16,slide_497,slide_403 -23,slide_139,slide_133,slide_367 -24,slide_141,slide_289,slide_152 -25,slide_142,slide_416,slide_498 -26,slide_143,slide_60,slide_240 -27,slide_144,slide_234,slide_167 -28,slide_145,slide_161,slide_218 -29,slide_146,slide_480,slide_200 -30,slide_17,slide_472,slide_108 -31,slide_150,slide_473,slide_385 -32,slide_151,slide_344,slide_281 -33,slide_154,slide_255,slide_278 -34,slide_155,slide_273,slide_279 -35,slide_156,slide_38,slide_2 -36,slide_157,slide_36,slide_111 -37,slide_160,slide_239,slide_238 -38,slide_162,slide_389,slide_131 -39,slide_165,slide_30,slide_7 -40,slide_166,slide_370,slide_0 -41,slide_171,slide_346,slide_1 -42,slide_20,slide_55,slide_428 -43,slide_173,slide_241,slide_418 -44,slide_174,slide_191,slide_295 -45,slide_175,slide_192,slide_355 -46,slide_176,slide_169,slide_447 -47,slide_177,slide_170,slide_164 -48,slide_179,slide_22,slide_407 -49,slide_180,,slide_408 -50,slide_21,, -51,slide_183,, -52,slide_184,, -53,slide_185,, -54,slide_186,, -55,slide_194,, -56,slide_197,, -57,slide_199,, -58,slide_202,, -59,slide_205,, -60,slide_207,, -61,slide_208,, -62,slide_209,, -63,slide_210,, -64,slide_211,, -65,slide_212,, -66,slide_213,, -67,slide_214,, -68,slide_217,, -69,slide_3,, -70,slide_4,, -71,slide_221,, -72,slide_222,, -73,slide_224,, -74,slide_225,, -75,slide_226,, -76,slide_227,, -77,slide_228,, -78,slide_229,, -79,slide_25,, -80,slide_230,, -81,slide_231,, -82,slide_236,, -83,slide_237,, -84,slide_26,, -85,slide_242,, -86,slide_243,, -87,slide_244,, -88,slide_247,, -89,slide_248,, -90,slide_250,, -91,slide_251,, -92,slide_252,, -93,slide_27,, -94,slide_256,, -95,slide_257,, -96,slide_259,, -97,slide_261,, -98,slide_28,, -99,slide_29,, -100,slide_268,, -101,slide_270,, -102,slide_271,, -103,slide_272,, -104,slide_274,, -105,slide_275,, -106,slide_276,, -107,slide_277,, -108,slide_280,, -109,slide_284,, -110,slide_285,, -111,slide_286,, -112,slide_288,, -113,slide_292,, -114,slide_293,, -115,slide_294,, -116,slide_296,, -117,slide_297,, -118,slide_298,, -119,slide_300,, -120,slide_301,, -121,slide_307,, -122,slide_308,, -123,slide_312,, -124,slide_313,, -125,slide_314,, -126,slide_316,, -127,slide_317,, -128,slide_319,, -129,slide_320,, -130,slide_323,, -131,slide_324,, -132,slide_327,, -133,slide_328,, -134,slide_5,, -135,slide_35,, -136,slide_329,, -137,slide_330,, -138,slide_331,, -139,slide_332,, -140,slide_333,, -141,slide_334,, -142,slide_335,, -143,slide_336,, -144,slide_340,, -145,slide_341,, -146,slide_347,, -147,slide_348,, -148,slide_352,, -149,slide_353,, -150,slide_354,, -151,slide_356,, -152,slide_358,, -153,slide_359,, -154,slide_360,, -155,slide_365,, -156,slide_368,, -157,slide_369,, -158,slide_371,, -159,slide_372,, -160,slide_373,, -161,slide_374,, -162,slide_39,, -163,slide_376,, -164,slide_377,, -165,slide_378,, -166,slide_379,, -167,slide_380,, -168,slide_382,, -169,slide_383,, -170,slide_384,, -171,slide_40,, -172,slide_386,, -173,slide_387,, -174,slide_388,, -175,slide_390,, -176,slide_393,, -177,slide_394,, -178,slide_396,, -179,slide_397,, -180,slide_398,, -181,slide_401,, -182,slide_402,, -183,slide_406,, -184,slide_42,, -185,slide_409,, -186,slide_410,, -187,slide_411,, -188,slide_413,, -189,slide_414,, -190,slide_415,, -191,slide_417,, -192,slide_420,, -193,slide_423,, -194,slide_426,, -195,slide_430,, -196,slide_115,, -197,slide_125,, -198,slide_126,, -199,slide_15,, -200,slide_129,, -201,slide_138,, -202,slide_140,, -203,slide_147,, -204,slide_148,, -205,slide_149,, -206,slide_158,, -207,slide_159,, -208,slide_18,, -209,slide_19,, -210,slide_163,, -211,slide_178,, -212,slide_181,, -213,slide_182,, -214,slide_187,, -215,slide_188,, -216,slide_189,, -217,slide_190,, -218,slide_193,, -219,slide_195,, -220,slide_196,, -221,slide_198,, -222,slide_201,, -223,slide_203,, -224,slide_23,, -225,slide_206,, -226,slide_215,, -227,slide_216,, -228,slide_24,, -229,slide_219,, -230,slide_220,, -231,slide_245,, -232,slide_246,, -233,slide_249,, -234,slide_258,, -235,slide_262,, -236,slide_263,, -237,slide_264,, -238,slide_265,, -239,slide_266,, -240,slide_269,, -241,slide_282,, -242,slide_283,, -243,slide_31,, -244,slide_290,, -245,slide_291,, -246,slide_32,, -247,slide_299,, -248,slide_302,, -249,slide_303,, -250,slide_304,, -251,slide_306,, -252,slide_33,, -253,slide_309,, -254,slide_310,, -255,slide_311,, -256,slide_34,, -257,slide_321,, -258,slide_322,, -259,slide_325,, -260,slide_326,, -261,slide_338,, -262,slide_339,, -263,slide_342,, -264,slide_343,, -265,slide_345,, -266,slide_351,, -267,slide_37,, -268,slide_357,, -269,slide_361,, -270,slide_362,, -271,slide_363,, -272,slide_364,, -273,slide_375,, -274,slide_381,, -275,slide_391,, -276,slide_392,, -277,slide_41,, -278,slide_399,, -279,slide_412,, -280,slide_43,, -281,slide_422,, -282,slide_425,, -283,slide_429,, -284,slide_432,, -285,slide_433,, -286,slide_434,, -287,slide_435,, -288,slide_436,, -289,slide_437,, -290,slide_438,, -291,slide_440,, -292,slide_441,, -293,slide_444,, -294,slide_449,, -295,slide_450,, -296,slide_451,, -297,slide_453,, -298,slide_454,, -299,slide_457,, -300,slide_458,, diff --git a/splits/task_1_tumor_vs_normal_75/splits_5_bool.csv b/splits/task_1_tumor_vs_normal_75/splits_5_bool.csv deleted file mode 100644 index dcbc0d5d..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_5_bool.csv +++ /dev/null @@ -1,401 +0,0 @@ -,train,val,test -slide_13,True,False,False -slide_109,True,False,False -slide_110,True,False,False -slide_113,True,False,False -slide_114,True,False,False -slide_116,True,False,False -slide_118,True,False,False -slide_14,True,False,False -slide_119,True,False,False -slide_120,True,False,False -slide_121,True,False,False -slide_122,True,False,False -slide_123,True,False,False -slide_124,True,False,False -slide_127,True,False,False -slide_128,True,False,False -slide_130,True,False,False -slide_132,True,False,False -slide_134,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_137,True,False,False -slide_16,True,False,False -slide_139,True,False,False -slide_141,True,False,False -slide_142,True,False,False -slide_143,True,False,False -slide_144,True,False,False -slide_145,True,False,False -slide_146,True,False,False -slide_17,True,False,False -slide_150,True,False,False -slide_151,True,False,False -slide_154,True,False,False -slide_155,True,False,False -slide_156,True,False,False -slide_157,True,False,False -slide_160,True,False,False -slide_162,True,False,False -slide_165,True,False,False -slide_166,True,False,False -slide_171,True,False,False -slide_20,True,False,False -slide_173,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_177,True,False,False -slide_179,True,False,False -slide_180,True,False,False -slide_21,True,False,False -slide_183,True,False,False -slide_184,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_194,True,False,False -slide_197,True,False,False -slide_199,True,False,False -slide_202,True,False,False -slide_205,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_209,True,False,False -slide_210,True,False,False -slide_211,True,False,False -slide_212,True,False,False -slide_213,True,False,False -slide_214,True,False,False -slide_217,True,False,False -slide_3,True,False,False -slide_4,True,False,False -slide_221,True,False,False -slide_222,True,False,False -slide_224,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_227,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_25,True,False,False -slide_230,True,False,False -slide_231,True,False,False -slide_236,True,False,False -slide_237,True,False,False -slide_26,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_244,True,False,False -slide_247,True,False,False -slide_248,True,False,False -slide_250,True,False,False -slide_251,True,False,False -slide_252,True,False,False -slide_27,True,False,False -slide_256,True,False,False -slide_257,True,False,False -slide_259,True,False,False -slide_261,True,False,False -slide_28,True,False,False -slide_29,True,False,False -slide_268,True,False,False -slide_270,True,False,False -slide_271,True,False,False -slide_272,True,False,False -slide_274,True,False,False -slide_275,True,False,False -slide_276,True,False,False -slide_277,True,False,False -slide_280,True,False,False -slide_284,True,False,False -slide_285,True,False,False -slide_286,True,False,False -slide_288,True,False,False -slide_292,True,False,False -slide_293,True,False,False -slide_294,True,False,False -slide_296,True,False,False -slide_297,True,False,False -slide_298,True,False,False -slide_300,True,False,False -slide_301,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_312,True,False,False -slide_313,True,False,False -slide_314,True,False,False -slide_316,True,False,False -slide_317,True,False,False -slide_319,True,False,False -slide_320,True,False,False -slide_323,True,False,False -slide_324,True,False,False -slide_327,True,False,False -slide_328,True,False,False -slide_5,True,False,False -slide_35,True,False,False -slide_329,True,False,False -slide_330,True,False,False -slide_331,True,False,False -slide_332,True,False,False -slide_333,True,False,False -slide_334,True,False,False -slide_335,True,False,False -slide_336,True,False,False -slide_340,True,False,False -slide_341,True,False,False -slide_347,True,False,False -slide_348,True,False,False -slide_352,True,False,False -slide_353,True,False,False -slide_354,True,False,False -slide_356,True,False,False -slide_358,True,False,False -slide_359,True,False,False -slide_360,True,False,False -slide_365,True,False,False -slide_368,True,False,False -slide_369,True,False,False -slide_371,True,False,False -slide_372,True,False,False -slide_373,True,False,False -slide_374,True,False,False -slide_39,True,False,False -slide_376,True,False,False -slide_377,True,False,False -slide_378,True,False,False -slide_379,True,False,False -slide_380,True,False,False -slide_382,True,False,False -slide_383,True,False,False -slide_384,True,False,False -slide_40,True,False,False -slide_386,True,False,False -slide_387,True,False,False -slide_388,True,False,False -slide_390,True,False,False -slide_393,True,False,False -slide_394,True,False,False -slide_396,True,False,False -slide_397,True,False,False -slide_398,True,False,False -slide_401,True,False,False -slide_402,True,False,False -slide_406,True,False,False -slide_42,True,False,False -slide_409,True,False,False -slide_410,True,False,False -slide_411,True,False,False -slide_413,True,False,False -slide_414,True,False,False -slide_415,True,False,False -slide_417,True,False,False -slide_420,True,False,False -slide_423,True,False,False -slide_426,True,False,False -slide_430,True,False,False -slide_115,True,False,False -slide_125,True,False,False -slide_126,True,False,False -slide_15,True,False,False -slide_129,True,False,False -slide_138,True,False,False -slide_140,True,False,False -slide_147,True,False,False -slide_148,True,False,False -slide_149,True,False,False -slide_158,True,False,False -slide_159,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_163,True,False,False -slide_178,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_189,True,False,False -slide_190,True,False,False -slide_193,True,False,False -slide_195,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_201,True,False,False -slide_203,True,False,False -slide_23,True,False,False -slide_206,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_24,True,False,False -slide_219,True,False,False -slide_220,True,False,False -slide_245,True,False,False -slide_246,True,False,False -slide_249,True,False,False -slide_258,True,False,False -slide_262,True,False,False -slide_263,True,False,False -slide_264,True,False,False -slide_265,True,False,False -slide_266,True,False,False -slide_269,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_31,True,False,False -slide_290,True,False,False -slide_291,True,False,False -slide_32,True,False,False -slide_299,True,False,False -slide_302,True,False,False -slide_303,True,False,False -slide_304,True,False,False -slide_306,True,False,False -slide_33,True,False,False -slide_309,True,False,False -slide_310,True,False,False -slide_311,True,False,False -slide_34,True,False,False -slide_321,True,False,False -slide_322,True,False,False -slide_325,True,False,False -slide_326,True,False,False -slide_338,True,False,False -slide_339,True,False,False -slide_342,True,False,False -slide_343,True,False,False -slide_345,True,False,False -slide_351,True,False,False -slide_37,True,False,False -slide_357,True,False,False -slide_361,True,False,False -slide_362,True,False,False -slide_363,True,False,False -slide_364,True,False,False -slide_375,True,False,False -slide_381,True,False,False -slide_391,True,False,False -slide_392,True,False,False -slide_41,True,False,False -slide_399,True,False,False -slide_412,True,False,False -slide_43,True,False,False -slide_422,True,False,False -slide_425,True,False,False -slide_429,True,False,False -slide_432,True,False,False -slide_433,True,False,False -slide_434,True,False,False -slide_435,True,False,False -slide_436,True,False,False -slide_437,True,False,False -slide_438,True,False,False -slide_440,True,False,False -slide_441,True,False,False -slide_444,True,False,False -slide_449,True,False,False -slide_450,True,False,False -slide_451,True,False,False -slide_453,True,False,False -slide_454,True,False,False -slide_457,True,False,False -slide_458,True,False,False -slide_267,False,True,False -slide_223,False,True,False -slide_478,False,True,False -slide_366,False,True,False -slide_153,False,True,False -slide_405,False,True,False -slide_496,False,True,False -slide_419,False,True,False -slide_318,False,True,False -slide_74,False,True,False -slide_44,False,True,False -slide_45,False,True,False -slide_337,False,True,False -slide_424,False,True,False -slide_421,False,True,False -slide_235,False,True,False -slide_463,False,True,False -slide_117,False,True,False -slide_287,False,True,False -slide_172,False,True,False -slide_77,False,True,False -slide_112,False,True,False -slide_497,False,True,False -slide_133,False,True,False -slide_289,False,True,False -slide_416,False,True,False -slide_60,False,True,False -slide_234,False,True,False -slide_161,False,True,False -slide_480,False,True,False -slide_472,False,True,False -slide_473,False,True,False -slide_344,False,True,False -slide_255,False,True,False -slide_273,False,True,False -slide_38,False,True,False -slide_36,False,True,False -slide_239,False,True,False -slide_389,False,True,False -slide_30,False,True,False -slide_370,False,True,False -slide_346,False,True,False -slide_55,False,True,False -slide_241,False,True,False -slide_191,False,True,False -slide_192,False,True,False -slide_169,False,True,False -slide_170,False,True,False -slide_22,False,True,False -slide_305,False,False,True -slide_233,False,False,True -slide_70,False,False,True -slide_395,False,False,True -slide_232,False,False,True -slide_349,False,False,True -slide_350,False,False,True -slide_11,False,False,True -slide_427,False,False,True -slide_400,False,False,True -slide_99,False,False,True -slide_204,False,False,True -slide_253,False,False,True -slide_254,False,False,True -slide_260,False,False,True -slide_404,False,False,True -slide_315,False,False,True -slide_12,False,False,True -slide_468,False,False,True -slide_75,False,False,True -slide_168,False,False,True -slide_492,False,False,True -slide_403,False,False,True -slide_367,False,False,True -slide_152,False,False,True -slide_498,False,False,True -slide_240,False,False,True -slide_167,False,False,True -slide_218,False,False,True -slide_200,False,False,True -slide_108,False,False,True -slide_385,False,False,True -slide_281,False,False,True -slide_278,False,False,True -slide_279,False,False,True -slide_2,False,False,True -slide_111,False,False,True -slide_238,False,False,True -slide_131,False,False,True -slide_7,False,False,True -slide_0,False,False,True -slide_1,False,False,True -slide_428,False,False,True -slide_418,False,False,True -slide_295,False,False,True -slide_355,False,False,True -slide_447,False,False,True -slide_164,False,False,True -slide_407,False,False,True -slide_408,False,False,True diff --git a/splits/task_1_tumor_vs_normal_75/splits_5_descriptor.csv b/splits/task_1_tumor_vs_normal_75/splits_5_descriptor.csv deleted file mode 100644 index 74ccecc6..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_5_descriptor.csv +++ /dev/null @@ -1,3 +0,0 @@ -,train,val,test -normal_tissue,212,34,35 -tumor_tissue,89,15,15 diff --git a/splits/task_1_tumor_vs_normal_75/splits_6.csv b/splits/task_1_tumor_vs_normal_75/splits_6.csv deleted file mode 100644 index 19e00950..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_6.csv +++ /dev/null @@ -1,302 +0,0 @@ -,train,val,test -0,slide_13,slide_398,slide_84 -1,slide_109,slide_257,slide_274 -2,slide_110,slide_298,slide_275 -3,slide_112,slide_396,slide_95 -4,slide_113,slide_177,slide_384 -5,slide_114,slide_210,slide_401 -6,slide_116,slide_211,slide_462 -7,slide_117,slide_8,slide_393 -8,slide_118,slide_134,slide_323 -9,slide_14,slide_347,slide_461 -10,slide_120,slide_171,slide_82 -11,slide_121,slide_133,slide_143 -12,slide_123,slide_173,slide_122 -13,slide_124,slide_369,slide_374 -14,slide_127,slide_420,slide_260 -15,slide_128,slide_200,slide_292 -16,slide_130,slide_237,slide_167 -17,slide_135,slide_308,slide_71 -18,slide_136,slide_463,slide_284 -19,slide_137,slide_472,slide_92 -20,slide_16,slide_473,slide_153 -21,slide_139,slide_54,slide_119 -22,slide_141,slide_142,slide_162 -23,slide_144,slide_333,slide_88 -24,slide_145,slide_483,slide_89 -25,slide_146,slide_314,slide_252 -26,slide_17,slide_280,slide_132 -27,slide_150,slide_330,slide_151 -28,slide_152,slide_331,slide_464 -29,slide_154,slide_390,slide_307 -30,slide_155,slide_443,slide_423 -31,slide_156,slide_235,slide_261 -32,slide_157,slide_478,slide_302 -33,slide_160,slide_346,slide_76 -34,slide_161,slide_375,slide_361 -35,slide_165,slide_169,slide_362 -36,slide_166,slide_170,slide_190 -37,slide_168,slide_399,slide_93 -38,slide_172,slide_83,slide_258 -39,slide_20,slide_187,slide_9 -40,slide_174,slide_269,slide_10 -41,slide_175,slide_351,slide_245 -42,slide_176,slide_451,slide_246 -43,slide_179,slide_255,slide_475 -44,slide_180,slide_263,slide_273 -45,slide_21,slide_138,slide_438 -46,slide_183,slide_460,slide_36 -47,slide_184,slide_249,slide_434 -48,slide_185,slide_15,slide_435 -49,slide_186,,slide_494 -50,slide_194,,slide_495 -51,slide_197,,slide_291 -52,slide_199,, -53,slide_202,, -54,slide_204,, -55,slide_205,, -56,slide_207,, -57,slide_208,, -58,slide_209,, -59,slide_212,, -60,slide_213,, -61,slide_214,, -62,slide_217,, -63,slide_3,, -64,slide_4,, -65,slide_218,, -66,slide_221,, -67,slide_222,, -68,slide_223,, -69,slide_224,, -70,slide_225,, -71,slide_226,, -72,slide_227,, -73,slide_228,, -74,slide_229,, -75,slide_25,, -76,slide_230,, -77,slide_231,, -78,slide_232,, -79,slide_233,, -80,slide_234,, -81,slide_236,, -82,slide_26,, -83,slide_240,, -84,slide_242,, -85,slide_243,, -86,slide_244,, -87,slide_247,, -88,slide_248,, -89,slide_250,, -90,slide_251,, -91,slide_27,, -92,slide_253,, -93,slide_254,, -94,slide_256,, -95,slide_259,, -96,slide_28,, -97,slide_29,, -98,slide_267,, -99,slide_268,, -100,slide_270,, -101,slide_271,, -102,slide_272,, -103,slide_276,, -104,slide_277,, -105,slide_285,, -106,slide_286,, -107,slide_287,, -108,slide_288,, -109,slide_289,, -110,slide_293,, -111,slide_294,, -112,slide_296,, -113,slide_297,, -114,slide_300,, -115,slide_301,, -116,slide_305,, -117,slide_312,, -118,slide_313,, -119,slide_315,, -120,slide_316,, -121,slide_317,, -122,slide_318,, -123,slide_319,, -124,slide_320,, -125,slide_324,, -126,slide_327,, -127,slide_328,, -128,slide_5,, -129,slide_35,, -130,slide_329,, -131,slide_332,, -132,slide_334,, -133,slide_335,, -134,slide_336,, -135,slide_337,, -136,slide_340,, -137,slide_341,, -138,slide_348,, -139,slide_349,, -140,slide_350,, -141,slide_352,, -142,slide_353,, -143,slide_354,, -144,slide_356,, -145,slide_358,, -146,slide_359,, -147,slide_360,, -148,slide_365,, -149,slide_366,, -150,slide_367,, -151,slide_368,, -152,slide_371,, -153,slide_372,, -154,slide_373,, -155,slide_39,, -156,slide_376,, -157,slide_377,, -158,slide_378,, -159,slide_379,, -160,slide_380,, -161,slide_382,, -162,slide_383,, -163,slide_385,, -164,slide_40,, -165,slide_386,, -166,slide_387,, -167,slide_388,, -168,slide_394,, -169,slide_395,, -170,slide_397,, -171,slide_400,, -172,slide_402,, -173,slide_403,, -174,slide_404,, -175,slide_405,, -176,slide_406,, -177,slide_42,, -178,slide_409,, -179,slide_410,, -180,slide_411,, -181,slide_413,, -182,slide_414,, -183,slide_415,, -184,slide_416,, -185,slide_417,, -186,slide_419,, -187,slide_421,, -188,slide_424,, -189,slide_426,, -190,slide_427,, -191,slide_44,, -192,slide_45,, -193,slide_430,, -194,slide_431,, -195,slide_439,, -196,slide_0,, -197,slide_1,, -198,slide_2,, -199,slide_111,, -200,slide_115,, -201,slide_125,, -202,slide_126,, -203,slide_129,, -204,slide_131,, -205,slide_140,, -206,slide_147,, -207,slide_148,, -208,slide_149,, -209,slide_158,, -210,slide_159,, -211,slide_18,, -212,slide_19,, -213,slide_163,, -214,slide_164,, -215,slide_178,, -216,slide_181,, -217,slide_182,, -218,slide_188,, -219,slide_189,, -220,slide_191,, -221,slide_192,, -222,slide_193,, -223,slide_22,, -224,slide_195,, -225,slide_196,, -226,slide_198,, -227,slide_201,, -228,slide_203,, -229,slide_23,, -230,slide_206,, -231,slide_215,, -232,slide_216,, -233,slide_24,, -234,slide_219,, -235,slide_220,, -236,slide_238,, -237,slide_239,, -238,slide_241,, -239,slide_262,, -240,slide_264,, -241,slide_265,, -242,slide_266,, -243,slide_30,, -244,slide_278,, -245,slide_279,, -246,slide_281,, -247,slide_282,, -248,slide_283,, -249,slide_31,, -250,slide_290,, -251,slide_295,, -252,slide_32,, -253,slide_299,, -254,slide_303,, -255,slide_304,, -256,slide_306,, -257,slide_33,, -258,slide_309,, -259,slide_310,, -260,slide_311,, -261,slide_34,, -262,slide_321,, -263,slide_322,, -264,slide_325,, -265,slide_326,, -266,slide_338,, -267,slide_339,, -268,slide_342,, -269,slide_343,, -270,slide_344,, -271,slide_345,, -272,slide_37,, -273,slide_355,, -274,slide_357,, -275,slide_38,, -276,slide_363,, -277,slide_364,, -278,slide_370,, -279,slide_381,, -280,slide_389,, -281,slide_391,, -282,slide_392,, -283,slide_41,, -284,slide_407,, -285,slide_408,, -286,slide_412,, -287,slide_418,, -288,slide_43,, -289,slide_422,, -290,slide_425,, -291,slide_428,, -292,slide_429,, -293,slide_432,, -294,slide_433,, -295,slide_436,, -296,slide_437,, -297,slide_440,, -298,slide_441,, -299,slide_444,, -300,slide_447,, diff --git a/splits/task_1_tumor_vs_normal_75/splits_6_bool.csv b/splits/task_1_tumor_vs_normal_75/splits_6_bool.csv deleted file mode 100644 index 8a0d567b..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_6_bool.csv +++ /dev/null @@ -1,403 +0,0 @@ -,train,val,test -slide_13,True,False,False -slide_109,True,False,False -slide_110,True,False,False -slide_112,True,False,False -slide_113,True,False,False -slide_114,True,False,False -slide_116,True,False,False -slide_117,True,False,False -slide_118,True,False,False -slide_14,True,False,False -slide_120,True,False,False -slide_121,True,False,False -slide_123,True,False,False -slide_124,True,False,False -slide_127,True,False,False -slide_128,True,False,False -slide_130,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_137,True,False,False -slide_16,True,False,False -slide_139,True,False,False -slide_141,True,False,False -slide_144,True,False,False -slide_145,True,False,False -slide_146,True,False,False -slide_17,True,False,False -slide_150,True,False,False -slide_152,True,False,False -slide_154,True,False,False -slide_155,True,False,False -slide_156,True,False,False -slide_157,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_165,True,False,False -slide_166,True,False,False -slide_168,True,False,False -slide_172,True,False,False -slide_20,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_179,True,False,False -slide_180,True,False,False -slide_21,True,False,False -slide_183,True,False,False -slide_184,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_194,True,False,False -slide_197,True,False,False -slide_199,True,False,False -slide_202,True,False,False -slide_204,True,False,False -slide_205,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_209,True,False,False -slide_212,True,False,False -slide_213,True,False,False -slide_214,True,False,False -slide_217,True,False,False -slide_3,True,False,False -slide_4,True,False,False -slide_218,True,False,False -slide_221,True,False,False -slide_222,True,False,False -slide_223,True,False,False -slide_224,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_227,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_25,True,False,False -slide_230,True,False,False -slide_231,True,False,False -slide_232,True,False,False -slide_233,True,False,False -slide_234,True,False,False -slide_236,True,False,False -slide_26,True,False,False -slide_240,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_244,True,False,False -slide_247,True,False,False -slide_248,True,False,False -slide_250,True,False,False -slide_251,True,False,False -slide_27,True,False,False -slide_253,True,False,False -slide_254,True,False,False -slide_256,True,False,False -slide_259,True,False,False -slide_28,True,False,False -slide_29,True,False,False -slide_267,True,False,False -slide_268,True,False,False -slide_270,True,False,False -slide_271,True,False,False -slide_272,True,False,False -slide_276,True,False,False -slide_277,True,False,False -slide_285,True,False,False -slide_286,True,False,False -slide_287,True,False,False -slide_288,True,False,False -slide_289,True,False,False -slide_293,True,False,False -slide_294,True,False,False -slide_296,True,False,False -slide_297,True,False,False -slide_300,True,False,False -slide_301,True,False,False -slide_305,True,False,False -slide_312,True,False,False -slide_313,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_317,True,False,False -slide_318,True,False,False -slide_319,True,False,False -slide_320,True,False,False -slide_324,True,False,False -slide_327,True,False,False -slide_328,True,False,False -slide_5,True,False,False -slide_35,True,False,False -slide_329,True,False,False -slide_332,True,False,False -slide_334,True,False,False -slide_335,True,False,False -slide_336,True,False,False -slide_337,True,False,False -slide_340,True,False,False -slide_341,True,False,False -slide_348,True,False,False -slide_349,True,False,False -slide_350,True,False,False -slide_352,True,False,False -slide_353,True,False,False -slide_354,True,False,False -slide_356,True,False,False -slide_358,True,False,False -slide_359,True,False,False -slide_360,True,False,False -slide_365,True,False,False -slide_366,True,False,False -slide_367,True,False,False -slide_368,True,False,False -slide_371,True,False,False -slide_372,True,False,False -slide_373,True,False,False -slide_39,True,False,False -slide_376,True,False,False -slide_377,True,False,False -slide_378,True,False,False -slide_379,True,False,False -slide_380,True,False,False -slide_382,True,False,False -slide_383,True,False,False -slide_385,True,False,False -slide_40,True,False,False -slide_386,True,False,False -slide_387,True,False,False -slide_388,True,False,False -slide_394,True,False,False -slide_395,True,False,False -slide_397,True,False,False -slide_400,True,False,False -slide_402,True,False,False -slide_403,True,False,False -slide_404,True,False,False -slide_405,True,False,False -slide_406,True,False,False -slide_42,True,False,False -slide_409,True,False,False -slide_410,True,False,False -slide_411,True,False,False -slide_413,True,False,False -slide_414,True,False,False -slide_415,True,False,False -slide_416,True,False,False -slide_417,True,False,False -slide_419,True,False,False -slide_421,True,False,False -slide_424,True,False,False -slide_426,True,False,False -slide_427,True,False,False -slide_44,True,False,False -slide_45,True,False,False -slide_430,True,False,False -slide_431,True,False,False -slide_439,True,False,False -slide_0,True,False,False -slide_1,True,False,False -slide_2,True,False,False -slide_111,True,False,False -slide_115,True,False,False -slide_125,True,False,False -slide_126,True,False,False -slide_129,True,False,False -slide_131,True,False,False -slide_140,True,False,False -slide_147,True,False,False -slide_148,True,False,False -slide_149,True,False,False -slide_158,True,False,False -slide_159,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_163,True,False,False -slide_164,True,False,False -slide_178,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_188,True,False,False -slide_189,True,False,False -slide_191,True,False,False -slide_192,True,False,False -slide_193,True,False,False -slide_22,True,False,False -slide_195,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_201,True,False,False -slide_203,True,False,False -slide_23,True,False,False -slide_206,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_24,True,False,False -slide_219,True,False,False -slide_220,True,False,False -slide_238,True,False,False -slide_239,True,False,False -slide_241,True,False,False -slide_262,True,False,False -slide_264,True,False,False -slide_265,True,False,False -slide_266,True,False,False -slide_30,True,False,False -slide_278,True,False,False -slide_279,True,False,False -slide_281,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_31,True,False,False -slide_290,True,False,False -slide_295,True,False,False -slide_32,True,False,False -slide_299,True,False,False -slide_303,True,False,False -slide_304,True,False,False -slide_306,True,False,False -slide_33,True,False,False -slide_309,True,False,False -slide_310,True,False,False -slide_311,True,False,False -slide_34,True,False,False -slide_321,True,False,False -slide_322,True,False,False -slide_325,True,False,False -slide_326,True,False,False -slide_338,True,False,False -slide_339,True,False,False -slide_342,True,False,False -slide_343,True,False,False -slide_344,True,False,False -slide_345,True,False,False -slide_37,True,False,False -slide_355,True,False,False -slide_357,True,False,False -slide_38,True,False,False -slide_363,True,False,False -slide_364,True,False,False -slide_370,True,False,False -slide_381,True,False,False -slide_389,True,False,False -slide_391,True,False,False -slide_392,True,False,False -slide_41,True,False,False -slide_407,True,False,False -slide_408,True,False,False -slide_412,True,False,False -slide_418,True,False,False -slide_43,True,False,False -slide_422,True,False,False -slide_425,True,False,False -slide_428,True,False,False -slide_429,True,False,False -slide_432,True,False,False -slide_433,True,False,False -slide_436,True,False,False -slide_437,True,False,False -slide_440,True,False,False -slide_441,True,False,False -slide_444,True,False,False -slide_447,True,False,False -slide_398,False,True,False -slide_257,False,True,False -slide_298,False,True,False -slide_396,False,True,False -slide_177,False,True,False -slide_210,False,True,False -slide_211,False,True,False -slide_8,False,True,False -slide_134,False,True,False -slide_347,False,True,False -slide_171,False,True,False -slide_133,False,True,False -slide_173,False,True,False -slide_369,False,True,False -slide_420,False,True,False -slide_200,False,True,False -slide_237,False,True,False -slide_308,False,True,False -slide_463,False,True,False -slide_472,False,True,False -slide_473,False,True,False -slide_54,False,True,False -slide_142,False,True,False -slide_333,False,True,False -slide_483,False,True,False -slide_314,False,True,False -slide_280,False,True,False -slide_330,False,True,False -slide_331,False,True,False -slide_390,False,True,False -slide_443,False,True,False -slide_235,False,True,False -slide_478,False,True,False -slide_346,False,True,False -slide_375,False,True,False -slide_169,False,True,False -slide_170,False,True,False -slide_399,False,True,False -slide_83,False,True,False -slide_187,False,True,False -slide_269,False,True,False -slide_351,False,True,False -slide_451,False,True,False -slide_255,False,True,False -slide_263,False,True,False -slide_138,False,True,False -slide_460,False,True,False -slide_249,False,True,False -slide_15,False,True,False -slide_84,False,False,True -slide_274,False,False,True -slide_275,False,False,True -slide_95,False,False,True -slide_384,False,False,True -slide_401,False,False,True -slide_462,False,False,True -slide_393,False,False,True -slide_323,False,False,True -slide_461,False,False,True -slide_82,False,False,True -slide_143,False,False,True -slide_122,False,False,True -slide_374,False,False,True -slide_260,False,False,True -slide_292,False,False,True -slide_167,False,False,True -slide_71,False,False,True -slide_284,False,False,True -slide_92,False,False,True -slide_153,False,False,True -slide_119,False,False,True -slide_162,False,False,True -slide_88,False,False,True -slide_89,False,False,True -slide_252,False,False,True -slide_132,False,False,True -slide_151,False,False,True -slide_464,False,False,True -slide_307,False,False,True -slide_423,False,False,True -slide_261,False,False,True -slide_302,False,False,True -slide_76,False,False,True -slide_361,False,False,True -slide_362,False,False,True -slide_190,False,False,True -slide_93,False,False,True -slide_258,False,False,True -slide_9,False,False,True -slide_10,False,False,True -slide_245,False,False,True -slide_246,False,False,True -slide_475,False,False,True -slide_273,False,False,True -slide_438,False,False,True -slide_36,False,False,True -slide_434,False,False,True -slide_435,False,False,True -slide_494,False,False,True -slide_495,False,False,True -slide_291,False,False,True diff --git a/splits/task_1_tumor_vs_normal_75/splits_6_descriptor.csv b/splits/task_1_tumor_vs_normal_75/splits_6_descriptor.csv deleted file mode 100644 index e666955e..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_6_descriptor.csv +++ /dev/null @@ -1,3 +0,0 @@ -,train,val,test -normal_tissue,212,34,36 -tumor_tissue,89,15,16 diff --git a/splits/task_1_tumor_vs_normal_75/splits_7.csv b/splits/task_1_tumor_vs_normal_75/splits_7.csv deleted file mode 100644 index 932bd197..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_7.csv +++ /dev/null @@ -1,302 +0,0 @@ -,train,val,test -0,slide_109,slide_242,slide_175 -1,slide_110,slide_243,slide_96 -2,slide_112,slide_28,slide_144 -3,slide_113,slide_29,slide_52 -4,slide_114,slide_16,slide_268 -5,slide_116,slide_244,slide_56 -6,slide_117,slide_67,slide_71 -7,slide_118,slide_8,slide_476 -8,slide_14,slide_411,slide_340 -9,slide_120,slide_130,slide_199 -10,slide_121,slide_405,slide_324 -11,slide_122,slide_448,slide_184 -12,slide_123,slide_49,slide_423 -13,slide_124,slide_329,slide_12 -14,slide_127,slide_472,slide_25 -15,slide_128,slide_473,slide_316 -16,slide_132,slide_154,slide_27 -17,slide_134,slide_352,slide_84 -18,slide_135,slide_88,slide_385 -19,slide_136,slide_89,slide_413 -20,slide_139,slide_75,slide_368 -21,slide_141,slide_137,slide_210 -22,slide_142,slide_50,slide_211 -23,slide_143,slide_54,slide_366 -24,slide_145,slide_359,slide_133 -25,slide_146,slide_119,slide_13 -26,slide_17,slide_461,slide_442 -27,slide_150,slide_247,slide_452 -28,slide_152,slide_248,slide_294 -29,slide_153,slide_336,slide_151 -30,slide_155,slide_489,slide_35 -31,slide_156,slide_490,slide_31 -32,slide_157,slide_358,slide_345 -33,slide_160,slide_496,slide_189 -34,slide_161,slide_300,slide_36 -35,slide_162,slide_48,slide_34 -36,slide_165,slide_355,slide_80 -37,slide_166,slide_83,slide_265 -38,slide_167,slide_126,slide_15 -39,slide_168,slide_429,slide_43 -40,slide_171,slide_477,slide_357 -41,slide_172,slide_322,slide_147 -42,slide_20,slide_351,slide_264 -43,slide_173,slide_97,slide_178 -44,slide_174,slide_255,slide_325 -45,slide_176,slide_245,slide_326 -46,slide_177,slide_246,slide_487 -47,slide_179,slide_195,slide_488 -48,slide_180,slide_196, -49,slide_21,slide_241, -50,slide_183,slide_437, -51,slide_185,slide_291, -52,slide_186,slide_444, -53,slide_194,, -54,slide_197,, -55,slide_200,, -56,slide_202,, -57,slide_204,, -58,slide_205,, -59,slide_207,, -60,slide_208,, -61,slide_209,, -62,slide_212,, -63,slide_213,, -64,slide_214,, -65,slide_217,, -66,slide_3,, -67,slide_4,, -68,slide_218,, -69,slide_221,, -70,slide_222,, -71,slide_223,, -72,slide_224,, -73,slide_225,, -74,slide_226,, -75,slide_227,, -76,slide_228,, -77,slide_229,, -78,slide_230,, -79,slide_231,, -80,slide_232,, -81,slide_233,, -82,slide_234,, -83,slide_235,, -84,slide_236,, -85,slide_237,, -86,slide_26,, -87,slide_240,, -88,slide_250,, -89,slide_251,, -90,slide_252,, -91,slide_253,, -92,slide_254,, -93,slide_256,, -94,slide_257,, -95,slide_259,, -96,slide_260,, -97,slide_261,, -98,slide_267,, -99,slide_270,, -100,slide_271,, -101,slide_272,, -102,slide_274,, -103,slide_275,, -104,slide_276,, -105,slide_277,, -106,slide_280,, -107,slide_284,, -108,slide_285,, -109,slide_286,, -110,slide_287,, -111,slide_288,, -112,slide_289,, -113,slide_292,, -114,slide_293,, -115,slide_296,, -116,slide_297,, -117,slide_298,, -118,slide_301,, -119,slide_305,, -120,slide_307,, -121,slide_308,, -122,slide_312,, -123,slide_313,, -124,slide_314,, -125,slide_315,, -126,slide_317,, -127,slide_318,, -128,slide_319,, -129,slide_320,, -130,slide_323,, -131,slide_327,, -132,slide_328,, -133,slide_5,, -134,slide_330,, -135,slide_331,, -136,slide_332,, -137,slide_333,, -138,slide_334,, -139,slide_335,, -140,slide_337,, -141,slide_341,, -142,slide_347,, -143,slide_348,, -144,slide_349,, -145,slide_350,, -146,slide_353,, -147,slide_354,, -148,slide_356,, -149,slide_360,, -150,slide_365,, -151,slide_367,, -152,slide_369,, -153,slide_371,, -154,slide_372,, -155,slide_373,, -156,slide_374,, -157,slide_39,, -158,slide_376,, -159,slide_377,, -160,slide_378,, -161,slide_379,, -162,slide_380,, -163,slide_382,, -164,slide_383,, -165,slide_384,, -166,slide_40,, -167,slide_386,, -168,slide_387,, -169,slide_388,, -170,slide_390,, -171,slide_393,, -172,slide_394,, -173,slide_395,, -174,slide_396,, -175,slide_397,, -176,slide_398,, -177,slide_400,, -178,slide_401,, -179,slide_402,, -180,slide_403,, -181,slide_404,, -182,slide_406,, -183,slide_42,, -184,slide_409,, -185,slide_410,, -186,slide_414,, -187,slide_415,, -188,slide_416,, -189,slide_417,, -190,slide_419,, -191,slide_420,, -192,slide_421,, -193,slide_424,, -194,slide_0,, -195,slide_1,, -196,slide_2,, -197,slide_111,, -198,slide_115,, -199,slide_125,, -200,slide_129,, -201,slide_131,, -202,slide_138,, -203,slide_140,, -204,slide_148,, -205,slide_149,, -206,slide_158,, -207,slide_159,, -208,slide_18,, -209,slide_19,, -210,slide_163,, -211,slide_164,, -212,slide_169,, -213,slide_170,, -214,slide_181,, -215,slide_182,, -216,slide_187,, -217,slide_188,, -218,slide_190,, -219,slide_191,, -220,slide_192,, -221,slide_193,, -222,slide_22,, -223,slide_198,, -224,slide_201,, -225,slide_203,, -226,slide_23,, -227,slide_206,, -228,slide_215,, -229,slide_216,, -230,slide_24,, -231,slide_219,, -232,slide_220,, -233,slide_238,, -234,slide_239,, -235,slide_249,, -236,slide_258,, -237,slide_262,, -238,slide_263,, -239,slide_266,, -240,slide_269,, -241,slide_273,, -242,slide_30,, -243,slide_278,, -244,slide_279,, -245,slide_281,, -246,slide_282,, -247,slide_283,, -248,slide_290,, -249,slide_295,, -250,slide_32,, -251,slide_299,, -252,slide_302,, -253,slide_303,, -254,slide_304,, -255,slide_306,, -256,slide_33,, -257,slide_309,, -258,slide_310,, -259,slide_311,, -260,slide_321,, -261,slide_338,, -262,slide_339,, -263,slide_342,, -264,slide_343,, -265,slide_344,, -266,slide_346,, -267,slide_37,, -268,slide_361,, -269,slide_362,, -270,slide_38,, -271,slide_363,, -272,slide_364,, -273,slide_370,, -274,slide_375,, -275,slide_381,, -276,slide_389,, -277,slide_391,, -278,slide_392,, -279,slide_41,, -280,slide_399,, -281,slide_407,, -282,slide_408,, -283,slide_412,, -284,slide_418,, -285,slide_422,, -286,slide_425,, -287,slide_428,, -288,slide_432,, -289,slide_433,, -290,slide_434,, -291,slide_435,, -292,slide_436,, -293,slide_438,, -294,slide_440,, -295,slide_441,, -296,slide_447,, -297,slide_449,, -298,slide_450,, -299,slide_451,, -300,slide_453,, diff --git a/splits/task_1_tumor_vs_normal_75/splits_7_bool.csv b/splits/task_1_tumor_vs_normal_75/splits_7_bool.csv deleted file mode 100644 index a42217e6..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_7_bool.csv +++ /dev/null @@ -1,403 +0,0 @@ -,train,val,test -slide_109,True,False,False -slide_110,True,False,False -slide_112,True,False,False -slide_113,True,False,False -slide_114,True,False,False -slide_116,True,False,False -slide_117,True,False,False -slide_118,True,False,False -slide_14,True,False,False -slide_120,True,False,False -slide_121,True,False,False -slide_122,True,False,False -slide_123,True,False,False -slide_124,True,False,False -slide_127,True,False,False -slide_128,True,False,False -slide_132,True,False,False -slide_134,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_139,True,False,False -slide_141,True,False,False -slide_142,True,False,False -slide_143,True,False,False -slide_145,True,False,False -slide_146,True,False,False -slide_17,True,False,False -slide_150,True,False,False -slide_152,True,False,False -slide_153,True,False,False -slide_155,True,False,False -slide_156,True,False,False -slide_157,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_165,True,False,False -slide_166,True,False,False -slide_167,True,False,False -slide_168,True,False,False -slide_171,True,False,False -slide_172,True,False,False -slide_20,True,False,False -slide_173,True,False,False -slide_174,True,False,False -slide_176,True,False,False -slide_177,True,False,False -slide_179,True,False,False -slide_180,True,False,False -slide_21,True,False,False -slide_183,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_194,True,False,False -slide_197,True,False,False -slide_200,True,False,False -slide_202,True,False,False -slide_204,True,False,False -slide_205,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_209,True,False,False -slide_212,True,False,False -slide_213,True,False,False -slide_214,True,False,False -slide_217,True,False,False -slide_3,True,False,False -slide_4,True,False,False -slide_218,True,False,False -slide_221,True,False,False -slide_222,True,False,False -slide_223,True,False,False -slide_224,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_227,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_230,True,False,False -slide_231,True,False,False -slide_232,True,False,False -slide_233,True,False,False -slide_234,True,False,False -slide_235,True,False,False -slide_236,True,False,False -slide_237,True,False,False -slide_26,True,False,False -slide_240,True,False,False -slide_250,True,False,False -slide_251,True,False,False -slide_252,True,False,False -slide_253,True,False,False -slide_254,True,False,False -slide_256,True,False,False -slide_257,True,False,False -slide_259,True,False,False -slide_260,True,False,False -slide_261,True,False,False -slide_267,True,False,False -slide_270,True,False,False -slide_271,True,False,False -slide_272,True,False,False -slide_274,True,False,False -slide_275,True,False,False -slide_276,True,False,False -slide_277,True,False,False -slide_280,True,False,False -slide_284,True,False,False -slide_285,True,False,False -slide_286,True,False,False -slide_287,True,False,False -slide_288,True,False,False -slide_289,True,False,False -slide_292,True,False,False -slide_293,True,False,False -slide_296,True,False,False -slide_297,True,False,False -slide_298,True,False,False -slide_301,True,False,False -slide_305,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_312,True,False,False -slide_313,True,False,False -slide_314,True,False,False -slide_315,True,False,False -slide_317,True,False,False -slide_318,True,False,False -slide_319,True,False,False -slide_320,True,False,False -slide_323,True,False,False -slide_327,True,False,False -slide_328,True,False,False -slide_5,True,False,False -slide_330,True,False,False -slide_331,True,False,False -slide_332,True,False,False -slide_333,True,False,False -slide_334,True,False,False -slide_335,True,False,False -slide_337,True,False,False -slide_341,True,False,False -slide_347,True,False,False -slide_348,True,False,False -slide_349,True,False,False -slide_350,True,False,False -slide_353,True,False,False -slide_354,True,False,False -slide_356,True,False,False -slide_360,True,False,False -slide_365,True,False,False -slide_367,True,False,False -slide_369,True,False,False -slide_371,True,False,False -slide_372,True,False,False -slide_373,True,False,False -slide_374,True,False,False -slide_39,True,False,False -slide_376,True,False,False -slide_377,True,False,False -slide_378,True,False,False -slide_379,True,False,False -slide_380,True,False,False -slide_382,True,False,False -slide_383,True,False,False -slide_384,True,False,False -slide_40,True,False,False -slide_386,True,False,False -slide_387,True,False,False -slide_388,True,False,False -slide_390,True,False,False -slide_393,True,False,False -slide_394,True,False,False -slide_395,True,False,False -slide_396,True,False,False -slide_397,True,False,False -slide_398,True,False,False -slide_400,True,False,False -slide_401,True,False,False -slide_402,True,False,False -slide_403,True,False,False -slide_404,True,False,False -slide_406,True,False,False -slide_42,True,False,False -slide_409,True,False,False -slide_410,True,False,False -slide_414,True,False,False -slide_415,True,False,False -slide_416,True,False,False -slide_417,True,False,False -slide_419,True,False,False -slide_420,True,False,False -slide_421,True,False,False -slide_424,True,False,False -slide_0,True,False,False -slide_1,True,False,False -slide_2,True,False,False -slide_111,True,False,False -slide_115,True,False,False -slide_125,True,False,False -slide_129,True,False,False -slide_131,True,False,False -slide_138,True,False,False -slide_140,True,False,False -slide_148,True,False,False -slide_149,True,False,False -slide_158,True,False,False -slide_159,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_163,True,False,False -slide_164,True,False,False -slide_169,True,False,False -slide_170,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_190,True,False,False -slide_191,True,False,False -slide_192,True,False,False -slide_193,True,False,False -slide_22,True,False,False -slide_198,True,False,False -slide_201,True,False,False -slide_203,True,False,False -slide_23,True,False,False -slide_206,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_24,True,False,False -slide_219,True,False,False -slide_220,True,False,False -slide_238,True,False,False -slide_239,True,False,False -slide_249,True,False,False -slide_258,True,False,False -slide_262,True,False,False -slide_263,True,False,False -slide_266,True,False,False -slide_269,True,False,False -slide_273,True,False,False -slide_30,True,False,False -slide_278,True,False,False -slide_279,True,False,False -slide_281,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_290,True,False,False -slide_295,True,False,False -slide_32,True,False,False -slide_299,True,False,False -slide_302,True,False,False -slide_303,True,False,False -slide_304,True,False,False -slide_306,True,False,False -slide_33,True,False,False -slide_309,True,False,False -slide_310,True,False,False -slide_311,True,False,False -slide_321,True,False,False -slide_338,True,False,False -slide_339,True,False,False -slide_342,True,False,False -slide_343,True,False,False -slide_344,True,False,False -slide_346,True,False,False -slide_37,True,False,False -slide_361,True,False,False -slide_362,True,False,False -slide_38,True,False,False -slide_363,True,False,False -slide_364,True,False,False -slide_370,True,False,False -slide_375,True,False,False -slide_381,True,False,False -slide_389,True,False,False -slide_391,True,False,False -slide_392,True,False,False -slide_41,True,False,False -slide_399,True,False,False -slide_407,True,False,False -slide_408,True,False,False -slide_412,True,False,False -slide_418,True,False,False -slide_422,True,False,False -slide_425,True,False,False -slide_428,True,False,False -slide_432,True,False,False -slide_433,True,False,False -slide_434,True,False,False -slide_435,True,False,False -slide_436,True,False,False -slide_438,True,False,False -slide_440,True,False,False -slide_441,True,False,False -slide_447,True,False,False -slide_449,True,False,False -slide_450,True,False,False -slide_451,True,False,False -slide_453,True,False,False -slide_242,False,True,False -slide_243,False,True,False -slide_28,False,True,False -slide_29,False,True,False -slide_16,False,True,False -slide_244,False,True,False -slide_67,False,True,False -slide_8,False,True,False -slide_411,False,True,False -slide_130,False,True,False -slide_405,False,True,False -slide_448,False,True,False -slide_49,False,True,False -slide_329,False,True,False -slide_472,False,True,False -slide_473,False,True,False -slide_154,False,True,False -slide_352,False,True,False -slide_88,False,True,False -slide_89,False,True,False -slide_75,False,True,False -slide_137,False,True,False -slide_50,False,True,False -slide_54,False,True,False -slide_359,False,True,False -slide_119,False,True,False -slide_461,False,True,False -slide_247,False,True,False -slide_248,False,True,False -slide_336,False,True,False -slide_489,False,True,False -slide_490,False,True,False -slide_358,False,True,False -slide_496,False,True,False -slide_300,False,True,False -slide_48,False,True,False -slide_355,False,True,False -slide_83,False,True,False -slide_126,False,True,False -slide_429,False,True,False -slide_477,False,True,False -slide_322,False,True,False -slide_351,False,True,False -slide_97,False,True,False -slide_255,False,True,False -slide_245,False,True,False -slide_246,False,True,False -slide_195,False,True,False -slide_196,False,True,False -slide_241,False,True,False -slide_437,False,True,False -slide_291,False,True,False -slide_444,False,True,False -slide_175,False,False,True -slide_96,False,False,True -slide_144,False,False,True -slide_52,False,False,True -slide_268,False,False,True -slide_56,False,False,True -slide_71,False,False,True -slide_476,False,False,True -slide_340,False,False,True -slide_199,False,False,True -slide_324,False,False,True -slide_184,False,False,True -slide_423,False,False,True -slide_12,False,False,True -slide_25,False,False,True -slide_316,False,False,True -slide_27,False,False,True -slide_84,False,False,True -slide_385,False,False,True -slide_413,False,False,True -slide_368,False,False,True -slide_210,False,False,True -slide_211,False,False,True -slide_366,False,False,True -slide_133,False,False,True -slide_13,False,False,True -slide_442,False,False,True -slide_452,False,False,True -slide_294,False,False,True -slide_151,False,False,True -slide_35,False,False,True -slide_31,False,False,True -slide_345,False,False,True -slide_189,False,False,True -slide_36,False,False,True -slide_34,False,False,True -slide_80,False,False,True -slide_265,False,False,True -slide_15,False,False,True -slide_43,False,False,True -slide_357,False,False,True -slide_147,False,False,True -slide_264,False,False,True -slide_178,False,False,True -slide_325,False,False,True -slide_326,False,False,True -slide_487,False,False,True -slide_488,False,False,True diff --git a/splits/task_1_tumor_vs_normal_75/splits_7_descriptor.csv b/splits/task_1_tumor_vs_normal_75/splits_7_descriptor.csv deleted file mode 100644 index fd4c71c3..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_7_descriptor.csv +++ /dev/null @@ -1,3 +0,0 @@ -,train,val,test -normal_tissue,213,37,32 -tumor_tissue,88,16,16 diff --git a/splits/task_1_tumor_vs_normal_75/splits_8.csv b/splits/task_1_tumor_vs_normal_75/splits_8.csv deleted file mode 100644 index 203a744a..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_8.csv +++ /dev/null @@ -1,301 +0,0 @@ -,train,val,test -0,slide_13,slide_53,slide_452 -1,slide_109,slide_209,slide_376 -2,slide_110,slide_186,slide_150 -3,slide_113,slide_403,slide_468 -4,slide_114,slide_260,slide_8 -5,slide_118,slide_332,slide_28 -6,slide_119,slide_16,slide_29 -7,slide_121,slide_382,slide_480 -8,slide_123,slide_171,slide_122 -9,slide_124,slide_277,slide_47 -10,slide_128,slide_226,slide_274 -11,slide_130,slide_227,slide_275 -12,slide_132,slide_367,slide_14 -13,slide_133,slide_120,slide_483 -14,slide_134,slide_406,slide_185 -15,slide_135,slide_292,slide_116 -16,slide_136,slide_165,slide_117 -17,slide_137,slide_419,slide_231 -18,slide_139,slide_286,slide_88 -19,slide_141,slide_383,slide_89 -20,slide_142,slide_463,slide_293 -21,slide_143,slide_414,slide_426 -22,slide_144,slide_415,slide_51 -23,slide_145,slide_112,slide_271 -24,slide_146,slide_496,slide_335 -25,slide_17,slide_91,slide_285 -26,slide_151,slide_166,slide_127 -27,slide_152,slide_256,slide_289 -28,slide_153,slide_371,slide_360 -29,slide_154,slide_372,slide_359 -30,slide_155,slide_222,slide_251 -31,slide_156,slide_5,slide_194 -32,slide_157,slide_108,slide_409 -33,slide_160,slide_281,slide_361 -34,slide_161,slide_454,slide_362 -35,slide_162,slide_41,slide_193 -36,slide_167,slide_444,slide_249 -37,slide_168,slide_457,slide_241 -38,slide_172,slide_195,slide_453 -39,slide_20,slide_196,slide_475 -40,slide_173,slide_425,slide_55 -41,slide_174,slide_190,slide_407 -42,slide_175,slide_181,slide_408 -43,slide_176,slide_470,slide_422 -44,slide_177,slide_471,slide_351 -45,slide_179,slide_63,slide_273 -46,slide_180,slide_311,slide_412 -47,slide_21,slide_129,slide_238 -48,slide_183,slide_34,slide_76 -49,slide_184,slide_355,slide_449 -50,slide_197,,slide_450 -51,slide_199,, -52,slide_200,, -53,slide_202,, -54,slide_204,, -55,slide_205,, -56,slide_207,, -57,slide_208,, -58,slide_210,, -59,slide_211,, -60,slide_212,, -61,slide_213,, -62,slide_214,, -63,slide_217,, -64,slide_3,, -65,slide_4,, -66,slide_218,, -67,slide_221,, -68,slide_223,, -69,slide_224,, -70,slide_225,, -71,slide_228,, -72,slide_229,, -73,slide_25,, -74,slide_230,, -75,slide_232,, -76,slide_233,, -77,slide_234,, -78,slide_235,, -79,slide_236,, -80,slide_237,, -81,slide_26,, -82,slide_240,, -83,slide_242,, -84,slide_243,, -85,slide_244,, -86,slide_247,, -87,slide_248,, -88,slide_250,, -89,slide_252,, -90,slide_27,, -91,slide_253,, -92,slide_254,, -93,slide_257,, -94,slide_259,, -95,slide_261,, -96,slide_267,, -97,slide_268,, -98,slide_270,, -99,slide_272,, -100,slide_276,, -101,slide_280,, -102,slide_284,, -103,slide_287,, -104,slide_288,, -105,slide_294,, -106,slide_296,, -107,slide_297,, -108,slide_298,, -109,slide_300,, -110,slide_301,, -111,slide_305,, -112,slide_307,, -113,slide_308,, -114,slide_312,, -115,slide_313,, -116,slide_314,, -117,slide_315,, -118,slide_316,, -119,slide_317,, -120,slide_318,, -121,slide_319,, -122,slide_320,, -123,slide_323,, -124,slide_324,, -125,slide_327,, -126,slide_328,, -127,slide_35,, -128,slide_329,, -129,slide_330,, -130,slide_331,, -131,slide_333,, -132,slide_334,, -133,slide_336,, -134,slide_337,, -135,slide_340,, -136,slide_341,, -137,slide_347,, -138,slide_348,, -139,slide_349,, -140,slide_350,, -141,slide_352,, -142,slide_353,, -143,slide_354,, -144,slide_356,, -145,slide_358,, -146,slide_365,, -147,slide_366,, -148,slide_368,, -149,slide_369,, -150,slide_373,, -151,slide_374,, -152,slide_39,, -153,slide_377,, -154,slide_378,, -155,slide_379,, -156,slide_380,, -157,slide_384,, -158,slide_385,, -159,slide_40,, -160,slide_386,, -161,slide_387,, -162,slide_388,, -163,slide_390,, -164,slide_393,, -165,slide_394,, -166,slide_395,, -167,slide_396,, -168,slide_397,, -169,slide_398,, -170,slide_400,, -171,slide_401,, -172,slide_402,, -173,slide_404,, -174,slide_405,, -175,slide_42,, -176,slide_410,, -177,slide_411,, -178,slide_413,, -179,slide_416,, -180,slide_417,, -181,slide_420,, -182,slide_421,, -183,slide_423,, -184,slide_424,, -185,slide_427,, -186,slide_44,, -187,slide_45,, -188,slide_430,, -189,slide_431,, -190,slide_439,, -191,slide_6,, -192,slide_46,, -193,slide_442,, -194,slide_0,, -195,slide_1,, -196,slide_2,, -197,slide_111,, -198,slide_115,, -199,slide_125,, -200,slide_126,, -201,slide_15,, -202,slide_131,, -203,slide_138,, -204,slide_140,, -205,slide_147,, -206,slide_148,, -207,slide_149,, -208,slide_158,, -209,slide_159,, -210,slide_18,, -211,slide_19,, -212,slide_163,, -213,slide_164,, -214,slide_169,, -215,slide_170,, -216,slide_178,, -217,slide_182,, -218,slide_187,, -219,slide_188,, -220,slide_189,, -221,slide_191,, -222,slide_192,, -223,slide_22,, -224,slide_198,, -225,slide_201,, -226,slide_203,, -227,slide_23,, -228,slide_206,, -229,slide_215,, -230,slide_216,, -231,slide_24,, -232,slide_219,, -233,slide_220,, -234,slide_239,, -235,slide_245,, -236,slide_246,, -237,slide_255,, -238,slide_258,, -239,slide_262,, -240,slide_263,, -241,slide_264,, -242,slide_265,, -243,slide_266,, -244,slide_269,, -245,slide_30,, -246,slide_278,, -247,slide_279,, -248,slide_282,, -249,slide_283,, -250,slide_31,, -251,slide_290,, -252,slide_291,, -253,slide_295,, -254,slide_32,, -255,slide_299,, -256,slide_302,, -257,slide_303,, -258,slide_304,, -259,slide_306,, -260,slide_33,, -261,slide_309,, -262,slide_310,, -263,slide_321,, -264,slide_322,, -265,slide_325,, -266,slide_326,, -267,slide_338,, -268,slide_339,, -269,slide_36,, -270,slide_342,, -271,slide_343,, -272,slide_344,, -273,slide_345,, -274,slide_346,, -275,slide_37,, -276,slide_357,, -277,slide_38,, -278,slide_363,, -279,slide_364,, -280,slide_370,, -281,slide_375,, -282,slide_381,, -283,slide_389,, -284,slide_391,, -285,slide_392,, -286,slide_399,, -287,slide_418,, -288,slide_43,, -289,slide_428,, -290,slide_429,, -291,slide_432,, -292,slide_433,, -293,slide_434,, -294,slide_435,, -295,slide_436,, -296,slide_437,, -297,slide_438,, -298,slide_440,, -299,slide_441,, diff --git a/splits/task_1_tumor_vs_normal_75/splits_8_bool.csv b/splits/task_1_tumor_vs_normal_75/splits_8_bool.csv deleted file mode 100644 index 2bb4469f..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_8_bool.csv +++ /dev/null @@ -1,402 +0,0 @@ -,train,val,test -slide_13,True,False,False -slide_109,True,False,False -slide_110,True,False,False -slide_113,True,False,False -slide_114,True,False,False -slide_118,True,False,False -slide_119,True,False,False -slide_121,True,False,False -slide_123,True,False,False -slide_124,True,False,False -slide_128,True,False,False -slide_130,True,False,False -slide_132,True,False,False -slide_133,True,False,False -slide_134,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_137,True,False,False -slide_139,True,False,False -slide_141,True,False,False -slide_142,True,False,False -slide_143,True,False,False -slide_144,True,False,False -slide_145,True,False,False -slide_146,True,False,False -slide_17,True,False,False -slide_151,True,False,False -slide_152,True,False,False -slide_153,True,False,False -slide_154,True,False,False -slide_155,True,False,False -slide_156,True,False,False -slide_157,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_167,True,False,False -slide_168,True,False,False -slide_172,True,False,False -slide_20,True,False,False -slide_173,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_177,True,False,False -slide_179,True,False,False -slide_180,True,False,False -slide_21,True,False,False -slide_183,True,False,False -slide_184,True,False,False -slide_197,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_202,True,False,False -slide_204,True,False,False -slide_205,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_210,True,False,False -slide_211,True,False,False -slide_212,True,False,False -slide_213,True,False,False -slide_214,True,False,False -slide_217,True,False,False -slide_3,True,False,False -slide_4,True,False,False -slide_218,True,False,False -slide_221,True,False,False -slide_223,True,False,False -slide_224,True,False,False -slide_225,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_25,True,False,False -slide_230,True,False,False -slide_232,True,False,False -slide_233,True,False,False -slide_234,True,False,False -slide_235,True,False,False -slide_236,True,False,False -slide_237,True,False,False -slide_26,True,False,False -slide_240,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_244,True,False,False -slide_247,True,False,False -slide_248,True,False,False -slide_250,True,False,False -slide_252,True,False,False -slide_27,True,False,False -slide_253,True,False,False -slide_254,True,False,False -slide_257,True,False,False -slide_259,True,False,False -slide_261,True,False,False -slide_267,True,False,False -slide_268,True,False,False -slide_270,True,False,False -slide_272,True,False,False -slide_276,True,False,False -slide_280,True,False,False -slide_284,True,False,False -slide_287,True,False,False -slide_288,True,False,False -slide_294,True,False,False -slide_296,True,False,False -slide_297,True,False,False -slide_298,True,False,False -slide_300,True,False,False -slide_301,True,False,False -slide_305,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_312,True,False,False -slide_313,True,False,False -slide_314,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_317,True,False,False -slide_318,True,False,False -slide_319,True,False,False -slide_320,True,False,False -slide_323,True,False,False -slide_324,True,False,False -slide_327,True,False,False -slide_328,True,False,False -slide_35,True,False,False -slide_329,True,False,False -slide_330,True,False,False -slide_331,True,False,False -slide_333,True,False,False -slide_334,True,False,False -slide_336,True,False,False -slide_337,True,False,False -slide_340,True,False,False -slide_341,True,False,False -slide_347,True,False,False -slide_348,True,False,False -slide_349,True,False,False -slide_350,True,False,False -slide_352,True,False,False -slide_353,True,False,False -slide_354,True,False,False -slide_356,True,False,False -slide_358,True,False,False -slide_365,True,False,False -slide_366,True,False,False -slide_368,True,False,False -slide_369,True,False,False -slide_373,True,False,False -slide_374,True,False,False -slide_39,True,False,False -slide_377,True,False,False -slide_378,True,False,False -slide_379,True,False,False -slide_380,True,False,False -slide_384,True,False,False -slide_385,True,False,False -slide_40,True,False,False -slide_386,True,False,False -slide_387,True,False,False -slide_388,True,False,False -slide_390,True,False,False -slide_393,True,False,False -slide_394,True,False,False -slide_395,True,False,False -slide_396,True,False,False -slide_397,True,False,False -slide_398,True,False,False -slide_400,True,False,False -slide_401,True,False,False -slide_402,True,False,False -slide_404,True,False,False -slide_405,True,False,False -slide_42,True,False,False -slide_410,True,False,False -slide_411,True,False,False -slide_413,True,False,False -slide_416,True,False,False -slide_417,True,False,False -slide_420,True,False,False -slide_421,True,False,False -slide_423,True,False,False -slide_424,True,False,False -slide_427,True,False,False -slide_44,True,False,False -slide_45,True,False,False -slide_430,True,False,False -slide_431,True,False,False -slide_439,True,False,False -slide_6,True,False,False -slide_46,True,False,False -slide_442,True,False,False -slide_0,True,False,False -slide_1,True,False,False -slide_2,True,False,False -slide_111,True,False,False -slide_115,True,False,False -slide_125,True,False,False -slide_126,True,False,False -slide_15,True,False,False -slide_131,True,False,False -slide_138,True,False,False -slide_140,True,False,False -slide_147,True,False,False -slide_148,True,False,False -slide_149,True,False,False -slide_158,True,False,False -slide_159,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_163,True,False,False -slide_164,True,False,False -slide_169,True,False,False -slide_170,True,False,False -slide_178,True,False,False -slide_182,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_189,True,False,False -slide_191,True,False,False -slide_192,True,False,False -slide_22,True,False,False -slide_198,True,False,False -slide_201,True,False,False -slide_203,True,False,False -slide_23,True,False,False -slide_206,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_24,True,False,False -slide_219,True,False,False -slide_220,True,False,False -slide_239,True,False,False -slide_245,True,False,False -slide_246,True,False,False -slide_255,True,False,False -slide_258,True,False,False -slide_262,True,False,False -slide_263,True,False,False -slide_264,True,False,False -slide_265,True,False,False -slide_266,True,False,False -slide_269,True,False,False -slide_30,True,False,False -slide_278,True,False,False -slide_279,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_31,True,False,False -slide_290,True,False,False -slide_291,True,False,False -slide_295,True,False,False -slide_32,True,False,False -slide_299,True,False,False -slide_302,True,False,False -slide_303,True,False,False -slide_304,True,False,False -slide_306,True,False,False -slide_33,True,False,False -slide_309,True,False,False -slide_310,True,False,False -slide_321,True,False,False -slide_322,True,False,False -slide_325,True,False,False -slide_326,True,False,False -slide_338,True,False,False -slide_339,True,False,False -slide_36,True,False,False -slide_342,True,False,False -slide_343,True,False,False -slide_344,True,False,False -slide_345,True,False,False -slide_346,True,False,False -slide_37,True,False,False -slide_357,True,False,False -slide_38,True,False,False -slide_363,True,False,False -slide_364,True,False,False -slide_370,True,False,False -slide_375,True,False,False -slide_381,True,False,False -slide_389,True,False,False -slide_391,True,False,False -slide_392,True,False,False -slide_399,True,False,False -slide_418,True,False,False -slide_43,True,False,False -slide_428,True,False,False -slide_429,True,False,False -slide_432,True,False,False -slide_433,True,False,False -slide_434,True,False,False -slide_435,True,False,False -slide_436,True,False,False -slide_437,True,False,False -slide_438,True,False,False -slide_440,True,False,False -slide_441,True,False,False -slide_53,False,True,False -slide_209,False,True,False -slide_186,False,True,False -slide_403,False,True,False -slide_260,False,True,False -slide_332,False,True,False -slide_16,False,True,False -slide_382,False,True,False -slide_171,False,True,False -slide_277,False,True,False -slide_226,False,True,False -slide_227,False,True,False -slide_367,False,True,False -slide_120,False,True,False -slide_406,False,True,False -slide_292,False,True,False -slide_165,False,True,False -slide_419,False,True,False -slide_286,False,True,False -slide_383,False,True,False -slide_463,False,True,False -slide_414,False,True,False -slide_415,False,True,False -slide_112,False,True,False -slide_496,False,True,False -slide_91,False,True,False -slide_166,False,True,False -slide_256,False,True,False -slide_371,False,True,False -slide_372,False,True,False -slide_222,False,True,False -slide_5,False,True,False -slide_108,False,True,False -slide_281,False,True,False -slide_454,False,True,False -slide_41,False,True,False -slide_444,False,True,False -slide_457,False,True,False -slide_195,False,True,False -slide_196,False,True,False -slide_425,False,True,False -slide_190,False,True,False -slide_181,False,True,False -slide_470,False,True,False -slide_471,False,True,False -slide_63,False,True,False -slide_311,False,True,False -slide_129,False,True,False -slide_34,False,True,False -slide_355,False,True,False -slide_452,False,False,True -slide_376,False,False,True -slide_150,False,False,True -slide_468,False,False,True -slide_8,False,False,True -slide_28,False,False,True -slide_29,False,False,True -slide_480,False,False,True -slide_122,False,False,True -slide_47,False,False,True -slide_274,False,False,True -slide_275,False,False,True -slide_14,False,False,True -slide_483,False,False,True -slide_185,False,False,True -slide_116,False,False,True -slide_117,False,False,True -slide_231,False,False,True -slide_88,False,False,True -slide_89,False,False,True -slide_293,False,False,True -slide_426,False,False,True -slide_51,False,False,True -slide_271,False,False,True -slide_335,False,False,True -slide_285,False,False,True -slide_127,False,False,True -slide_289,False,False,True -slide_360,False,False,True -slide_359,False,False,True -slide_251,False,False,True -slide_194,False,False,True -slide_409,False,False,True -slide_361,False,False,True -slide_362,False,False,True -slide_193,False,False,True -slide_249,False,False,True -slide_241,False,False,True -slide_453,False,False,True -slide_475,False,False,True -slide_55,False,False,True -slide_407,False,False,True -slide_408,False,False,True -slide_422,False,False,True -slide_351,False,False,True -slide_273,False,False,True -slide_412,False,False,True -slide_238,False,False,True -slide_76,False,False,True -slide_449,False,False,True -slide_450,False,False,True diff --git a/splits/task_1_tumor_vs_normal_75/splits_8_descriptor.csv b/splits/task_1_tumor_vs_normal_75/splits_8_descriptor.csv deleted file mode 100644 index 44190c66..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_8_descriptor.csv +++ /dev/null @@ -1,3 +0,0 @@ -,train,val,test -normal_tissue,212,34,36 -tumor_tissue,88,16,15 diff --git a/splits/task_1_tumor_vs_normal_75/splits_9.csv b/splits/task_1_tumor_vs_normal_75/splits_9.csv deleted file mode 100644 index 2576859a..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_9.csv +++ /dev/null @@ -1,303 +0,0 @@ -,train,val,test -0,slide_13,slide_256,slide_367 -1,slide_109,slide_439,slide_430 -2,slide_110,slide_252,slide_71 -3,slide_112,slide_168,slide_237 -4,slide_113,slide_50,slide_49 -5,slide_117,slide_446,slide_231 -6,slide_118,slide_406,slide_476 -7,slide_119,slide_423,slide_414 -8,slide_120,slide_116,slide_415 -9,slide_121,slide_98,slide_12 -10,slide_122,slide_314,slide_328 -11,slide_123,slide_70,slide_8 -12,slide_124,slide_3,slide_218 -13,slide_127,slide_4,slide_92 -14,slide_128,slide_456,slide_365 -15,slide_130,slide_233,slide_184 -16,slide_133,slide_214,slide_108 -17,slide_134,slide_225,slide_180 -18,slide_135,slide_427,slide_210 -19,slide_137,slide_154,slide_211 -20,slide_16,slide_14,slide_390 -21,slide_139,slide_297,slide_183 -22,slide_143,slide_132,slide_87 -23,slide_144,slide_114,slide_384 -24,slide_145,slide_136,slide_405 -25,slide_146,slide_396,slide_277 -26,slide_17,slide_272,slide_141 -27,slide_150,slide_267,slide_366 -28,slide_151,slide_20,slide_142 -29,slide_152,slide_368,slide_359 -30,slide_153,slide_58,slide_244 -31,slide_155,slide_32,slide_385 -32,slide_156,slide_265,slide_306 -33,slide_157,slide_38,slide_434 -34,slide_160,slide_470,slide_435 -35,slide_161,slide_471,slide_85 -36,slide_162,slide_131,slide_238 -37,slide_165,slide_111,slide_178 -38,slide_166,slide_299,slide_264 -39,slide_167,slide_86,slide_206 -40,slide_171,slide_438,slide_428 -41,slide_172,slide_80,slide_104 -42,slide_173,slide_457,slide_76 -43,slide_174,slide_458,slide_291 -44,slide_175,slide_138,slide_391 -45,slide_176,slide_295,slide_392 -46,slide_177,slide_302,slide_460 -47,slide_179,,slide_432 -48,slide_21,,slide_433 -49,slide_185,,slide_412 -50,slide_186,, -51,slide_194,, -52,slide_197,, -53,slide_199,, -54,slide_200,, -55,slide_202,, -56,slide_204,, -57,slide_205,, -58,slide_207,, -59,slide_208,, -60,slide_209,, -61,slide_212,, -62,slide_213,, -63,slide_217,, -64,slide_221,, -65,slide_222,, -66,slide_223,, -67,slide_224,, -68,slide_226,, -69,slide_227,, -70,slide_228,, -71,slide_229,, -72,slide_25,, -73,slide_230,, -74,slide_232,, -75,slide_234,, -76,slide_235,, -77,slide_236,, -78,slide_26,, -79,slide_240,, -80,slide_242,, -81,slide_243,, -82,slide_247,, -83,slide_248,, -84,slide_250,, -85,slide_251,, -86,slide_27,, -87,slide_253,, -88,slide_254,, -89,slide_257,, -90,slide_259,, -91,slide_260,, -92,slide_261,, -93,slide_28,, -94,slide_29,, -95,slide_268,, -96,slide_270,, -97,slide_271,, -98,slide_274,, -99,slide_275,, -100,slide_276,, -101,slide_280,, -102,slide_284,, -103,slide_285,, -104,slide_286,, -105,slide_287,, -106,slide_288,, -107,slide_289,, -108,slide_292,, -109,slide_293,, -110,slide_294,, -111,slide_296,, -112,slide_298,, -113,slide_300,, -114,slide_301,, -115,slide_305,, -116,slide_307,, -117,slide_308,, -118,slide_312,, -119,slide_313,, -120,slide_315,, -121,slide_316,, -122,slide_317,, -123,slide_318,, -124,slide_319,, -125,slide_320,, -126,slide_323,, -127,slide_324,, -128,slide_327,, -129,slide_5,, -130,slide_35,, -131,slide_329,, -132,slide_330,, -133,slide_331,, -134,slide_332,, -135,slide_333,, -136,slide_334,, -137,slide_335,, -138,slide_336,, -139,slide_337,, -140,slide_340,, -141,slide_341,, -142,slide_347,, -143,slide_348,, -144,slide_349,, -145,slide_350,, -146,slide_352,, -147,slide_353,, -148,slide_354,, -149,slide_356,, -150,slide_358,, -151,slide_360,, -152,slide_369,, -153,slide_371,, -154,slide_372,, -155,slide_373,, -156,slide_374,, -157,slide_39,, -158,slide_376,, -159,slide_377,, -160,slide_378,, -161,slide_379,, -162,slide_380,, -163,slide_382,, -164,slide_383,, -165,slide_40,, -166,slide_386,, -167,slide_387,, -168,slide_388,, -169,slide_393,, -170,slide_394,, -171,slide_395,, -172,slide_397,, -173,slide_398,, -174,slide_400,, -175,slide_401,, -176,slide_402,, -177,slide_403,, -178,slide_404,, -179,slide_42,, -180,slide_409,, -181,slide_410,, -182,slide_411,, -183,slide_413,, -184,slide_416,, -185,slide_417,, -186,slide_419,, -187,slide_420,, -188,slide_421,, -189,slide_424,, -190,slide_426,, -191,slide_44,, -192,slide_45,, -193,slide_431,, -194,slide_6,, -195,slide_46,, -196,slide_0,, -197,slide_1,, -198,slide_2,, -199,slide_115,, -200,slide_125,, -201,slide_126,, -202,slide_15,, -203,slide_129,, -204,slide_140,, -205,slide_147,, -206,slide_148,, -207,slide_149,, -208,slide_158,, -209,slide_159,, -210,slide_18,, -211,slide_19,, -212,slide_163,, -213,slide_164,, -214,slide_169,, -215,slide_170,, -216,slide_181,, -217,slide_182,, -218,slide_187,, -219,slide_188,, -220,slide_189,, -221,slide_190,, -222,slide_191,, -223,slide_192,, -224,slide_193,, -225,slide_22,, -226,slide_195,, -227,slide_196,, -228,slide_198,, -229,slide_201,, -230,slide_203,, -231,slide_23,, -232,slide_215,, -233,slide_216,, -234,slide_24,, -235,slide_219,, -236,slide_220,, -237,slide_239,, -238,slide_241,, -239,slide_245,, -240,slide_246,, -241,slide_249,, -242,slide_255,, -243,slide_258,, -244,slide_262,, -245,slide_263,, -246,slide_266,, -247,slide_269,, -248,slide_273,, -249,slide_30,, -250,slide_278,, -251,slide_279,, -252,slide_281,, -253,slide_282,, -254,slide_283,, -255,slide_31,, -256,slide_290,, -257,slide_303,, -258,slide_304,, -259,slide_33,, -260,slide_309,, -261,slide_310,, -262,slide_311,, -263,slide_34,, -264,slide_321,, -265,slide_322,, -266,slide_325,, -267,slide_326,, -268,slide_338,, -269,slide_339,, -270,slide_36,, -271,slide_342,, -272,slide_343,, -273,slide_344,, -274,slide_345,, -275,slide_346,, -276,slide_351,, -277,slide_37,, -278,slide_355,, -279,slide_357,, -280,slide_361,, -281,slide_362,, -282,slide_363,, -283,slide_364,, -284,slide_370,, -285,slide_375,, -286,slide_381,, -287,slide_389,, -288,slide_41,, -289,slide_399,, -290,slide_407,, -291,slide_408,, -292,slide_418,, -293,slide_43,, -294,slide_422,, -295,slide_425,, -296,slide_429,, -297,slide_436,, -298,slide_437,, -299,slide_440,, -300,slide_441,, -301,slide_444,, diff --git a/splits/task_1_tumor_vs_normal_75/splits_9_bool.csv b/splits/task_1_tumor_vs_normal_75/splits_9_bool.csv deleted file mode 100644 index f75bb39c..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_9_bool.csv +++ /dev/null @@ -1,400 +0,0 @@ -,train,val,test -slide_13,True,False,False -slide_109,True,False,False -slide_110,True,False,False -slide_112,True,False,False -slide_113,True,False,False -slide_117,True,False,False -slide_118,True,False,False -slide_119,True,False,False -slide_120,True,False,False -slide_121,True,False,False -slide_122,True,False,False -slide_123,True,False,False -slide_124,True,False,False -slide_127,True,False,False -slide_128,True,False,False -slide_130,True,False,False -slide_133,True,False,False -slide_134,True,False,False -slide_135,True,False,False -slide_137,True,False,False -slide_16,True,False,False -slide_139,True,False,False -slide_143,True,False,False -slide_144,True,False,False -slide_145,True,False,False -slide_146,True,False,False -slide_17,True,False,False -slide_150,True,False,False -slide_151,True,False,False -slide_152,True,False,False -slide_153,True,False,False -slide_155,True,False,False -slide_156,True,False,False -slide_157,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_165,True,False,False -slide_166,True,False,False -slide_167,True,False,False -slide_171,True,False,False -slide_172,True,False,False -slide_173,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_177,True,False,False -slide_179,True,False,False -slide_21,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_194,True,False,False -slide_197,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_202,True,False,False -slide_204,True,False,False -slide_205,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_209,True,False,False -slide_212,True,False,False -slide_213,True,False,False -slide_217,True,False,False -slide_221,True,False,False -slide_222,True,False,False -slide_223,True,False,False -slide_224,True,False,False -slide_226,True,False,False -slide_227,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_25,True,False,False -slide_230,True,False,False -slide_232,True,False,False -slide_234,True,False,False -slide_235,True,False,False -slide_236,True,False,False -slide_26,True,False,False -slide_240,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_247,True,False,False -slide_248,True,False,False -slide_250,True,False,False -slide_251,True,False,False -slide_27,True,False,False -slide_253,True,False,False -slide_254,True,False,False -slide_257,True,False,False -slide_259,True,False,False -slide_260,True,False,False -slide_261,True,False,False -slide_28,True,False,False -slide_29,True,False,False -slide_268,True,False,False -slide_270,True,False,False -slide_271,True,False,False -slide_274,True,False,False -slide_275,True,False,False -slide_276,True,False,False -slide_280,True,False,False -slide_284,True,False,False -slide_285,True,False,False -slide_286,True,False,False -slide_287,True,False,False -slide_288,True,False,False -slide_289,True,False,False -slide_292,True,False,False -slide_293,True,False,False -slide_294,True,False,False -slide_296,True,False,False -slide_298,True,False,False -slide_300,True,False,False -slide_301,True,False,False -slide_305,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_312,True,False,False -slide_313,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_317,True,False,False -slide_318,True,False,False -slide_319,True,False,False -slide_320,True,False,False -slide_323,True,False,False -slide_324,True,False,False -slide_327,True,False,False -slide_5,True,False,False -slide_35,True,False,False -slide_329,True,False,False -slide_330,True,False,False -slide_331,True,False,False -slide_332,True,False,False -slide_333,True,False,False -slide_334,True,False,False -slide_335,True,False,False -slide_336,True,False,False -slide_337,True,False,False -slide_340,True,False,False -slide_341,True,False,False -slide_347,True,False,False -slide_348,True,False,False -slide_349,True,False,False -slide_350,True,False,False -slide_352,True,False,False -slide_353,True,False,False -slide_354,True,False,False -slide_356,True,False,False -slide_358,True,False,False -slide_360,True,False,False -slide_369,True,False,False -slide_371,True,False,False -slide_372,True,False,False -slide_373,True,False,False -slide_374,True,False,False -slide_39,True,False,False -slide_376,True,False,False -slide_377,True,False,False -slide_378,True,False,False -slide_379,True,False,False -slide_380,True,False,False -slide_382,True,False,False -slide_383,True,False,False -slide_40,True,False,False -slide_386,True,False,False -slide_387,True,False,False -slide_388,True,False,False -slide_393,True,False,False -slide_394,True,False,False -slide_395,True,False,False -slide_397,True,False,False -slide_398,True,False,False -slide_400,True,False,False -slide_401,True,False,False -slide_402,True,False,False -slide_403,True,False,False -slide_404,True,False,False -slide_42,True,False,False -slide_409,True,False,False -slide_410,True,False,False -slide_411,True,False,False -slide_413,True,False,False -slide_416,True,False,False -slide_417,True,False,False -slide_419,True,False,False -slide_420,True,False,False -slide_421,True,False,False -slide_424,True,False,False -slide_426,True,False,False -slide_44,True,False,False -slide_45,True,False,False -slide_431,True,False,False -slide_6,True,False,False -slide_46,True,False,False -slide_0,True,False,False -slide_1,True,False,False -slide_2,True,False,False -slide_115,True,False,False -slide_125,True,False,False -slide_126,True,False,False -slide_15,True,False,False -slide_129,True,False,False -slide_140,True,False,False -slide_147,True,False,False -slide_148,True,False,False -slide_149,True,False,False -slide_158,True,False,False -slide_159,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_163,True,False,False -slide_164,True,False,False -slide_169,True,False,False -slide_170,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_189,True,False,False -slide_190,True,False,False -slide_191,True,False,False -slide_192,True,False,False -slide_193,True,False,False -slide_22,True,False,False -slide_195,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_201,True,False,False -slide_203,True,False,False -slide_23,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_24,True,False,False -slide_219,True,False,False -slide_220,True,False,False -slide_239,True,False,False -slide_241,True,False,False -slide_245,True,False,False -slide_246,True,False,False -slide_249,True,False,False -slide_255,True,False,False -slide_258,True,False,False -slide_262,True,False,False -slide_263,True,False,False -slide_266,True,False,False -slide_269,True,False,False -slide_273,True,False,False -slide_30,True,False,False -slide_278,True,False,False -slide_279,True,False,False -slide_281,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_31,True,False,False -slide_290,True,False,False -slide_303,True,False,False -slide_304,True,False,False -slide_33,True,False,False -slide_309,True,False,False -slide_310,True,False,False -slide_311,True,False,False -slide_34,True,False,False -slide_321,True,False,False -slide_322,True,False,False -slide_325,True,False,False -slide_326,True,False,False -slide_338,True,False,False -slide_339,True,False,False -slide_36,True,False,False -slide_342,True,False,False -slide_343,True,False,False -slide_344,True,False,False -slide_345,True,False,False -slide_346,True,False,False -slide_351,True,False,False -slide_37,True,False,False -slide_355,True,False,False -slide_357,True,False,False -slide_361,True,False,False -slide_362,True,False,False -slide_363,True,False,False -slide_364,True,False,False -slide_370,True,False,False -slide_375,True,False,False -slide_381,True,False,False -slide_389,True,False,False -slide_41,True,False,False -slide_399,True,False,False -slide_407,True,False,False -slide_408,True,False,False -slide_418,True,False,False -slide_43,True,False,False -slide_422,True,False,False -slide_425,True,False,False -slide_429,True,False,False -slide_436,True,False,False -slide_437,True,False,False -slide_440,True,False,False -slide_441,True,False,False -slide_444,True,False,False -slide_256,False,True,False -slide_439,False,True,False -slide_252,False,True,False -slide_168,False,True,False -slide_50,False,True,False -slide_446,False,True,False -slide_406,False,True,False -slide_423,False,True,False -slide_116,False,True,False -slide_98,False,True,False -slide_314,False,True,False -slide_70,False,True,False -slide_3,False,True,False -slide_4,False,True,False -slide_456,False,True,False -slide_233,False,True,False -slide_214,False,True,False -slide_225,False,True,False -slide_427,False,True,False -slide_154,False,True,False -slide_14,False,True,False -slide_297,False,True,False -slide_132,False,True,False -slide_114,False,True,False -slide_136,False,True,False -slide_396,False,True,False -slide_272,False,True,False -slide_267,False,True,False -slide_20,False,True,False -slide_368,False,True,False -slide_58,False,True,False -slide_32,False,True,False -slide_265,False,True,False -slide_38,False,True,False -slide_470,False,True,False -slide_471,False,True,False -slide_131,False,True,False -slide_111,False,True,False -slide_299,False,True,False -slide_86,False,True,False -slide_438,False,True,False -slide_80,False,True,False -slide_457,False,True,False -slide_458,False,True,False -slide_138,False,True,False -slide_295,False,True,False -slide_302,False,True,False -slide_367,False,False,True -slide_430,False,False,True -slide_71,False,False,True -slide_237,False,False,True -slide_49,False,False,True -slide_231,False,False,True -slide_476,False,False,True -slide_414,False,False,True -slide_415,False,False,True -slide_12,False,False,True -slide_328,False,False,True -slide_8,False,False,True -slide_218,False,False,True -slide_92,False,False,True -slide_365,False,False,True -slide_184,False,False,True -slide_108,False,False,True -slide_180,False,False,True -slide_210,False,False,True -slide_211,False,False,True -slide_390,False,False,True -slide_183,False,False,True -slide_87,False,False,True -slide_384,False,False,True -slide_405,False,False,True -slide_277,False,False,True -slide_141,False,False,True -slide_366,False,False,True -slide_142,False,False,True -slide_359,False,False,True -slide_244,False,False,True -slide_385,False,False,True -slide_306,False,False,True -slide_434,False,False,True -slide_435,False,False,True -slide_85,False,False,True -slide_238,False,False,True -slide_178,False,False,True -slide_264,False,False,True -slide_206,False,False,True -slide_428,False,False,True -slide_104,False,False,True -slide_76,False,False,True -slide_291,False,False,True -slide_391,False,False,True -slide_392,False,False,True -slide_460,False,False,True -slide_432,False,False,True -slide_433,False,False,True -slide_412,False,False,True diff --git a/splits/task_1_tumor_vs_normal_75/splits_9_descriptor.csv b/splits/task_1_tumor_vs_normal_75/splits_9_descriptor.csv deleted file mode 100644 index c42b93a8..00000000 --- a/splits/task_1_tumor_vs_normal_75/splits_9_descriptor.csv +++ /dev/null @@ -1,3 +0,0 @@ -,train,val,test -normal_tissue,213,32,35 -tumor_tissue,89,15,15 diff --git a/splits/task_2_tumor_subtyping_50/splits_0.csv b/splits/task_2_tumor_subtyping_50/splits_0.csv deleted file mode 100644 index 810ad320..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_0.csv +++ /dev/null @@ -1,199 +0,0 @@ -,train,val,test -0,slide_0,slide_91,slide_482 -1,slide_106,slide_263,slide_268 -2,slide_107,slide_264,slide_365 -3,slide_109,slide_446,slide_193 -4,slide_12,slide_447,slide_418 -5,slide_13,slide_221,slide_419 -6,slide_116,slide_222,slide_15 -7,slide_117,slide_313,slide_132 -8,slide_118,slide_266,slide_114 -9,slide_125,slide_251,slide_407 -10,slide_126,slide_326,slide_359 -11,slide_14,slide_100,slide_22 -12,slide_129,slide_201,slide_115 -13,slide_130,slide_158,slide_187 -14,slide_133,slide_113,slide_461 -15,slide_135,slide_163,slide_436 -16,slide_136,slide_490,slide_437 -17,slide_137,slide_153,slide_438 -18,slide_138,slide_43,slide_121 -19,slide_139,slide_443,slide_86 -20,slide_140,slide_345,slide_134 -21,slide_141,slide_2,slide_103 -22,slide_143,slide_215,slide_157 -23,slide_145,slide_216,slide_393 -24,slide_148,slide_354,slide_394 -25,slide_151,slide_441,slide_79 -26,slide_17,slide_442,slide_97 -27,slide_159,slide_166,slide_80 -28,slide_160,slide_108,slide_252 -29,slide_161,slide_465,slide_253 -30,slide_162,slide_464,slide_93 -31,slide_169,slide_311,slide_399 -32,slide_171,slide_214,slide_336 -33,slide_172,slide_36,slide_439 -34,slide_173,slide_211,slide_28 -35,slide_174,slide_415,slide_325 -36,slide_175,slide_335,slide_95 -37,slide_176,slide_400,slide_96 -38,slide_177,slide_420,slide_146 -39,slide_179,slide_421,slide_235 -40,slide_180,slide_51,slide_48 -41,slide_181,slide_150,slide_41 -42,slide_182,slide_61,slide_168 -43,slide_183,slide_485,slide_154 -44,slide_185,slide_401,slide_4 -45,slide_186,slide_426,slide_278 -46,slide_188,slide_62,slide_323 -47,slide_194,slide_483,slide_128 -48,slide_195,slide_275,slide_119 -49,slide_196,slide_254,slide_144 -50,slide_198,, -51,slide_199,, -52,slide_200,, -53,slide_203,, -54,slide_204,, -55,slide_206,, -56,slide_207,, -57,slide_208,, -58,slide_213,, -59,slide_217,, -60,slide_218,, -61,slide_219,, -62,slide_223,, -63,slide_225,, -64,slide_226,, -65,slide_228,, -66,slide_229,, -67,slide_231,, -68,slide_232,, -69,slide_233,, -70,slide_234,, -71,slide_240,, -72,slide_242,, -73,slide_243,, -74,slide_250,, -75,slide_255,, -76,slide_259,, -77,slide_262,, -78,slide_271,, -79,slide_272,, -80,slide_273,, -81,slide_274,, -82,slide_276,, -83,slide_279,, -84,slide_280,, -85,slide_281,, -86,slide_282,, -87,slide_283,, -88,slide_287,, -89,slide_291,, -90,slide_294,, -91,slide_295,, -92,slide_296,, -93,slide_298,, -94,slide_299,, -95,slide_301,, -96,slide_306,, -97,slide_310,, -98,slide_32,, -99,slide_315,, -100,slide_316,, -101,slide_318,, -102,slide_322,, -103,slide_3,, -104,slide_324,, -105,slide_329,, -106,slide_330,, -107,slide_11,, -108,slide_111,, -109,slide_120,, -110,slide_122,, -111,slide_124,, -112,slide_131,, -113,slide_16,, -114,slide_147,, -115,slide_149,, -116,slide_156,, -117,slide_164,, -118,slide_167,, -119,slide_170,, -120,slide_20,, -121,slide_184,, -122,slide_190,, -123,slide_21,, -124,slide_191,, -125,slide_209,, -126,slide_210,, -127,slide_23,, -128,slide_230,, -129,slide_25,, -130,slide_237,, -131,slide_238,, -132,slide_239,, -133,slide_246,, -134,slide_26,, -135,slide_248,, -136,slide_256,, -137,slide_257,, -138,slide_258,, -139,slide_260,, -140,slide_267,, -141,slide_269,, -142,slide_270,, -143,slide_29,, -144,slide_285,, -145,slide_286,, -146,slide_289,, -147,slide_30,, -148,slide_297,, -149,slide_300,, -150,slide_302,, -151,slide_31,, -152,slide_303,, -153,slide_305,, -154,slide_307,, -155,slide_308,, -156,slide_312,, -157,slide_314,, -158,slide_317,, -159,slide_319,, -160,slide_33,, -161,slide_327,, -162,slide_1,, -163,slide_110,, -164,slide_112,, -165,slide_123,, -166,slide_127,, -167,slide_142,, -168,slide_152,, -169,slide_155,, -170,slide_165,, -171,slide_18,, -172,slide_19,, -173,slide_178,, -174,slide_189,, -175,slide_192,, -176,slide_197,, -177,slide_202,, -178,slide_205,, -179,slide_212,, -180,slide_220,, -181,slide_24,, -182,slide_224,, -183,slide_227,, -184,slide_236,, -185,slide_241,, -186,slide_244,, -187,slide_245,, -188,slide_247,, -189,slide_249,, -190,slide_27,, -191,slide_261,, -192,slide_265,, -193,slide_277,, -194,slide_284,, -195,slide_288,, -196,slide_290,, -197,slide_292,, diff --git a/splits/task_2_tumor_subtyping_50/splits_0_bool.csv b/splits/task_2_tumor_subtyping_50/splits_0_bool.csv deleted file mode 100644 index 83bc149a..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_0_bool.csv +++ /dev/null @@ -1,299 +0,0 @@ -,train,val,test -slide_0,True,False,False -slide_106,True,False,False -slide_107,True,False,False -slide_109,True,False,False -slide_12,True,False,False -slide_13,True,False,False -slide_116,True,False,False -slide_117,True,False,False -slide_118,True,False,False -slide_125,True,False,False -slide_126,True,False,False -slide_14,True,False,False -slide_129,True,False,False -slide_130,True,False,False -slide_133,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_137,True,False,False -slide_138,True,False,False -slide_139,True,False,False -slide_140,True,False,False -slide_141,True,False,False -slide_143,True,False,False -slide_145,True,False,False -slide_148,True,False,False -slide_151,True,False,False -slide_17,True,False,False -slide_159,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_169,True,False,False -slide_171,True,False,False -slide_172,True,False,False -slide_173,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_177,True,False,False -slide_179,True,False,False -slide_180,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_183,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_188,True,False,False -slide_194,True,False,False -slide_195,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_203,True,False,False -slide_204,True,False,False -slide_206,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_213,True,False,False -slide_217,True,False,False -slide_218,True,False,False -slide_219,True,False,False -slide_223,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_231,True,False,False -slide_232,True,False,False -slide_233,True,False,False -slide_234,True,False,False -slide_240,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_250,True,False,False -slide_255,True,False,False -slide_259,True,False,False -slide_262,True,False,False -slide_271,True,False,False -slide_272,True,False,False -slide_273,True,False,False -slide_274,True,False,False -slide_276,True,False,False -slide_279,True,False,False -slide_280,True,False,False -slide_281,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_287,True,False,False -slide_291,True,False,False -slide_294,True,False,False -slide_295,True,False,False -slide_296,True,False,False -slide_298,True,False,False -slide_299,True,False,False -slide_301,True,False,False -slide_306,True,False,False -slide_310,True,False,False -slide_32,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_318,True,False,False -slide_322,True,False,False -slide_3,True,False,False -slide_324,True,False,False -slide_329,True,False,False -slide_330,True,False,False -slide_11,True,False,False -slide_111,True,False,False -slide_120,True,False,False -slide_122,True,False,False -slide_124,True,False,False -slide_131,True,False,False -slide_16,True,False,False -slide_147,True,False,False -slide_149,True,False,False -slide_156,True,False,False -slide_164,True,False,False -slide_167,True,False,False -slide_170,True,False,False -slide_20,True,False,False -slide_184,True,False,False -slide_190,True,False,False -slide_21,True,False,False -slide_191,True,False,False -slide_209,True,False,False -slide_210,True,False,False -slide_23,True,False,False -slide_230,True,False,False -slide_25,True,False,False -slide_237,True,False,False -slide_238,True,False,False -slide_239,True,False,False -slide_246,True,False,False -slide_26,True,False,False -slide_248,True,False,False -slide_256,True,False,False -slide_257,True,False,False -slide_258,True,False,False -slide_260,True,False,False -slide_267,True,False,False -slide_269,True,False,False -slide_270,True,False,False -slide_29,True,False,False -slide_285,True,False,False -slide_286,True,False,False -slide_289,True,False,False -slide_30,True,False,False -slide_297,True,False,False -slide_300,True,False,False -slide_302,True,False,False -slide_31,True,False,False -slide_303,True,False,False -slide_305,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_312,True,False,False -slide_314,True,False,False -slide_317,True,False,False -slide_319,True,False,False -slide_33,True,False,False -slide_327,True,False,False -slide_1,True,False,False -slide_110,True,False,False -slide_112,True,False,False -slide_123,True,False,False -slide_127,True,False,False -slide_142,True,False,False -slide_152,True,False,False -slide_155,True,False,False -slide_165,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_178,True,False,False -slide_189,True,False,False -slide_192,True,False,False -slide_197,True,False,False -slide_202,True,False,False -slide_205,True,False,False -slide_212,True,False,False -slide_220,True,False,False -slide_24,True,False,False -slide_224,True,False,False -slide_227,True,False,False -slide_236,True,False,False -slide_241,True,False,False -slide_244,True,False,False -slide_245,True,False,False -slide_247,True,False,False -slide_249,True,False,False -slide_27,True,False,False -slide_261,True,False,False -slide_265,True,False,False -slide_277,True,False,False -slide_284,True,False,False -slide_288,True,False,False -slide_290,True,False,False -slide_292,True,False,False -slide_91,False,True,False -slide_263,False,True,False -slide_264,False,True,False -slide_446,False,True,False -slide_447,False,True,False -slide_221,False,True,False -slide_222,False,True,False -slide_313,False,True,False -slide_266,False,True,False -slide_251,False,True,False -slide_326,False,True,False -slide_100,False,True,False -slide_201,False,True,False -slide_158,False,True,False -slide_113,False,True,False -slide_163,False,True,False -slide_490,False,True,False -slide_153,False,True,False -slide_43,False,True,False -slide_443,False,True,False -slide_345,False,True,False -slide_2,False,True,False -slide_215,False,True,False -slide_216,False,True,False -slide_354,False,True,False -slide_441,False,True,False -slide_442,False,True,False -slide_166,False,True,False -slide_108,False,True,False -slide_465,False,True,False -slide_464,False,True,False -slide_311,False,True,False -slide_214,False,True,False -slide_36,False,True,False -slide_211,False,True,False -slide_415,False,True,False -slide_335,False,True,False -slide_400,False,True,False -slide_420,False,True,False -slide_421,False,True,False -slide_51,False,True,False -slide_150,False,True,False -slide_61,False,True,False -slide_485,False,True,False -slide_401,False,True,False -slide_426,False,True,False -slide_62,False,True,False -slide_483,False,True,False -slide_275,False,True,False -slide_254,False,True,False -slide_482,False,False,True -slide_268,False,False,True -slide_365,False,False,True -slide_193,False,False,True -slide_418,False,False,True -slide_419,False,False,True -slide_15,False,False,True -slide_132,False,False,True -slide_114,False,False,True -slide_407,False,False,True -slide_359,False,False,True -slide_22,False,False,True -slide_115,False,False,True -slide_187,False,False,True -slide_461,False,False,True -slide_436,False,False,True -slide_437,False,False,True -slide_438,False,False,True -slide_121,False,False,True -slide_86,False,False,True -slide_134,False,False,True -slide_103,False,False,True -slide_157,False,False,True -slide_393,False,False,True -slide_394,False,False,True -slide_79,False,False,True -slide_97,False,False,True -slide_80,False,False,True -slide_252,False,False,True -slide_253,False,False,True -slide_93,False,False,True -slide_399,False,False,True -slide_336,False,False,True -slide_439,False,False,True -slide_28,False,False,True -slide_325,False,False,True -slide_95,False,False,True -slide_96,False,False,True -slide_146,False,False,True -slide_235,False,False,True -slide_48,False,False,True -slide_41,False,False,True -slide_168,False,False,True -slide_154,False,False,True -slide_4,False,False,True -slide_278,False,False,True -slide_323,False,False,True -slide_128,False,False,True -slide_119,False,False,True -slide_144,False,False,True diff --git a/splits/task_2_tumor_subtyping_50/splits_0_descriptor.csv b/splits/task_2_tumor_subtyping_50/splits_0_descriptor.csv deleted file mode 100644 index 7d17be9b..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_0_descriptor.csv +++ /dev/null @@ -1,4 +0,0 @@ -,train,val,test -subtype_1,101,26,24 -subtype_2,57,14,16 -subtype_3,40,10,10 diff --git a/splits/task_2_tumor_subtyping_50/splits_1.csv b/splits/task_2_tumor_subtyping_50/splits_1.csv deleted file mode 100644 index 8fd98af4..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_1.csv +++ /dev/null @@ -1,198 +0,0 @@ -,train,val,test -0,slide_0,slide_91,slide_369 -1,slide_107,slide_179,slide_34 -2,slide_109,slide_332,slide_106 -3,slide_115,slide_333,slide_291 -4,slide_12,slide_427,slide_326 -5,slide_13,slide_294,slide_240 -6,slide_116,slide_295,slide_217 -7,slide_117,slide_397,slide_251 -8,slide_118,slide_262,slide_373 -9,slide_121,slide_367,slide_196 -10,slide_125,slide_274,slide_403 -11,slide_126,slide_402,slide_352 -12,slide_14,slide_255,slide_206 -13,slide_129,slide_139,slide_163 -14,slide_130,slide_94,slide_279 -15,slide_132,slide_55,slide_242 -16,slide_133,slide_56,slide_243 -17,slide_134,slide_301,slide_113 -18,slide_135,slide_337,slide_177 -19,slide_136,slide_310,slide_218 -20,slide_15,slide_268,slide_104 -21,slide_137,slide_169,slide_158 -22,slide_138,slide_215,slide_114 -23,slide_140,slide_216,slide_69 -24,slide_141,slide_276,slide_230 -25,slide_143,slide_467,slide_460 -26,slide_145,slide_157,slide_308 -27,slide_148,slide_72,slide_164 -28,slide_151,slide_325,slide_286 -29,slide_153,slide_328,slide_89 -30,slide_17,slide_150,slide_305 -31,slide_159,slide_101,slide_21 -32,slide_160,slide_214,slide_111 -33,slide_161,slide_26,slide_237 -34,slide_162,slide_358,slide_238 -35,slide_166,slide_252,slide_54 -36,slide_171,slide_253,slide_389 -37,slide_172,slide_360,slide_88 -38,slide_173,slide_28,slide_292 -39,slide_174,slide_131,slide_85 -40,slide_175,slide_300,slide_423 -41,slide_176,slide_168,slide_123 -42,slide_180,slide_154,slide_197 -43,slide_181,slide_356,slide_202 -44,slide_182,slide_321,slide_288 -45,slide_183,slide_144,slide_455 -46,slide_185,slide_8, -47,slide_186,slide_426, -48,slide_187,slide_155, -49,slide_188,, -50,slide_193,, -51,slide_194,, -52,slide_195,, -53,slide_198,, -54,slide_199,, -55,slide_200,, -56,slide_22,, -57,slide_201,, -58,slide_203,, -59,slide_204,, -60,slide_207,, -61,slide_208,, -62,slide_2,, -63,slide_213,, -64,slide_219,, -65,slide_221,, -66,slide_222,, -67,slide_223,, -68,slide_225,, -69,slide_226,, -70,slide_228,, -71,slide_229,, -72,slide_231,, -73,slide_232,, -74,slide_233,, -75,slide_234,, -76,slide_250,, -77,slide_259,, -78,slide_263,, -79,slide_264,, -80,slide_266,, -81,slide_271,, -82,slide_272,, -83,slide_273,, -84,slide_280,, -85,slide_281,, -86,slide_282,, -87,slide_283,, -88,slide_287,, -89,slide_296,, -90,slide_298,, -91,slide_299,, -92,slide_306,, -93,slide_32,, -94,slide_313,, -95,slide_315,, -96,slide_316,, -97,slide_318,, -98,slide_322,, -99,slide_3,, -100,slide_324,, -101,slide_329,, -102,slide_330,, -103,slide_331,, -104,slide_334,, -105,slide_339,, -106,slide_344,, -107,slide_11,, -108,slide_108,, -109,slide_120,, -110,slide_122,, -111,slide_124,, -112,slide_146,, -113,slide_16,, -114,slide_147,, -115,slide_149,, -116,slide_156,, -117,slide_167,, -118,slide_170,, -119,slide_20,, -120,slide_184,, -121,slide_190,, -122,slide_191,, -123,slide_209,, -124,slide_210,, -125,slide_211,, -126,slide_23,, -127,slide_235,, -128,slide_25,, -129,slide_239,, -130,slide_246,, -131,slide_248,, -132,slide_256,, -133,slide_257,, -134,slide_258,, -135,slide_260,, -136,slide_267,, -137,slide_269,, -138,slide_270,, -139,slide_29,, -140,slide_285,, -141,slide_289,, -142,slide_30,, -143,slide_297,, -144,slide_302,, -145,slide_31,, -146,slide_303,, -147,slide_307,, -148,slide_311,, -149,slide_312,, -150,slide_314,, -151,slide_317,, -152,slide_319,, -153,slide_33,, -154,slide_327,, -155,slide_335,, -156,slide_336,, -157,slide_340,, -158,slide_341,, -159,slide_342,, -160,slide_343,, -161,slide_1,, -162,slide_110,, -163,slide_112,, -164,slide_119,, -165,slide_127,, -166,slide_128,, -167,slide_142,, -168,slide_152,, -169,slide_165,, -170,slide_18,, -171,slide_19,, -172,slide_178,, -173,slide_189,, -174,slide_192,, -175,slide_205,, -176,slide_212,, -177,slide_220,, -178,slide_24,, -179,slide_224,, -180,slide_227,, -181,slide_236,, -182,slide_241,, -183,slide_244,, -184,slide_245,, -185,slide_247,, -186,slide_249,, -187,slide_254,, -188,slide_27,, -189,slide_261,, -190,slide_265,, -191,slide_275,, -192,slide_277,, -193,slide_278,, -194,slide_284,, -195,slide_290,, -196,slide_293,, diff --git a/splits/task_2_tumor_subtyping_50/splits_1_bool.csv b/splits/task_2_tumor_subtyping_50/splits_1_bool.csv deleted file mode 100644 index 697d4e2d..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_1_bool.csv +++ /dev/null @@ -1,293 +0,0 @@ -,train,val,test -slide_0,True,False,False -slide_107,True,False,False -slide_109,True,False,False -slide_115,True,False,False -slide_12,True,False,False -slide_13,True,False,False -slide_116,True,False,False -slide_117,True,False,False -slide_118,True,False,False -slide_121,True,False,False -slide_125,True,False,False -slide_126,True,False,False -slide_14,True,False,False -slide_129,True,False,False -slide_130,True,False,False -slide_132,True,False,False -slide_133,True,False,False -slide_134,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_15,True,False,False -slide_137,True,False,False -slide_138,True,False,False -slide_140,True,False,False -slide_141,True,False,False -slide_143,True,False,False -slide_145,True,False,False -slide_148,True,False,False -slide_151,True,False,False -slide_153,True,False,False -slide_17,True,False,False -slide_159,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_166,True,False,False -slide_171,True,False,False -slide_172,True,False,False -slide_173,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_180,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_183,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_193,True,False,False -slide_194,True,False,False -slide_195,True,False,False -slide_198,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_22,True,False,False -slide_201,True,False,False -slide_203,True,False,False -slide_204,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_2,True,False,False -slide_213,True,False,False -slide_219,True,False,False -slide_221,True,False,False -slide_222,True,False,False -slide_223,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_231,True,False,False -slide_232,True,False,False -slide_233,True,False,False -slide_234,True,False,False -slide_250,True,False,False -slide_259,True,False,False -slide_263,True,False,False -slide_264,True,False,False -slide_266,True,False,False -slide_271,True,False,False -slide_272,True,False,False -slide_273,True,False,False -slide_280,True,False,False -slide_281,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_287,True,False,False -slide_296,True,False,False -slide_298,True,False,False -slide_299,True,False,False -slide_306,True,False,False -slide_32,True,False,False -slide_313,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_318,True,False,False -slide_322,True,False,False -slide_3,True,False,False -slide_324,True,False,False -slide_329,True,False,False -slide_330,True,False,False -slide_331,True,False,False -slide_334,True,False,False -slide_339,True,False,False -slide_344,True,False,False -slide_11,True,False,False -slide_108,True,False,False -slide_120,True,False,False -slide_122,True,False,False -slide_124,True,False,False -slide_146,True,False,False -slide_16,True,False,False -slide_147,True,False,False -slide_149,True,False,False -slide_156,True,False,False -slide_167,True,False,False -slide_170,True,False,False -slide_20,True,False,False -slide_184,True,False,False -slide_190,True,False,False -slide_191,True,False,False -slide_209,True,False,False -slide_210,True,False,False -slide_211,True,False,False -slide_23,True,False,False -slide_235,True,False,False -slide_25,True,False,False -slide_239,True,False,False -slide_246,True,False,False -slide_248,True,False,False -slide_256,True,False,False -slide_257,True,False,False -slide_258,True,False,False -slide_260,True,False,False -slide_267,True,False,False -slide_269,True,False,False -slide_270,True,False,False -slide_29,True,False,False -slide_285,True,False,False -slide_289,True,False,False -slide_30,True,False,False -slide_297,True,False,False -slide_302,True,False,False -slide_31,True,False,False -slide_303,True,False,False -slide_307,True,False,False -slide_311,True,False,False -slide_312,True,False,False -slide_314,True,False,False -slide_317,True,False,False -slide_319,True,False,False -slide_33,True,False,False -slide_327,True,False,False -slide_335,True,False,False -slide_336,True,False,False -slide_340,True,False,False -slide_341,True,False,False -slide_342,True,False,False -slide_343,True,False,False -slide_1,True,False,False -slide_110,True,False,False -slide_112,True,False,False -slide_119,True,False,False -slide_127,True,False,False -slide_128,True,False,False -slide_142,True,False,False -slide_152,True,False,False -slide_165,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_178,True,False,False -slide_189,True,False,False -slide_192,True,False,False -slide_205,True,False,False -slide_212,True,False,False -slide_220,True,False,False -slide_24,True,False,False -slide_224,True,False,False -slide_227,True,False,False -slide_236,True,False,False -slide_241,True,False,False -slide_244,True,False,False -slide_245,True,False,False -slide_247,True,False,False -slide_249,True,False,False -slide_254,True,False,False -slide_27,True,False,False -slide_261,True,False,False -slide_265,True,False,False -slide_275,True,False,False -slide_277,True,False,False -slide_278,True,False,False -slide_284,True,False,False -slide_290,True,False,False -slide_293,True,False,False -slide_91,False,True,False -slide_179,False,True,False -slide_332,False,True,False -slide_333,False,True,False -slide_427,False,True,False -slide_294,False,True,False -slide_295,False,True,False -slide_397,False,True,False -slide_262,False,True,False -slide_367,False,True,False -slide_274,False,True,False -slide_402,False,True,False -slide_255,False,True,False -slide_139,False,True,False -slide_94,False,True,False -slide_55,False,True,False -slide_56,False,True,False -slide_301,False,True,False -slide_337,False,True,False -slide_310,False,True,False -slide_268,False,True,False -slide_169,False,True,False -slide_215,False,True,False -slide_216,False,True,False -slide_276,False,True,False -slide_467,False,True,False -slide_157,False,True,False -slide_72,False,True,False -slide_325,False,True,False -slide_328,False,True,False -slide_150,False,True,False -slide_101,False,True,False -slide_214,False,True,False -slide_26,False,True,False -slide_358,False,True,False -slide_252,False,True,False -slide_253,False,True,False -slide_360,False,True,False -slide_28,False,True,False -slide_131,False,True,False -slide_300,False,True,False -slide_168,False,True,False -slide_154,False,True,False -slide_356,False,True,False -slide_321,False,True,False -slide_144,False,True,False -slide_8,False,True,False -slide_426,False,True,False -slide_155,False,True,False -slide_369,False,False,True -slide_34,False,False,True -slide_106,False,False,True -slide_291,False,False,True -slide_326,False,False,True -slide_240,False,False,True -slide_217,False,False,True -slide_251,False,False,True -slide_373,False,False,True -slide_196,False,False,True -slide_403,False,False,True -slide_352,False,False,True -slide_206,False,False,True -slide_163,False,False,True -slide_279,False,False,True -slide_242,False,False,True -slide_243,False,False,True -slide_113,False,False,True -slide_177,False,False,True -slide_218,False,False,True -slide_104,False,False,True -slide_158,False,False,True -slide_114,False,False,True -slide_69,False,False,True -slide_230,False,False,True -slide_460,False,False,True -slide_308,False,False,True -slide_164,False,False,True -slide_286,False,False,True -slide_89,False,False,True -slide_305,False,False,True -slide_21,False,False,True -slide_111,False,False,True -slide_237,False,False,True -slide_238,False,False,True -slide_54,False,False,True -slide_389,False,False,True -slide_88,False,False,True -slide_292,False,False,True -slide_85,False,False,True -slide_423,False,False,True -slide_123,False,False,True -slide_197,False,False,True -slide_202,False,False,True -slide_288,False,False,True -slide_455,False,False,True diff --git a/splits/task_2_tumor_subtyping_50/splits_1_descriptor.csv b/splits/task_2_tumor_subtyping_50/splits_1_descriptor.csv deleted file mode 100644 index 7c48eb7b..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_1_descriptor.csv +++ /dev/null @@ -1,4 +0,0 @@ -,train,val,test -subtype_1,102,26,23 -subtype_2,56,15,14 -subtype_3,39,8,9 diff --git a/splits/task_2_tumor_subtyping_50/splits_2.csv b/splits/task_2_tumor_subtyping_50/splits_2.csv deleted file mode 100644 index 62e3841b..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_2.csv +++ /dev/null @@ -1,199 +0,0 @@ -,train,val,test -0,slide_0,slide_180,slide_359 -1,slide_106,slide_181,slide_137 -2,slide_109,slide_73,slide_452 -3,slide_113,slide_83,slide_454 -4,slide_12,slide_268,slide_44 -5,slide_13,slide_145,slide_134 -6,slide_116,slide_193,slide_115 -7,slide_117,slide_219,slide_70 -8,slide_121,slide_355,slide_353 -9,slide_125,slide_107,slide_118 -10,slide_126,slide_443,slide_201 -11,slide_14,slide_50,slide_436 -12,slide_129,slide_444,slide_437 -13,slide_130,slide_445,slide_438 -14,slide_132,slide_217,slide_206 -15,slide_135,slide_262,slide_151 -16,slide_136,slide_370,slide_22 -17,slide_15,slide_114,slide_357 -18,slide_138,slide_263,slide_368 -19,slide_139,slide_264,slide_271 -20,slide_140,slide_298,slide_195 -21,slide_141,slide_306,slide_462 -22,slide_143,slide_221,slide_479 -23,slide_148,slide_222,slide_322 -24,slide_153,slide_481,slide_472 -25,slide_17,slide_133,slide_41 -26,slide_157,slide_45,slide_146 -27,slide_158,slide_327,slide_307 -28,slide_159,slide_400,slide_65 -29,slide_160,slide_31,slide_424 -30,slide_161,slide_210,slide_405 -31,slide_162,slide_491,slide_235 -32,slide_163,slide_360,slide_211 -33,slide_166,slide_149,slide_312 -34,slide_169,slide_36,slide_384 -35,slide_171,slide_285,slide_450 -36,slide_172,slide_453,slide_93 -37,slide_173,slide_190,slide_29 -38,slide_174,slide_122,slide_423 -39,slide_175,slide_252,slide_127 -40,slide_176,slide_253,slide_347 -41,slide_177,slide_292,slide_241 -42,slide_179,slide_84,slide_356 -43,slide_182,slide_27,slide_154 -44,slide_183,slide_275,slide_414 -45,slide_185,slide_247,slide_178 -46,slide_186,slide_8, -47,slide_187,slide_66, -48,slide_188,slide_350, -49,slide_194,, -50,slide_196,, -51,slide_198,, -52,slide_199,, -53,slide_200,, -54,slide_203,, -55,slide_204,, -56,slide_207,, -57,slide_208,, -58,slide_2,, -59,slide_213,, -60,slide_215,, -61,slide_216,, -62,slide_218,, -63,slide_223,, -64,slide_225,, -65,slide_226,, -66,slide_228,, -67,slide_229,, -68,slide_231,, -69,slide_232,, -70,slide_233,, -71,slide_234,, -72,slide_240,, -73,slide_242,, -74,slide_243,, -75,slide_250,, -76,slide_251,, -77,slide_255,, -78,slide_259,, -79,slide_266,, -80,slide_272,, -81,slide_273,, -82,slide_274,, -83,slide_276,, -84,slide_279,, -85,slide_280,, -86,slide_281,, -87,slide_282,, -88,slide_283,, -89,slide_287,, -90,slide_291,, -91,slide_294,, -92,slide_295,, -93,slide_296,, -94,slide_299,, -95,slide_301,, -96,slide_310,, -97,slide_32,, -98,slide_313,, -99,slide_315,, -100,slide_316,, -101,slide_318,, -102,slide_3,, -103,slide_324,, -104,slide_326,, -105,slide_329,, -106,slide_330,, -107,slide_11,, -108,slide_108,, -109,slide_111,, -110,slide_120,, -111,slide_124,, -112,slide_131,, -113,slide_16,, -114,slide_147,, -115,slide_150,, -116,slide_156,, -117,slide_164,, -118,slide_167,, -119,slide_170,, -120,slide_20,, -121,slide_184,, -122,slide_21,, -123,slide_191,, -124,slide_209,, -125,slide_23,, -126,slide_214,, -127,slide_230,, -128,slide_25,, -129,slide_237,, -130,slide_238,, -131,slide_239,, -132,slide_246,, -133,slide_26,, -134,slide_248,, -135,slide_256,, -136,slide_257,, -137,slide_258,, -138,slide_260,, -139,slide_267,, -140,slide_269,, -141,slide_270,, -142,slide_28,, -143,slide_286,, -144,slide_289,, -145,slide_30,, -146,slide_297,, -147,slide_300,, -148,slide_302,, -149,slide_303,, -150,slide_305,, -151,slide_308,, -152,slide_311,, -153,slide_314,, -154,slide_317,, -155,slide_319,, -156,slide_33,, -157,slide_325,, -158,slide_328,, -159,slide_335,, -160,slide_336,, -161,slide_340,, -162,slide_1,, -163,slide_110,, -164,slide_112,, -165,slide_119,, -166,slide_123,, -167,slide_128,, -168,slide_142,, -169,slide_144,, -170,slide_152,, -171,slide_155,, -172,slide_165,, -173,slide_18,, -174,slide_19,, -175,slide_168,, -176,slide_189,, -177,slide_192,, -178,slide_197,, -179,slide_202,, -180,slide_205,, -181,slide_212,, -182,slide_220,, -183,slide_24,, -184,slide_224,, -185,slide_227,, -186,slide_236,, -187,slide_244,, -188,slide_245,, -189,slide_249,, -190,slide_254,, -191,slide_261,, -192,slide_265,, -193,slide_277,, -194,slide_278,, -195,slide_284,, -196,slide_288,, -197,slide_290,, diff --git a/splits/task_2_tumor_subtyping_50/splits_2_bool.csv b/splits/task_2_tumor_subtyping_50/splits_2_bool.csv deleted file mode 100644 index 0f24dee1..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_2_bool.csv +++ /dev/null @@ -1,294 +0,0 @@ -,train,val,test -slide_0,True,False,False -slide_106,True,False,False -slide_109,True,False,False -slide_113,True,False,False -slide_12,True,False,False -slide_13,True,False,False -slide_116,True,False,False -slide_117,True,False,False -slide_121,True,False,False -slide_125,True,False,False -slide_126,True,False,False -slide_14,True,False,False -slide_129,True,False,False -slide_130,True,False,False -slide_132,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_15,True,False,False -slide_138,True,False,False -slide_139,True,False,False -slide_140,True,False,False -slide_141,True,False,False -slide_143,True,False,False -slide_148,True,False,False -slide_153,True,False,False -slide_17,True,False,False -slide_157,True,False,False -slide_158,True,False,False -slide_159,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_163,True,False,False -slide_166,True,False,False -slide_169,True,False,False -slide_171,True,False,False -slide_172,True,False,False -slide_173,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_177,True,False,False -slide_179,True,False,False -slide_182,True,False,False -slide_183,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_194,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_203,True,False,False -slide_204,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_2,True,False,False -slide_213,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_218,True,False,False -slide_223,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_231,True,False,False -slide_232,True,False,False -slide_233,True,False,False -slide_234,True,False,False -slide_240,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_250,True,False,False -slide_251,True,False,False -slide_255,True,False,False -slide_259,True,False,False -slide_266,True,False,False -slide_272,True,False,False -slide_273,True,False,False -slide_274,True,False,False -slide_276,True,False,False -slide_279,True,False,False -slide_280,True,False,False -slide_281,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_287,True,False,False -slide_291,True,False,False -slide_294,True,False,False -slide_295,True,False,False -slide_296,True,False,False -slide_299,True,False,False -slide_301,True,False,False -slide_310,True,False,False -slide_32,True,False,False -slide_313,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_318,True,False,False -slide_3,True,False,False -slide_324,True,False,False -slide_326,True,False,False -slide_329,True,False,False -slide_330,True,False,False -slide_11,True,False,False -slide_108,True,False,False -slide_111,True,False,False -slide_120,True,False,False -slide_124,True,False,False -slide_131,True,False,False -slide_16,True,False,False -slide_147,True,False,False -slide_150,True,False,False -slide_156,True,False,False -slide_164,True,False,False -slide_167,True,False,False -slide_170,True,False,False -slide_20,True,False,False -slide_184,True,False,False -slide_21,True,False,False -slide_191,True,False,False -slide_209,True,False,False -slide_23,True,False,False -slide_214,True,False,False -slide_230,True,False,False -slide_25,True,False,False -slide_237,True,False,False -slide_238,True,False,False -slide_239,True,False,False -slide_246,True,False,False -slide_26,True,False,False -slide_248,True,False,False -slide_256,True,False,False -slide_257,True,False,False -slide_258,True,False,False -slide_260,True,False,False -slide_267,True,False,False -slide_269,True,False,False -slide_270,True,False,False -slide_28,True,False,False -slide_286,True,False,False -slide_289,True,False,False -slide_30,True,False,False -slide_297,True,False,False -slide_300,True,False,False -slide_302,True,False,False -slide_303,True,False,False -slide_305,True,False,False -slide_308,True,False,False -slide_311,True,False,False -slide_314,True,False,False -slide_317,True,False,False -slide_319,True,False,False -slide_33,True,False,False -slide_325,True,False,False -slide_328,True,False,False -slide_335,True,False,False -slide_336,True,False,False -slide_340,True,False,False -slide_1,True,False,False -slide_110,True,False,False -slide_112,True,False,False -slide_119,True,False,False -slide_123,True,False,False -slide_128,True,False,False -slide_142,True,False,False -slide_144,True,False,False -slide_152,True,False,False -slide_155,True,False,False -slide_165,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_168,True,False,False -slide_189,True,False,False -slide_192,True,False,False -slide_197,True,False,False -slide_202,True,False,False -slide_205,True,False,False -slide_212,True,False,False -slide_220,True,False,False -slide_24,True,False,False -slide_224,True,False,False -slide_227,True,False,False -slide_236,True,False,False -slide_244,True,False,False -slide_245,True,False,False -slide_249,True,False,False -slide_254,True,False,False -slide_261,True,False,False -slide_265,True,False,False -slide_277,True,False,False -slide_278,True,False,False -slide_284,True,False,False -slide_288,True,False,False -slide_290,True,False,False -slide_180,False,True,False -slide_181,False,True,False -slide_73,False,True,False -slide_83,False,True,False -slide_268,False,True,False -slide_145,False,True,False -slide_193,False,True,False -slide_219,False,True,False -slide_355,False,True,False -slide_107,False,True,False -slide_443,False,True,False -slide_50,False,True,False -slide_444,False,True,False -slide_445,False,True,False -slide_217,False,True,False -slide_262,False,True,False -slide_370,False,True,False -slide_114,False,True,False -slide_263,False,True,False -slide_264,False,True,False -slide_298,False,True,False -slide_306,False,True,False -slide_221,False,True,False -slide_222,False,True,False -slide_481,False,True,False -slide_133,False,True,False -slide_45,False,True,False -slide_327,False,True,False -slide_400,False,True,False -slide_31,False,True,False -slide_210,False,True,False -slide_491,False,True,False -slide_360,False,True,False -slide_149,False,True,False -slide_36,False,True,False -slide_285,False,True,False -slide_453,False,True,False -slide_190,False,True,False -slide_122,False,True,False -slide_252,False,True,False -slide_253,False,True,False -slide_292,False,True,False -slide_84,False,True,False -slide_27,False,True,False -slide_275,False,True,False -slide_247,False,True,False -slide_8,False,True,False -slide_66,False,True,False -slide_350,False,True,False -slide_359,False,False,True -slide_137,False,False,True -slide_452,False,False,True -slide_454,False,False,True -slide_44,False,False,True -slide_134,False,False,True -slide_115,False,False,True -slide_70,False,False,True -slide_353,False,False,True -slide_118,False,False,True -slide_201,False,False,True -slide_436,False,False,True -slide_437,False,False,True -slide_438,False,False,True -slide_206,False,False,True -slide_151,False,False,True -slide_22,False,False,True -slide_357,False,False,True -slide_368,False,False,True -slide_271,False,False,True -slide_195,False,False,True -slide_462,False,False,True -slide_479,False,False,True -slide_322,False,False,True -slide_472,False,False,True -slide_41,False,False,True -slide_146,False,False,True -slide_307,False,False,True -slide_65,False,False,True -slide_424,False,False,True -slide_405,False,False,True -slide_235,False,False,True -slide_211,False,False,True -slide_312,False,False,True -slide_384,False,False,True -slide_450,False,False,True -slide_93,False,False,True -slide_29,False,False,True -slide_423,False,False,True -slide_127,False,False,True -slide_347,False,False,True -slide_241,False,False,True -slide_356,False,False,True -slide_154,False,False,True -slide_414,False,False,True -slide_178,False,False,True diff --git a/splits/task_2_tumor_subtyping_50/splits_2_descriptor.csv b/splits/task_2_tumor_subtyping_50/splits_2_descriptor.csv deleted file mode 100644 index a46fbc1e..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_2_descriptor.csv +++ /dev/null @@ -1,4 +0,0 @@ -,train,val,test -subtype_1,101,25,23 -subtype_2,57,15,14 -subtype_3,40,9,9 diff --git a/splits/task_2_tumor_subtyping_50/splits_3.csv b/splits/task_2_tumor_subtyping_50/splits_3.csv deleted file mode 100644 index 6c273b43..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_3.csv +++ /dev/null @@ -1,196 +0,0 @@ -,train,val,test -0,slide_0,slide_268,slide_482 -1,slide_106,slide_433,slide_391 -2,slide_107,slide_434,slide_392 -3,slide_109,slide_443,slide_294 -4,slide_113,slide_17,slide_295 -5,slide_114,slide_160,slide_161 -6,slide_12,slide_459,slide_162 -7,slide_13,slide_318,slide_263 -8,slide_118,slide_47,slide_264 -9,slide_121,slide_446,slide_53 -10,slide_14,slide_447,slide_94 -11,slide_129,slide_195,slide_179 -12,slide_133,slide_132,slide_473 -13,slide_134,slide_201,slide_348 -14,slide_135,slide_59,slide_15 -15,slide_137,slide_145,slide_130 -16,slide_138,slide_291,slide_228 -17,slide_139,slide_324,slide_229 -18,slide_140,slide_73,slide_448 -19,slide_141,slide_296,slide_116 -20,slide_143,slide_355,slide_125 -21,slide_148,slide_115,slide_126 -22,slide_151,slide_169,slide_136 -23,slide_153,slide_490,slide_55 -24,slide_157,slide_35,slide_56 -25,slide_158,slide_465,slide_117 -26,slide_159,slide_480,slide_77 -27,slide_163,slide_372,slide_368 -28,slide_166,slide_164,slide_203 -29,slide_171,slide_214,slide_204 -30,slide_172,slide_167,slide_329 -31,slide_173,slide_305,slide_330 -32,slide_174,slide_302,slide_246 -33,slide_175,slide_99,slide_88 -34,slide_176,slide_23,slide_405 -35,slide_177,slide_335,slide_25 -36,slide_180,slide_21,slide_340 -37,slide_181,slide_146,slide_230 -38,slide_182,slide_265,slide_341 -39,slide_183,slide_197,slide_98 -40,slide_185,slide_414,slide_52 -41,slide_186,slide_288,slide_319 -42,slide_187,slide_27,slide_92 -43,slide_188,slide_85,slide_328 -44,slide_193,slide_84,slide_363 -45,slide_194,slide_320,slide_290 -46,slide_196,,slide_284 -47,slide_198,,slide_154 -48,slide_199,,slide_471 -49,slide_200,,slide_347 -50,slide_22,,slide_416 -51,slide_206,,slide_110 -52,slide_207,,slide_254 -53,slide_208,, -54,slide_2,, -55,slide_213,, -56,slide_215,, -57,slide_216,, -58,slide_217,, -59,slide_218,, -60,slide_219,, -61,slide_221,, -62,slide_222,, -63,slide_223,, -64,slide_225,, -65,slide_226,, -66,slide_231,, -67,slide_232,, -68,slide_233,, -69,slide_234,, -70,slide_240,, -71,slide_242,, -72,slide_243,, -73,slide_250,, -74,slide_251,, -75,slide_255,, -76,slide_259,, -77,slide_262,, -78,slide_266,, -79,slide_271,, -80,slide_272,, -81,slide_273,, -82,slide_274,, -83,slide_276,, -84,slide_279,, -85,slide_280,, -86,slide_281,, -87,slide_282,, -88,slide_283,, -89,slide_287,, -90,slide_298,, -91,slide_299,, -92,slide_301,, -93,slide_306,, -94,slide_310,, -95,slide_32,, -96,slide_313,, -97,slide_315,, -98,slide_316,, -99,slide_322,, -100,slide_3,, -101,slide_326,, -102,slide_331,, -103,slide_11,, -104,slide_108,, -105,slide_111,, -106,slide_120,, -107,slide_122,, -108,slide_124,, -109,slide_131,, -110,slide_16,, -111,slide_147,, -112,slide_149,, -113,slide_150,, -114,slide_156,, -115,slide_170,, -116,slide_20,, -117,slide_184,, -118,slide_190,, -119,slide_191,, -120,slide_209,, -121,slide_210,, -122,slide_211,, -123,slide_235,, -124,slide_237,, -125,slide_238,, -126,slide_239,, -127,slide_26,, -128,slide_248,, -129,slide_252,, -130,slide_253,, -131,slide_256,, -132,slide_257,, -133,slide_258,, -134,slide_260,, -135,slide_267,, -136,slide_269,, -137,slide_270,, -138,slide_28,, -139,slide_29,, -140,slide_285,, -141,slide_286,, -142,slide_289,, -143,slide_30,, -144,slide_297,, -145,slide_300,, -146,slide_31,, -147,slide_303,, -148,slide_307,, -149,slide_308,, -150,slide_311,, -151,slide_312,, -152,slide_314,, -153,slide_317,, -154,slide_33,, -155,slide_325,, -156,slide_327,, -157,slide_336,, -158,slide_342,, -159,slide_1,, -160,slide_112,, -161,slide_119,, -162,slide_123,, -163,slide_127,, -164,slide_128,, -165,slide_142,, -166,slide_144,, -167,slide_152,, -168,slide_155,, -169,slide_165,, -170,slide_18,, -171,slide_19,, -172,slide_168,, -173,slide_178,, -174,slide_189,, -175,slide_192,, -176,slide_202,, -177,slide_205,, -178,slide_212,, -179,slide_220,, -180,slide_24,, -181,slide_224,, -182,slide_227,, -183,slide_236,, -184,slide_241,, -185,slide_244,, -186,slide_245,, -187,slide_247,, -188,slide_249,, -189,slide_261,, -190,slide_275,, -191,slide_277,, -192,slide_278,, -193,slide_292,, -194,slide_293,, diff --git a/splits/task_2_tumor_subtyping_50/splits_3_bool.csv b/splits/task_2_tumor_subtyping_50/splits_3_bool.csv deleted file mode 100644 index 4fb67761..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_3_bool.csv +++ /dev/null @@ -1,295 +0,0 @@ -,train,val,test -slide_0,True,False,False -slide_106,True,False,False -slide_107,True,False,False -slide_109,True,False,False -slide_113,True,False,False -slide_114,True,False,False -slide_12,True,False,False -slide_13,True,False,False -slide_118,True,False,False -slide_121,True,False,False -slide_14,True,False,False -slide_129,True,False,False -slide_133,True,False,False -slide_134,True,False,False -slide_135,True,False,False -slide_137,True,False,False -slide_138,True,False,False -slide_139,True,False,False -slide_140,True,False,False -slide_141,True,False,False -slide_143,True,False,False -slide_148,True,False,False -slide_151,True,False,False -slide_153,True,False,False -slide_157,True,False,False -slide_158,True,False,False -slide_159,True,False,False -slide_163,True,False,False -slide_166,True,False,False -slide_171,True,False,False -slide_172,True,False,False -slide_173,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_177,True,False,False -slide_180,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_183,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_193,True,False,False -slide_194,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_22,True,False,False -slide_206,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_2,True,False,False -slide_213,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_217,True,False,False -slide_218,True,False,False -slide_219,True,False,False -slide_221,True,False,False -slide_222,True,False,False -slide_223,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_231,True,False,False -slide_232,True,False,False -slide_233,True,False,False -slide_234,True,False,False -slide_240,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_250,True,False,False -slide_251,True,False,False -slide_255,True,False,False -slide_259,True,False,False -slide_262,True,False,False -slide_266,True,False,False -slide_271,True,False,False -slide_272,True,False,False -slide_273,True,False,False -slide_274,True,False,False -slide_276,True,False,False -slide_279,True,False,False -slide_280,True,False,False -slide_281,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_287,True,False,False -slide_298,True,False,False -slide_299,True,False,False -slide_301,True,False,False -slide_306,True,False,False -slide_310,True,False,False -slide_32,True,False,False -slide_313,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_322,True,False,False -slide_3,True,False,False -slide_326,True,False,False -slide_331,True,False,False -slide_11,True,False,False -slide_108,True,False,False -slide_111,True,False,False -slide_120,True,False,False -slide_122,True,False,False -slide_124,True,False,False -slide_131,True,False,False -slide_16,True,False,False -slide_147,True,False,False -slide_149,True,False,False -slide_150,True,False,False -slide_156,True,False,False -slide_170,True,False,False -slide_20,True,False,False -slide_184,True,False,False -slide_190,True,False,False -slide_191,True,False,False -slide_209,True,False,False -slide_210,True,False,False -slide_211,True,False,False -slide_235,True,False,False -slide_237,True,False,False -slide_238,True,False,False -slide_239,True,False,False -slide_26,True,False,False -slide_248,True,False,False -slide_252,True,False,False -slide_253,True,False,False -slide_256,True,False,False -slide_257,True,False,False -slide_258,True,False,False -slide_260,True,False,False -slide_267,True,False,False -slide_269,True,False,False -slide_270,True,False,False -slide_28,True,False,False -slide_29,True,False,False -slide_285,True,False,False -slide_286,True,False,False -slide_289,True,False,False -slide_30,True,False,False -slide_297,True,False,False -slide_300,True,False,False -slide_31,True,False,False -slide_303,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_311,True,False,False -slide_312,True,False,False -slide_314,True,False,False -slide_317,True,False,False -slide_33,True,False,False -slide_325,True,False,False -slide_327,True,False,False -slide_336,True,False,False -slide_342,True,False,False -slide_1,True,False,False -slide_112,True,False,False -slide_119,True,False,False -slide_123,True,False,False -slide_127,True,False,False -slide_128,True,False,False -slide_142,True,False,False -slide_144,True,False,False -slide_152,True,False,False -slide_155,True,False,False -slide_165,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_168,True,False,False -slide_178,True,False,False -slide_189,True,False,False -slide_192,True,False,False -slide_202,True,False,False -slide_205,True,False,False -slide_212,True,False,False -slide_220,True,False,False -slide_24,True,False,False -slide_224,True,False,False -slide_227,True,False,False -slide_236,True,False,False -slide_241,True,False,False -slide_244,True,False,False -slide_245,True,False,False -slide_247,True,False,False -slide_249,True,False,False -slide_261,True,False,False -slide_275,True,False,False -slide_277,True,False,False -slide_278,True,False,False -slide_292,True,False,False -slide_293,True,False,False -slide_268,False,True,False -slide_433,False,True,False -slide_434,False,True,False -slide_443,False,True,False -slide_17,False,True,False -slide_160,False,True,False -slide_459,False,True,False -slide_318,False,True,False -slide_47,False,True,False -slide_446,False,True,False -slide_447,False,True,False -slide_195,False,True,False -slide_132,False,True,False -slide_201,False,True,False -slide_59,False,True,False -slide_145,False,True,False -slide_291,False,True,False -slide_324,False,True,False -slide_73,False,True,False -slide_296,False,True,False -slide_355,False,True,False -slide_115,False,True,False -slide_169,False,True,False -slide_490,False,True,False -slide_35,False,True,False -slide_465,False,True,False -slide_480,False,True,False -slide_372,False,True,False -slide_164,False,True,False -slide_214,False,True,False -slide_167,False,True,False -slide_305,False,True,False -slide_302,False,True,False -slide_99,False,True,False -slide_23,False,True,False -slide_335,False,True,False -slide_21,False,True,False -slide_146,False,True,False -slide_265,False,True,False -slide_197,False,True,False -slide_414,False,True,False -slide_288,False,True,False -slide_27,False,True,False -slide_85,False,True,False -slide_84,False,True,False -slide_320,False,True,False -slide_482,False,False,True -slide_391,False,False,True -slide_392,False,False,True -slide_294,False,False,True -slide_295,False,False,True -slide_161,False,False,True -slide_162,False,False,True -slide_263,False,False,True -slide_264,False,False,True -slide_53,False,False,True -slide_94,False,False,True -slide_179,False,False,True -slide_473,False,False,True -slide_348,False,False,True -slide_15,False,False,True -slide_130,False,False,True -slide_228,False,False,True -slide_229,False,False,True -slide_448,False,False,True -slide_116,False,False,True -slide_125,False,False,True -slide_126,False,False,True -slide_136,False,False,True -slide_55,False,False,True -slide_56,False,False,True -slide_117,False,False,True -slide_77,False,False,True -slide_368,False,False,True -slide_203,False,False,True -slide_204,False,False,True -slide_329,False,False,True -slide_330,False,False,True -slide_246,False,False,True -slide_88,False,False,True -slide_405,False,False,True -slide_25,False,False,True -slide_340,False,False,True -slide_230,False,False,True -slide_341,False,False,True -slide_98,False,False,True -slide_52,False,False,True -slide_319,False,False,True -slide_92,False,False,True -slide_328,False,False,True -slide_363,False,False,True -slide_290,False,False,True -slide_284,False,False,True -slide_154,False,False,True -slide_471,False,False,True -slide_347,False,False,True -slide_416,False,False,True -slide_110,False,False,True -slide_254,False,False,True diff --git a/splits/task_2_tumor_subtyping_50/splits_3_descriptor.csv b/splits/task_2_tumor_subtyping_50/splits_3_descriptor.csv deleted file mode 100644 index de9404ac..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_3_descriptor.csv +++ /dev/null @@ -1,4 +0,0 @@ -,train,val,test -subtype_1,101,24,26 -subtype_2,55,13,17 -subtype_3,39,9,10 diff --git a/splits/task_2_tumor_subtyping_50/splits_4.csv b/splits/task_2_tumor_subtyping_50/splits_4.csv deleted file mode 100644 index 5e964c1f..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_4.csv +++ /dev/null @@ -1,196 +0,0 @@ -,train,val,test -0,slide_0,slide_354,slide_179 -1,slide_106,slide_470,slide_76 -2,slide_107,slide_456,slide_461 -3,slide_109,slide_457,slide_310 -4,slide_113,slide_87,slide_262 -5,slide_114,slide_352,slide_3 -6,slide_115,slide_441,slide_369 -7,slide_12,slide_442,slide_34 -8,slide_13,slide_91,slide_200 -9,slide_117,slide_166,slide_296 -10,slide_118,slide_75,slide_148 -11,slide_121,slide_63,slide_116 -12,slide_125,slide_45,slide_173 -13,slide_126,slide_473,slide_282 -14,slide_14,slide_331,slide_283 -15,slide_130,slide_368,slide_482 -16,slide_132,slide_193,slide_207 -17,slide_133,slide_208,slide_291 -18,slide_134,slide_371,slide_206 -19,slide_135,slide_138,slide_468 -20,slide_136,slide_103,slide_228 -21,slide_15,slide_232,slide_229 -22,slide_137,slide_233,slide_129 -23,slide_139,slide_171,slide_221 -24,slide_140,slide_172,slide_222 -25,slide_143,slide_370,slide_187 -26,slide_145,slide_141,slide_98 -27,slide_151,slide_6,slide_389 -28,slide_153,slide_453,slide_20 -29,slide_17,slide_486,slide_464 -30,slide_157,slide_120,slide_48 -31,slide_158,slide_146,slide_478 -32,slide_159,slide_341,slide_286 -33,slide_160,slide_164,slide_72 -34,slide_161,slide_474,slide_124 -35,slide_162,slide_475,slide_415 -36,slide_163,slide_252,slide_21 -37,slide_169,slide_253,slide_105 -38,slide_174,slide_28,slide_311 -39,slide_175,slide_29,slide_202 -40,slide_176,slide_42,slide_338 -41,slide_177,slide_36,slide_154 -42,slide_180,slide_247,slide_142 -43,slide_181,slide_123,slide_7 -44,slide_182,slide_205,slide_249 -45,slide_183,slide_84,slide_110 -46,slide_185,slide_165,slide_192 -47,slide_186,slide_74, -48,slide_188,slide_485, -49,slide_194,slide_455, -50,slide_195,, -51,slide_196,, -52,slide_198,, -53,slide_199,, -54,slide_22,, -55,slide_201,, -56,slide_203,, -57,slide_204,, -58,slide_2,, -59,slide_213,, -60,slide_215,, -61,slide_216,, -62,slide_217,, -63,slide_218,, -64,slide_219,, -65,slide_223,, -66,slide_225,, -67,slide_226,, -68,slide_231,, -69,slide_234,, -70,slide_240,, -71,slide_242,, -72,slide_243,, -73,slide_250,, -74,slide_251,, -75,slide_255,, -76,slide_259,, -77,slide_263,, -78,slide_264,, -79,slide_266,, -80,slide_268,, -81,slide_271,, -82,slide_272,, -83,slide_273,, -84,slide_274,, -85,slide_276,, -86,slide_279,, -87,slide_280,, -88,slide_281,, -89,slide_287,, -90,slide_294,, -91,slide_295,, -92,slide_298,, -93,slide_299,, -94,slide_301,, -95,slide_306,, -96,slide_32,, -97,slide_313,, -98,slide_315,, -99,slide_316,, -100,slide_318,, -101,slide_322,, -102,slide_324,, -103,slide_326,, -104,slide_11,, -105,slide_108,, -106,slide_111,, -107,slide_122,, -108,slide_131,, -109,slide_16,, -110,slide_147,, -111,slide_149,, -112,slide_150,, -113,slide_156,, -114,slide_167,, -115,slide_170,, -116,slide_184,, -117,slide_190,, -118,slide_191,, -119,slide_209,, -120,slide_210,, -121,slide_211,, -122,slide_23,, -123,slide_214,, -124,slide_230,, -125,slide_235,, -126,slide_25,, -127,slide_237,, -128,slide_238,, -129,slide_239,, -130,slide_246,, -131,slide_26,, -132,slide_248,, -133,slide_256,, -134,slide_257,, -135,slide_258,, -136,slide_260,, -137,slide_267,, -138,slide_269,, -139,slide_270,, -140,slide_285,, -141,slide_289,, -142,slide_30,, -143,slide_297,, -144,slide_300,, -145,slide_302,, -146,slide_31,, -147,slide_303,, -148,slide_305,, -149,slide_307,, -150,slide_308,, -151,slide_312,, -152,slide_314,, -153,slide_317,, -154,slide_319,, -155,slide_33,, -156,slide_325,, -157,slide_327,, -158,slide_328,, -159,slide_1,, -160,slide_112,, -161,slide_119,, -162,slide_127,, -163,slide_128,, -164,slide_144,, -165,slide_152,, -166,slide_155,, -167,slide_18,, -168,slide_19,, -169,slide_168,, -170,slide_178,, -171,slide_189,, -172,slide_197,, -173,slide_212,, -174,slide_220,, -175,slide_24,, -176,slide_224,, -177,slide_227,, -178,slide_236,, -179,slide_241,, -180,slide_244,, -181,slide_245,, -182,slide_254,, -183,slide_27,, -184,slide_261,, -185,slide_265,, -186,slide_275,, -187,slide_277,, -188,slide_278,, -189,slide_284,, -190,slide_288,, -191,slide_290,, -192,slide_292,, -193,slide_293,, -194,slide_304,, diff --git a/splits/task_2_tumor_subtyping_50/splits_4_bool.csv b/splits/task_2_tumor_subtyping_50/splits_4_bool.csv deleted file mode 100644 index b45bbc43..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_4_bool.csv +++ /dev/null @@ -1,293 +0,0 @@ -,train,val,test -slide_0,True,False,False -slide_106,True,False,False -slide_107,True,False,False -slide_109,True,False,False -slide_113,True,False,False -slide_114,True,False,False -slide_115,True,False,False -slide_12,True,False,False -slide_13,True,False,False -slide_117,True,False,False -slide_118,True,False,False -slide_121,True,False,False -slide_125,True,False,False -slide_126,True,False,False -slide_14,True,False,False -slide_130,True,False,False -slide_132,True,False,False -slide_133,True,False,False -slide_134,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_15,True,False,False -slide_137,True,False,False -slide_139,True,False,False -slide_140,True,False,False -slide_143,True,False,False -slide_145,True,False,False -slide_151,True,False,False -slide_153,True,False,False -slide_17,True,False,False -slide_157,True,False,False -slide_158,True,False,False -slide_159,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_163,True,False,False -slide_169,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_177,True,False,False -slide_180,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_183,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_188,True,False,False -slide_194,True,False,False -slide_195,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_199,True,False,False -slide_22,True,False,False -slide_201,True,False,False -slide_203,True,False,False -slide_204,True,False,False -slide_2,True,False,False -slide_213,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_217,True,False,False -slide_218,True,False,False -slide_219,True,False,False -slide_223,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_231,True,False,False -slide_234,True,False,False -slide_240,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_250,True,False,False -slide_251,True,False,False -slide_255,True,False,False -slide_259,True,False,False -slide_263,True,False,False -slide_264,True,False,False -slide_266,True,False,False -slide_268,True,False,False -slide_271,True,False,False -slide_272,True,False,False -slide_273,True,False,False -slide_274,True,False,False -slide_276,True,False,False -slide_279,True,False,False -slide_280,True,False,False -slide_281,True,False,False -slide_287,True,False,False -slide_294,True,False,False -slide_295,True,False,False -slide_298,True,False,False -slide_299,True,False,False -slide_301,True,False,False -slide_306,True,False,False -slide_32,True,False,False -slide_313,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_318,True,False,False -slide_322,True,False,False -slide_324,True,False,False -slide_326,True,False,False -slide_11,True,False,False -slide_108,True,False,False -slide_111,True,False,False -slide_122,True,False,False -slide_131,True,False,False -slide_16,True,False,False -slide_147,True,False,False -slide_149,True,False,False -slide_150,True,False,False -slide_156,True,False,False -slide_167,True,False,False -slide_170,True,False,False -slide_184,True,False,False -slide_190,True,False,False -slide_191,True,False,False -slide_209,True,False,False -slide_210,True,False,False -slide_211,True,False,False -slide_23,True,False,False -slide_214,True,False,False -slide_230,True,False,False -slide_235,True,False,False -slide_25,True,False,False -slide_237,True,False,False -slide_238,True,False,False -slide_239,True,False,False -slide_246,True,False,False -slide_26,True,False,False -slide_248,True,False,False -slide_256,True,False,False -slide_257,True,False,False -slide_258,True,False,False -slide_260,True,False,False -slide_267,True,False,False -slide_269,True,False,False -slide_270,True,False,False -slide_285,True,False,False -slide_289,True,False,False -slide_30,True,False,False -slide_297,True,False,False -slide_300,True,False,False -slide_302,True,False,False -slide_31,True,False,False -slide_303,True,False,False -slide_305,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_312,True,False,False -slide_314,True,False,False -slide_317,True,False,False -slide_319,True,False,False -slide_33,True,False,False -slide_325,True,False,False -slide_327,True,False,False -slide_328,True,False,False -slide_1,True,False,False -slide_112,True,False,False -slide_119,True,False,False -slide_127,True,False,False -slide_128,True,False,False -slide_144,True,False,False -slide_152,True,False,False -slide_155,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_168,True,False,False -slide_178,True,False,False -slide_189,True,False,False -slide_197,True,False,False -slide_212,True,False,False -slide_220,True,False,False -slide_24,True,False,False -slide_224,True,False,False -slide_227,True,False,False -slide_236,True,False,False -slide_241,True,False,False -slide_244,True,False,False -slide_245,True,False,False -slide_254,True,False,False -slide_27,True,False,False -slide_261,True,False,False -slide_265,True,False,False -slide_275,True,False,False -slide_277,True,False,False -slide_278,True,False,False -slide_284,True,False,False -slide_288,True,False,False -slide_290,True,False,False -slide_292,True,False,False -slide_293,True,False,False -slide_304,True,False,False -slide_354,False,True,False -slide_470,False,True,False -slide_456,False,True,False -slide_457,False,True,False -slide_87,False,True,False -slide_352,False,True,False -slide_441,False,True,False -slide_442,False,True,False -slide_91,False,True,False -slide_166,False,True,False -slide_75,False,True,False -slide_63,False,True,False -slide_45,False,True,False -slide_473,False,True,False -slide_331,False,True,False -slide_368,False,True,False -slide_193,False,True,False -slide_208,False,True,False -slide_371,False,True,False -slide_138,False,True,False -slide_103,False,True,False -slide_232,False,True,False -slide_233,False,True,False -slide_171,False,True,False -slide_172,False,True,False -slide_370,False,True,False -slide_141,False,True,False -slide_6,False,True,False -slide_453,False,True,False -slide_486,False,True,False -slide_120,False,True,False -slide_146,False,True,False -slide_341,False,True,False -slide_164,False,True,False -slide_474,False,True,False -slide_475,False,True,False -slide_252,False,True,False -slide_253,False,True,False -slide_28,False,True,False -slide_29,False,True,False -slide_42,False,True,False -slide_36,False,True,False -slide_247,False,True,False -slide_123,False,True,False -slide_205,False,True,False -slide_84,False,True,False -slide_165,False,True,False -slide_74,False,True,False -slide_485,False,True,False -slide_455,False,True,False -slide_179,False,False,True -slide_76,False,False,True -slide_461,False,False,True -slide_310,False,False,True -slide_262,False,False,True -slide_3,False,False,True -slide_369,False,False,True -slide_34,False,False,True -slide_200,False,False,True -slide_296,False,False,True -slide_148,False,False,True -slide_116,False,False,True -slide_173,False,False,True -slide_282,False,False,True -slide_283,False,False,True -slide_482,False,False,True -slide_207,False,False,True -slide_291,False,False,True -slide_206,False,False,True -slide_468,False,False,True -slide_228,False,False,True -slide_229,False,False,True -slide_129,False,False,True -slide_221,False,False,True -slide_222,False,False,True -slide_187,False,False,True -slide_98,False,False,True -slide_389,False,False,True -slide_20,False,False,True -slide_464,False,False,True -slide_48,False,False,True -slide_478,False,False,True -slide_286,False,False,True -slide_72,False,False,True -slide_124,False,False,True -slide_415,False,False,True -slide_21,False,False,True -slide_105,False,False,True -slide_311,False,False,True -slide_202,False,False,True -slide_338,False,False,True -slide_154,False,False,True -slide_142,False,False,True -slide_7,False,False,True -slide_249,False,False,True -slide_110,False,False,True -slide_192,False,False,True diff --git a/splits/task_2_tumor_subtyping_50/splits_4_descriptor.csv b/splits/task_2_tumor_subtyping_50/splits_4_descriptor.csv deleted file mode 100644 index 142a46d0..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_4_descriptor.csv +++ /dev/null @@ -1,4 +0,0 @@ -,train,val,test -subtype_1,99,25,26 -subtype_2,58,14,13 -subtype_3,38,11,8 diff --git a/splits/task_2_tumor_subtyping_50/splits_5.csv b/splits/task_2_tumor_subtyping_50/splits_5.csv deleted file mode 100644 index fd158774..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_5.csv +++ /dev/null @@ -1,199 +0,0 @@ -,train,val,test -0,slide_0,slide_262,slide_145 -1,slide_106,slide_45,slide_407 -2,slide_107,slide_393,slide_427 -3,slide_109,slide_394,slide_470 -4,slide_113,slide_49,slide_344 -5,slide_115,slide_132,slide_143 -6,slide_116,slide_114,slide_180 -7,slide_117,slide_266,slide_181 -8,slide_118,slide_12,slide_70 -9,slide_121,slide_13,slide_315 -10,slide_125,slide_397,slide_298 -11,slide_126,slide_44,slide_337 -12,slide_14,slide_130,slide_87 -13,slide_133,slide_255,slide_163 -14,slide_134,slide_182,slide_141 -15,slide_135,slide_136,slide_444 -16,slide_15,slide_76,slide_445 -17,slide_137,slide_268,slide_166 -18,slide_138,slide_339,slide_158 -19,slide_139,slide_228,slide_129 -20,slide_140,slide_229,slide_482 -21,slide_148,slide_468,slide_22 -22,slide_151,slide_194,slide_492 -23,slide_153,slide_446,slide_467 -24,slide_17,slide_447,slide_187 -25,slide_157,slide_418,slide_33 -26,slide_159,slide_419,slide_248 -27,slide_160,slide_488,slide_150 -28,slide_161,slide_489,slide_29 -29,slide_162,slide_270,slide_307 -30,slide_169,slide_25,slide_256 -31,slide_171,slide_108,slide_465 -32,slide_172,slide_342,slide_289 -33,slide_173,slide_486,slide_285 -34,slide_174,slide_36,slide_420 -35,slide_175,slide_170,slide_421 -36,slide_176,slide_120,slide_6 -37,slide_177,slide_230,slide_400 -38,slide_179,slide_343,slide_336 -39,slide_183,slide_28,slide_247 -40,slide_185,slide_297,slide_46 -41,slide_186,slide_102,slide_112 -42,slide_188,slide_245,slide_119 -43,slide_193,slide_265,slide_338 -44,slide_195,slide_192,slide_347 -45,slide_196,slide_1,slide_110 -46,slide_198,slide_5,slide_290 -47,slide_199,slide_350, -48,slide_200,slide_249, -49,slide_201,slide_39, -50,slide_203,, -51,slide_204,, -52,slide_206,, -53,slide_207,, -54,slide_208,, -55,slide_2,, -56,slide_213,, -57,slide_215,, -58,slide_216,, -59,slide_217,, -60,slide_218,, -61,slide_219,, -62,slide_221,, -63,slide_222,, -64,slide_223,, -65,slide_225,, -66,slide_226,, -67,slide_231,, -68,slide_232,, -69,slide_233,, -70,slide_234,, -71,slide_240,, -72,slide_242,, -73,slide_243,, -74,slide_250,, -75,slide_251,, -76,slide_259,, -77,slide_263,, -78,slide_264,, -79,slide_271,, -80,slide_272,, -81,slide_273,, -82,slide_274,, -83,slide_276,, -84,slide_279,, -85,slide_280,, -86,slide_281,, -87,slide_282,, -88,slide_283,, -89,slide_287,, -90,slide_291,, -91,slide_294,, -92,slide_295,, -93,slide_296,, -94,slide_299,, -95,slide_301,, -96,slide_306,, -97,slide_310,, -98,slide_32,, -99,slide_313,, -100,slide_316,, -101,slide_318,, -102,slide_322,, -103,slide_3,, -104,slide_324,, -105,slide_326,, -106,slide_11,, -107,slide_111,, -108,slide_122,, -109,slide_124,, -110,slide_131,, -111,slide_146,, -112,slide_16,, -113,slide_147,, -114,slide_149,, -115,slide_156,, -116,slide_164,, -117,slide_167,, -118,slide_20,, -119,slide_184,, -120,slide_190,, -121,slide_21,, -122,slide_191,, -123,slide_209,, -124,slide_210,, -125,slide_211,, -126,slide_23,, -127,slide_214,, -128,slide_235,, -129,slide_237,, -130,slide_238,, -131,slide_239,, -132,slide_246,, -133,slide_26,, -134,slide_252,, -135,slide_253,, -136,slide_257,, -137,slide_258,, -138,slide_260,, -139,slide_267,, -140,slide_269,, -141,slide_286,, -142,slide_30,, -143,slide_300,, -144,slide_302,, -145,slide_31,, -146,slide_303,, -147,slide_305,, -148,slide_308,, -149,slide_311,, -150,slide_312,, -151,slide_314,, -152,slide_317,, -153,slide_319,, -154,slide_325,, -155,slide_327,, -156,slide_328,, -157,slide_335,, -158,slide_340,, -159,slide_341,, -160,slide_349,, -161,slide_358,, -162,slide_123,, -163,slide_127,, -164,slide_128,, -165,slide_142,, -166,slide_144,, -167,slide_152,, -168,slide_154,, -169,slide_155,, -170,slide_165,, -171,slide_18,, -172,slide_19,, -173,slide_168,, -174,slide_178,, -175,slide_189,, -176,slide_197,, -177,slide_202,, -178,slide_205,, -179,slide_212,, -180,slide_220,, -181,slide_24,, -182,slide_224,, -183,slide_227,, -184,slide_236,, -185,slide_241,, -186,slide_244,, -187,slide_254,, -188,slide_27,, -189,slide_261,, -190,slide_275,, -191,slide_277,, -192,slide_278,, -193,slide_284,, -194,slide_288,, -195,slide_292,, -196,slide_293,, -197,slide_304,, diff --git a/splits/task_2_tumor_subtyping_50/splits_5_bool.csv b/splits/task_2_tumor_subtyping_50/splits_5_bool.csv deleted file mode 100644 index b7528ee9..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_5_bool.csv +++ /dev/null @@ -1,296 +0,0 @@ -,train,val,test -slide_0,True,False,False -slide_106,True,False,False -slide_107,True,False,False -slide_109,True,False,False -slide_113,True,False,False -slide_115,True,False,False -slide_116,True,False,False -slide_117,True,False,False -slide_118,True,False,False -slide_121,True,False,False -slide_125,True,False,False -slide_126,True,False,False -slide_14,True,False,False -slide_133,True,False,False -slide_134,True,False,False -slide_135,True,False,False -slide_15,True,False,False -slide_137,True,False,False -slide_138,True,False,False -slide_139,True,False,False -slide_140,True,False,False -slide_148,True,False,False -slide_151,True,False,False -slide_153,True,False,False -slide_17,True,False,False -slide_157,True,False,False -slide_159,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_169,True,False,False -slide_171,True,False,False -slide_172,True,False,False -slide_173,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_177,True,False,False -slide_179,True,False,False -slide_183,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_188,True,False,False -slide_193,True,False,False -slide_195,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_201,True,False,False -slide_203,True,False,False -slide_204,True,False,False -slide_206,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_2,True,False,False -slide_213,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_217,True,False,False -slide_218,True,False,False -slide_219,True,False,False -slide_221,True,False,False -slide_222,True,False,False -slide_223,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_231,True,False,False -slide_232,True,False,False -slide_233,True,False,False -slide_234,True,False,False -slide_240,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_250,True,False,False -slide_251,True,False,False -slide_259,True,False,False -slide_263,True,False,False -slide_264,True,False,False -slide_271,True,False,False -slide_272,True,False,False -slide_273,True,False,False -slide_274,True,False,False -slide_276,True,False,False -slide_279,True,False,False -slide_280,True,False,False -slide_281,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_287,True,False,False -slide_291,True,False,False -slide_294,True,False,False -slide_295,True,False,False -slide_296,True,False,False -slide_299,True,False,False -slide_301,True,False,False -slide_306,True,False,False -slide_310,True,False,False -slide_32,True,False,False -slide_313,True,False,False -slide_316,True,False,False -slide_318,True,False,False -slide_322,True,False,False -slide_3,True,False,False -slide_324,True,False,False -slide_326,True,False,False -slide_11,True,False,False -slide_111,True,False,False -slide_122,True,False,False -slide_124,True,False,False -slide_131,True,False,False -slide_146,True,False,False -slide_16,True,False,False -slide_147,True,False,False -slide_149,True,False,False -slide_156,True,False,False -slide_164,True,False,False -slide_167,True,False,False -slide_20,True,False,False -slide_184,True,False,False -slide_190,True,False,False -slide_21,True,False,False -slide_191,True,False,False -slide_209,True,False,False -slide_210,True,False,False -slide_211,True,False,False -slide_23,True,False,False -slide_214,True,False,False -slide_235,True,False,False -slide_237,True,False,False -slide_238,True,False,False -slide_239,True,False,False -slide_246,True,False,False -slide_26,True,False,False -slide_252,True,False,False -slide_253,True,False,False -slide_257,True,False,False -slide_258,True,False,False -slide_260,True,False,False -slide_267,True,False,False -slide_269,True,False,False -slide_286,True,False,False -slide_30,True,False,False -slide_300,True,False,False -slide_302,True,False,False -slide_31,True,False,False -slide_303,True,False,False -slide_305,True,False,False -slide_308,True,False,False -slide_311,True,False,False -slide_312,True,False,False -slide_314,True,False,False -slide_317,True,False,False -slide_319,True,False,False -slide_325,True,False,False -slide_327,True,False,False -slide_328,True,False,False -slide_335,True,False,False -slide_340,True,False,False -slide_341,True,False,False -slide_349,True,False,False -slide_358,True,False,False -slide_123,True,False,False -slide_127,True,False,False -slide_128,True,False,False -slide_142,True,False,False -slide_144,True,False,False -slide_152,True,False,False -slide_154,True,False,False -slide_155,True,False,False -slide_165,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_168,True,False,False -slide_178,True,False,False -slide_189,True,False,False -slide_197,True,False,False -slide_202,True,False,False -slide_205,True,False,False -slide_212,True,False,False -slide_220,True,False,False -slide_24,True,False,False -slide_224,True,False,False -slide_227,True,False,False -slide_236,True,False,False -slide_241,True,False,False -slide_244,True,False,False -slide_254,True,False,False -slide_27,True,False,False -slide_261,True,False,False -slide_275,True,False,False -slide_277,True,False,False -slide_278,True,False,False -slide_284,True,False,False -slide_288,True,False,False -slide_292,True,False,False -slide_293,True,False,False -slide_304,True,False,False -slide_262,False,True,False -slide_45,False,True,False -slide_393,False,True,False -slide_394,False,True,False -slide_49,False,True,False -slide_132,False,True,False -slide_114,False,True,False -slide_266,False,True,False -slide_12,False,True,False -slide_13,False,True,False -slide_397,False,True,False -slide_44,False,True,False -slide_130,False,True,False -slide_255,False,True,False -slide_182,False,True,False -slide_136,False,True,False -slide_76,False,True,False -slide_268,False,True,False -slide_339,False,True,False -slide_228,False,True,False -slide_229,False,True,False -slide_468,False,True,False -slide_194,False,True,False -slide_446,False,True,False -slide_447,False,True,False -slide_418,False,True,False -slide_419,False,True,False -slide_488,False,True,False -slide_489,False,True,False -slide_270,False,True,False -slide_25,False,True,False -slide_108,False,True,False -slide_342,False,True,False -slide_486,False,True,False -slide_36,False,True,False -slide_170,False,True,False -slide_120,False,True,False -slide_230,False,True,False -slide_343,False,True,False -slide_28,False,True,False -slide_297,False,True,False -slide_102,False,True,False -slide_245,False,True,False -slide_265,False,True,False -slide_192,False,True,False -slide_1,False,True,False -slide_5,False,True,False -slide_350,False,True,False -slide_249,False,True,False -slide_39,False,True,False -slide_145,False,False,True -slide_407,False,False,True -slide_427,False,False,True -slide_470,False,False,True -slide_344,False,False,True -slide_143,False,False,True -slide_180,False,False,True -slide_181,False,False,True -slide_70,False,False,True -slide_315,False,False,True -slide_298,False,False,True -slide_337,False,False,True -slide_87,False,False,True -slide_163,False,False,True -slide_141,False,False,True -slide_444,False,False,True -slide_445,False,False,True -slide_166,False,False,True -slide_158,False,False,True -slide_129,False,False,True -slide_482,False,False,True -slide_22,False,False,True -slide_492,False,False,True -slide_467,False,False,True -slide_187,False,False,True -slide_33,False,False,True -slide_248,False,False,True -slide_150,False,False,True -slide_29,False,False,True -slide_307,False,False,True -slide_256,False,False,True -slide_465,False,False,True -slide_289,False,False,True -slide_285,False,False,True -slide_420,False,False,True -slide_421,False,False,True -slide_6,False,False,True -slide_400,False,False,True -slide_336,False,False,True -slide_247,False,False,True -slide_46,False,False,True -slide_112,False,False,True -slide_119,False,False,True -slide_338,False,False,True -slide_347,False,False,True -slide_110,False,False,True -slide_290,False,False,True diff --git a/splits/task_2_tumor_subtyping_50/splits_5_descriptor.csv b/splits/task_2_tumor_subtyping_50/splits_5_descriptor.csv deleted file mode 100644 index 49d002a9..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_5_descriptor.csv +++ /dev/null @@ -1,4 +0,0 @@ -,train,val,test -subtype_1,100,28,24 -subtype_2,59,13,13 -subtype_3,39,9,10 diff --git a/splits/task_2_tumor_subtyping_50/splits_6.csv b/splits/task_2_tumor_subtyping_50/splits_6.csv deleted file mode 100644 index 4b3eed89..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_6.csv +++ /dev/null @@ -1,202 +0,0 @@ -,train,val,test -0,slide_0,slide_410,slide_408 -1,slide_106,slide_276,slide_409 -2,slide_107,slide_140,slide_223 -3,slide_109,slide_287,slide_354 -4,slide_115,slide_484,slide_73 -5,slide_12,slide_411,slide_353 -6,slide_13,slide_67,slide_87 -7,slide_116,slide_68,slide_281 -8,slide_117,slide_86,slide_59 -9,slide_121,slide_331,slide_280 -10,slide_125,slide_44,slide_470 -11,slide_126,slide_173,slide_234 -12,slide_14,slide_118,slide_348 -13,slide_129,slide_334,slide_231 -14,slide_130,slide_468,slide_208 -15,slide_132,slide_367,slide_137 -16,slide_133,slide_145,slide_43 -17,slide_134,slide_113,slide_114 -18,slide_135,slide_49,slide_352 -19,slide_136,slide_79,slide_458 -20,slide_138,slide_69,slide_183 -21,slide_139,slide_15,slide_313 -22,slide_141,slide_55,slide_427 -23,slide_143,slide_56,slide_169 -24,slide_148,slide_250,slide_360 -25,slide_151,slide_405,slide_6 -26,slide_153,slide_465,slide_302 -27,slide_17,slide_466,slide_267 -28,slide_157,slide_486,slide_328 -29,slide_158,slide_48,slide_289 -30,slide_159,slide_105,slide_147 -31,slide_160,slide_210,slide_156 -32,slide_161,slide_235,slide_99 -33,slide_162,slide_230,slide_286 -34,slide_163,slide_399,slide_248 -35,slide_166,slide_80,slide_336 -36,slide_171,slide_164,slide_108 -37,slide_172,slide_385,slide_155 -38,slide_174,slide_386,slide_499 -39,slide_175,slide_350,slide_277 -40,slide_176,slide_483,slide_321 -41,slide_177,slide_426,slide_390 -42,slide_179,slide_241,slide_27 -43,slide_180,slide_265,slide_119 -44,slide_181,slide_401,slide_406 -45,slide_182,slide_284, -46,slide_185,slide_71, -47,slide_186,, -48,slide_187,, -49,slide_188,, -50,slide_193,, -51,slide_194,, -52,slide_195,, -53,slide_196,, -54,slide_198,, -55,slide_199,, -56,slide_200,, -57,slide_22,, -58,slide_201,, -59,slide_203,, -60,slide_204,, -61,slide_206,, -62,slide_207,, -63,slide_2,, -64,slide_213,, -65,slide_215,, -66,slide_216,, -67,slide_217,, -68,slide_218,, -69,slide_219,, -70,slide_221,, -71,slide_222,, -72,slide_225,, -73,slide_226,, -74,slide_228,, -75,slide_229,, -76,slide_232,, -77,slide_233,, -78,slide_240,, -79,slide_242,, -80,slide_243,, -81,slide_251,, -82,slide_255,, -83,slide_259,, -84,slide_262,, -85,slide_263,, -86,slide_264,, -87,slide_266,, -88,slide_268,, -89,slide_271,, -90,slide_272,, -91,slide_273,, -92,slide_274,, -93,slide_279,, -94,slide_282,, -95,slide_283,, -96,slide_291,, -97,slide_294,, -98,slide_295,, -99,slide_296,, -100,slide_298,, -101,slide_299,, -102,slide_301,, -103,slide_306,, -104,slide_310,, -105,slide_32,, -106,slide_315,, -107,slide_316,, -108,slide_318,, -109,slide_11,, -110,slide_111,, -111,slide_120,, -112,slide_122,, -113,slide_124,, -114,slide_131,, -115,slide_146,, -116,slide_16,, -117,slide_149,, -118,slide_150,, -119,slide_167,, -120,slide_170,, -121,slide_20,, -122,slide_184,, -123,slide_190,, -124,slide_21,, -125,slide_191,, -126,slide_209,, -127,slide_211,, -128,slide_23,, -129,slide_214,, -130,slide_25,, -131,slide_237,, -132,slide_238,, -133,slide_239,, -134,slide_246,, -135,slide_26,, -136,slide_252,, -137,slide_253,, -138,slide_256,, -139,slide_257,, -140,slide_258,, -141,slide_260,, -142,slide_269,, -143,slide_270,, -144,slide_28,, -145,slide_29,, -146,slide_285,, -147,slide_30,, -148,slide_297,, -149,slide_300,, -150,slide_31,, -151,slide_303,, -152,slide_305,, -153,slide_307,, -154,slide_308,, -155,slide_311,, -156,slide_312,, -157,slide_314,, -158,slide_317,, -159,slide_319,, -160,slide_33,, -161,slide_325,, -162,slide_327,, -163,slide_335,, -164,slide_340,, -165,slide_1,, -166,slide_110,, -167,slide_112,, -168,slide_123,, -169,slide_127,, -170,slide_128,, -171,slide_142,, -172,slide_144,, -173,slide_152,, -174,slide_154,, -175,slide_165,, -176,slide_18,, -177,slide_19,, -178,slide_168,, -179,slide_178,, -180,slide_189,, -181,slide_192,, -182,slide_197,, -183,slide_202,, -184,slide_205,, -185,slide_212,, -186,slide_220,, -187,slide_24,, -188,slide_224,, -189,slide_227,, -190,slide_236,, -191,slide_244,, -192,slide_245,, -193,slide_247,, -194,slide_249,, -195,slide_254,, -196,slide_261,, -197,slide_275,, -198,slide_278,, -199,slide_288,, -200,slide_290,, diff --git a/splits/task_2_tumor_subtyping_50/splits_6_bool.csv b/splits/task_2_tumor_subtyping_50/splits_6_bool.csv deleted file mode 100644 index d8776bb6..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_6_bool.csv +++ /dev/null @@ -1,294 +0,0 @@ -,train,val,test -slide_0,True,False,False -slide_106,True,False,False -slide_107,True,False,False -slide_109,True,False,False -slide_115,True,False,False -slide_12,True,False,False -slide_13,True,False,False -slide_116,True,False,False -slide_117,True,False,False -slide_121,True,False,False -slide_125,True,False,False -slide_126,True,False,False -slide_14,True,False,False -slide_129,True,False,False -slide_130,True,False,False -slide_132,True,False,False -slide_133,True,False,False -slide_134,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_138,True,False,False -slide_139,True,False,False -slide_141,True,False,False -slide_143,True,False,False -slide_148,True,False,False -slide_151,True,False,False -slide_153,True,False,False -slide_17,True,False,False -slide_157,True,False,False -slide_158,True,False,False -slide_159,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_163,True,False,False -slide_166,True,False,False -slide_171,True,False,False -slide_172,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_176,True,False,False -slide_177,True,False,False -slide_179,True,False,False -slide_180,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_193,True,False,False -slide_194,True,False,False -slide_195,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_22,True,False,False -slide_201,True,False,False -slide_203,True,False,False -slide_204,True,False,False -slide_206,True,False,False -slide_207,True,False,False -slide_2,True,False,False -slide_213,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_217,True,False,False -slide_218,True,False,False -slide_219,True,False,False -slide_221,True,False,False -slide_222,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_232,True,False,False -slide_233,True,False,False -slide_240,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_251,True,False,False -slide_255,True,False,False -slide_259,True,False,False -slide_262,True,False,False -slide_263,True,False,False -slide_264,True,False,False -slide_266,True,False,False -slide_268,True,False,False -slide_271,True,False,False -slide_272,True,False,False -slide_273,True,False,False -slide_274,True,False,False -slide_279,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_291,True,False,False -slide_294,True,False,False -slide_295,True,False,False -slide_296,True,False,False -slide_298,True,False,False -slide_299,True,False,False -slide_301,True,False,False -slide_306,True,False,False -slide_310,True,False,False -slide_32,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_318,True,False,False -slide_11,True,False,False -slide_111,True,False,False -slide_120,True,False,False -slide_122,True,False,False -slide_124,True,False,False -slide_131,True,False,False -slide_146,True,False,False -slide_16,True,False,False -slide_149,True,False,False -slide_150,True,False,False -slide_167,True,False,False -slide_170,True,False,False -slide_20,True,False,False -slide_184,True,False,False -slide_190,True,False,False -slide_21,True,False,False -slide_191,True,False,False -slide_209,True,False,False -slide_211,True,False,False -slide_23,True,False,False -slide_214,True,False,False -slide_25,True,False,False -slide_237,True,False,False -slide_238,True,False,False -slide_239,True,False,False -slide_246,True,False,False -slide_26,True,False,False -slide_252,True,False,False -slide_253,True,False,False -slide_256,True,False,False -slide_257,True,False,False -slide_258,True,False,False -slide_260,True,False,False -slide_269,True,False,False -slide_270,True,False,False -slide_28,True,False,False -slide_29,True,False,False -slide_285,True,False,False -slide_30,True,False,False -slide_297,True,False,False -slide_300,True,False,False -slide_31,True,False,False -slide_303,True,False,False -slide_305,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_311,True,False,False -slide_312,True,False,False -slide_314,True,False,False -slide_317,True,False,False -slide_319,True,False,False -slide_33,True,False,False -slide_325,True,False,False -slide_327,True,False,False -slide_335,True,False,False -slide_340,True,False,False -slide_1,True,False,False -slide_110,True,False,False -slide_112,True,False,False -slide_123,True,False,False -slide_127,True,False,False -slide_128,True,False,False -slide_142,True,False,False -slide_144,True,False,False -slide_152,True,False,False -slide_154,True,False,False -slide_165,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_168,True,False,False -slide_178,True,False,False -slide_189,True,False,False -slide_192,True,False,False -slide_197,True,False,False -slide_202,True,False,False -slide_205,True,False,False -slide_212,True,False,False -slide_220,True,False,False -slide_24,True,False,False -slide_224,True,False,False -slide_227,True,False,False -slide_236,True,False,False -slide_244,True,False,False -slide_245,True,False,False -slide_247,True,False,False -slide_249,True,False,False -slide_254,True,False,False -slide_261,True,False,False -slide_275,True,False,False -slide_278,True,False,False -slide_288,True,False,False -slide_290,True,False,False -slide_410,False,True,False -slide_276,False,True,False -slide_140,False,True,False -slide_287,False,True,False -slide_484,False,True,False -slide_411,False,True,False -slide_67,False,True,False -slide_68,False,True,False -slide_86,False,True,False -slide_331,False,True,False -slide_44,False,True,False -slide_173,False,True,False -slide_118,False,True,False -slide_334,False,True,False -slide_468,False,True,False -slide_367,False,True,False -slide_145,False,True,False -slide_113,False,True,False -slide_49,False,True,False -slide_79,False,True,False -slide_69,False,True,False -slide_15,False,True,False -slide_55,False,True,False -slide_56,False,True,False -slide_250,False,True,False -slide_405,False,True,False -slide_465,False,True,False -slide_466,False,True,False -slide_486,False,True,False -slide_48,False,True,False -slide_105,False,True,False -slide_210,False,True,False -slide_235,False,True,False -slide_230,False,True,False -slide_399,False,True,False -slide_80,False,True,False -slide_164,False,True,False -slide_385,False,True,False -slide_386,False,True,False -slide_350,False,True,False -slide_483,False,True,False -slide_426,False,True,False -slide_241,False,True,False -slide_265,False,True,False -slide_401,False,True,False -slide_284,False,True,False -slide_71,False,True,False -slide_408,False,False,True -slide_409,False,False,True -slide_223,False,False,True -slide_354,False,False,True -slide_73,False,False,True -slide_353,False,False,True -slide_87,False,False,True -slide_281,False,False,True -slide_59,False,False,True -slide_280,False,False,True -slide_470,False,False,True -slide_234,False,False,True -slide_348,False,False,True -slide_231,False,False,True -slide_208,False,False,True -slide_137,False,False,True -slide_43,False,False,True -slide_114,False,False,True -slide_352,False,False,True -slide_458,False,False,True -slide_183,False,False,True -slide_313,False,False,True -slide_427,False,False,True -slide_169,False,False,True -slide_360,False,False,True -slide_6,False,False,True -slide_302,False,False,True -slide_267,False,False,True -slide_328,False,False,True -slide_289,False,False,True -slide_147,False,False,True -slide_156,False,False,True -slide_99,False,False,True -slide_286,False,False,True -slide_248,False,False,True -slide_336,False,False,True -slide_108,False,False,True -slide_155,False,False,True -slide_499,False,False,True -slide_277,False,False,True -slide_321,False,False,True -slide_390,False,False,True -slide_27,False,False,True -slide_119,False,False,True -slide_406,False,False,True diff --git a/splits/task_2_tumor_subtyping_50/splits_6_descriptor.csv b/splits/task_2_tumor_subtyping_50/splits_6_descriptor.csv deleted file mode 100644 index 7dfa407c..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_6_descriptor.csv +++ /dev/null @@ -1,4 +0,0 @@ -,train,val,test -subtype_1,103,24,23 -subtype_2,59,15,14 -subtype_3,39,8,8 diff --git a/splits/task_2_tumor_subtyping_50/splits_7.csv b/splits/task_2_tumor_subtyping_50/splits_7.csv deleted file mode 100644 index 15339b6c..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_7.csv +++ /dev/null @@ -1,198 +0,0 @@ -,train,val,test -0,slide_0,slide_364,slide_117 -1,slide_106,slide_173,slide_403 -2,slide_107,slide_195,slide_158 -3,slide_109,slide_138,slide_268 -4,slide_113,slide_12,slide_467 -5,slide_114,slide_13,slide_223 -6,slide_115,slide_171,slide_228 -7,slide_116,slide_172,slide_229 -8,slide_118,slide_316,slide_193 -9,slide_121,slide_427,slide_179 -10,slide_125,slide_34,slide_490 -11,slide_126,slide_53,slide_263 -12,slide_14,slide_354,slide_264 -13,slide_129,slide_176,slide_375 -14,slide_132,slide_194,slide_240 -15,slide_133,slide_279,slide_255 -16,slide_134,slide_468,slide_130 -17,slide_135,slide_462,slide_282 -18,slide_136,slide_59,slide_283 -19,slide_15,slide_433,slide_159 -20,slide_137,slide_434,slide_276 -21,slide_139,slide_456,slide_492 -22,slide_140,slide_457,slide_374 -23,slide_141,slide_393,slide_452 -24,slide_143,slide_394,slide_339 -25,slide_145,slide_157,slide_436 -26,slide_148,slide_412,slide_437 -27,slide_151,slide_413,slide_438 -28,slide_153,slide_324,slide_146 -29,slide_17,slide_486,slide_42 -30,slide_160,slide_305,slide_319 -31,slide_161,slide_384,slide_450 -32,slide_162,slide_33,slide_65 -33,slide_163,slide_230,slide_190 -34,slide_166,slide_102,slide_191 -35,slide_169,slide_387,slide_379 -36,slide_174,slide_417,slide_380 -37,slide_175,slide_424,slide_381 -38,slide_177,slide_28,slide_80 -39,slide_180,slide_425,slide_405 -40,slide_181,slide_341,slide_430 -41,slide_182,slide_11,slide_431 -42,slide_183,slide_5,slide_432 -43,slide_185,slide_290,slide_99 -44,slide_186,slide_236,slide_474 -45,slide_187,slide_123,slide_475 -46,slide_188,slide_499,slide_155 -47,slide_196,slide_293,slide_241 -48,slide_198,slide_244,slide_37 -49,slide_199,slide_423,slide_66 -50,slide_200,,slide_119 -51,slide_22,,slide_321 -52,slide_201,,slide_197 -53,slide_203,,slide_265 -54,slide_204,, -55,slide_206,, -56,slide_207,, -57,slide_208,, -58,slide_2,, -59,slide_213,, -60,slide_215,, -61,slide_216,, -62,slide_217,, -63,slide_218,, -64,slide_219,, -65,slide_221,, -66,slide_222,, -67,slide_225,, -68,slide_226,, -69,slide_231,, -70,slide_232,, -71,slide_233,, -72,slide_234,, -73,slide_242,, -74,slide_243,, -75,slide_250,, -76,slide_251,, -77,slide_259,, -78,slide_262,, -79,slide_266,, -80,slide_271,, -81,slide_272,, -82,slide_273,, -83,slide_274,, -84,slide_280,, -85,slide_281,, -86,slide_287,, -87,slide_291,, -88,slide_294,, -89,slide_295,, -90,slide_296,, -91,slide_298,, -92,slide_299,, -93,slide_301,, -94,slide_306,, -95,slide_310,, -96,slide_32,, -97,slide_313,, -98,slide_315,, -99,slide_318,, -100,slide_322,, -101,slide_3,, -102,slide_326,, -103,slide_329,, -104,slide_330,, -105,slide_108,, -106,slide_111,, -107,slide_120,, -108,slide_122,, -109,slide_124,, -110,slide_131,, -111,slide_16,, -112,slide_147,, -113,slide_149,, -114,slide_150,, -115,slide_156,, -116,slide_164,, -117,slide_167,, -118,slide_170,, -119,slide_20,, -120,slide_184,, -121,slide_21,, -122,slide_209,, -123,slide_210,, -124,slide_211,, -125,slide_23,, -126,slide_214,, -127,slide_235,, -128,slide_25,, -129,slide_237,, -130,slide_238,, -131,slide_239,, -132,slide_246,, -133,slide_26,, -134,slide_248,, -135,slide_252,, -136,slide_253,, -137,slide_256,, -138,slide_257,, -139,slide_258,, -140,slide_260,, -141,slide_267,, -142,slide_269,, -143,slide_270,, -144,slide_29,, -145,slide_285,, -146,slide_286,, -147,slide_289,, -148,slide_30,, -149,slide_297,, -150,slide_300,, -151,slide_302,, -152,slide_31,, -153,slide_303,, -154,slide_307,, -155,slide_308,, -156,slide_311,, -157,slide_312,, -158,slide_314,, -159,slide_317,, -160,slide_325,, -161,slide_1,, -162,slide_110,, -163,slide_112,, -164,slide_127,, -165,slide_128,, -166,slide_142,, -167,slide_144,, -168,slide_152,, -169,slide_154,, -170,slide_165,, -171,slide_18,, -172,slide_19,, -173,slide_168,, -174,slide_178,, -175,slide_189,, -176,slide_192,, -177,slide_202,, -178,slide_205,, -179,slide_212,, -180,slide_220,, -181,slide_24,, -182,slide_224,, -183,slide_227,, -184,slide_245,, -185,slide_247,, -186,slide_249,, -187,slide_254,, -188,slide_27,, -189,slide_261,, -190,slide_275,, -191,slide_277,, -192,slide_278,, -193,slide_284,, -194,slide_288,, -195,slide_292,, -196,slide_304,, diff --git a/splits/task_2_tumor_subtyping_50/splits_7_bool.csv b/splits/task_2_tumor_subtyping_50/splits_7_bool.csv deleted file mode 100644 index a40e7f5f..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_7_bool.csv +++ /dev/null @@ -1,302 +0,0 @@ -,train,val,test -slide_0,True,False,False -slide_106,True,False,False -slide_107,True,False,False -slide_109,True,False,False -slide_113,True,False,False -slide_114,True,False,False -slide_115,True,False,False -slide_116,True,False,False -slide_118,True,False,False -slide_121,True,False,False -slide_125,True,False,False -slide_126,True,False,False -slide_14,True,False,False -slide_129,True,False,False -slide_132,True,False,False -slide_133,True,False,False -slide_134,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_15,True,False,False -slide_137,True,False,False -slide_139,True,False,False -slide_140,True,False,False -slide_141,True,False,False -slide_143,True,False,False -slide_145,True,False,False -slide_148,True,False,False -slide_151,True,False,False -slide_153,True,False,False -slide_17,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_163,True,False,False -slide_166,True,False,False -slide_169,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_177,True,False,False -slide_180,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_183,True,False,False -slide_185,True,False,False -slide_186,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_22,True,False,False -slide_201,True,False,False -slide_203,True,False,False -slide_204,True,False,False -slide_206,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_2,True,False,False -slide_213,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_217,True,False,False -slide_218,True,False,False -slide_219,True,False,False -slide_221,True,False,False -slide_222,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_231,True,False,False -slide_232,True,False,False -slide_233,True,False,False -slide_234,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_250,True,False,False -slide_251,True,False,False -slide_259,True,False,False -slide_262,True,False,False -slide_266,True,False,False -slide_271,True,False,False -slide_272,True,False,False -slide_273,True,False,False -slide_274,True,False,False -slide_280,True,False,False -slide_281,True,False,False -slide_287,True,False,False -slide_291,True,False,False -slide_294,True,False,False -slide_295,True,False,False -slide_296,True,False,False -slide_298,True,False,False -slide_299,True,False,False -slide_301,True,False,False -slide_306,True,False,False -slide_310,True,False,False -slide_32,True,False,False -slide_313,True,False,False -slide_315,True,False,False -slide_318,True,False,False -slide_322,True,False,False -slide_3,True,False,False -slide_326,True,False,False -slide_329,True,False,False -slide_330,True,False,False -slide_108,True,False,False -slide_111,True,False,False -slide_120,True,False,False -slide_122,True,False,False -slide_124,True,False,False -slide_131,True,False,False -slide_16,True,False,False -slide_147,True,False,False -slide_149,True,False,False -slide_150,True,False,False -slide_156,True,False,False -slide_164,True,False,False -slide_167,True,False,False -slide_170,True,False,False -slide_20,True,False,False -slide_184,True,False,False -slide_21,True,False,False -slide_209,True,False,False -slide_210,True,False,False -slide_211,True,False,False -slide_23,True,False,False -slide_214,True,False,False -slide_235,True,False,False -slide_25,True,False,False -slide_237,True,False,False -slide_238,True,False,False -slide_239,True,False,False -slide_246,True,False,False -slide_26,True,False,False -slide_248,True,False,False -slide_252,True,False,False -slide_253,True,False,False -slide_256,True,False,False -slide_257,True,False,False -slide_258,True,False,False -slide_260,True,False,False -slide_267,True,False,False -slide_269,True,False,False -slide_270,True,False,False -slide_29,True,False,False -slide_285,True,False,False -slide_286,True,False,False -slide_289,True,False,False -slide_30,True,False,False -slide_297,True,False,False -slide_300,True,False,False -slide_302,True,False,False -slide_31,True,False,False -slide_303,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_311,True,False,False -slide_312,True,False,False -slide_314,True,False,False -slide_317,True,False,False -slide_325,True,False,False -slide_1,True,False,False -slide_110,True,False,False -slide_112,True,False,False -slide_127,True,False,False -slide_128,True,False,False -slide_142,True,False,False -slide_144,True,False,False -slide_152,True,False,False -slide_154,True,False,False -slide_165,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_168,True,False,False -slide_178,True,False,False -slide_189,True,False,False -slide_192,True,False,False -slide_202,True,False,False -slide_205,True,False,False -slide_212,True,False,False -slide_220,True,False,False -slide_24,True,False,False -slide_224,True,False,False -slide_227,True,False,False -slide_245,True,False,False -slide_247,True,False,False -slide_249,True,False,False -slide_254,True,False,False -slide_27,True,False,False -slide_261,True,False,False -slide_275,True,False,False -slide_277,True,False,False -slide_278,True,False,False -slide_284,True,False,False -slide_288,True,False,False -slide_292,True,False,False -slide_304,True,False,False -slide_364,False,True,False -slide_173,False,True,False -slide_195,False,True,False -slide_138,False,True,False -slide_12,False,True,False -slide_13,False,True,False -slide_171,False,True,False -slide_172,False,True,False -slide_316,False,True,False -slide_427,False,True,False -slide_34,False,True,False -slide_53,False,True,False -slide_354,False,True,False -slide_176,False,True,False -slide_194,False,True,False -slide_279,False,True,False -slide_468,False,True,False -slide_462,False,True,False -slide_59,False,True,False -slide_433,False,True,False -slide_434,False,True,False -slide_456,False,True,False -slide_457,False,True,False -slide_393,False,True,False -slide_394,False,True,False -slide_157,False,True,False -slide_412,False,True,False -slide_413,False,True,False -slide_324,False,True,False -slide_486,False,True,False -slide_305,False,True,False -slide_384,False,True,False -slide_33,False,True,False -slide_230,False,True,False -slide_102,False,True,False -slide_387,False,True,False -slide_417,False,True,False -slide_424,False,True,False -slide_28,False,True,False -slide_425,False,True,False -slide_341,False,True,False -slide_11,False,True,False -slide_5,False,True,False -slide_290,False,True,False -slide_236,False,True,False -slide_123,False,True,False -slide_499,False,True,False -slide_293,False,True,False -slide_244,False,True,False -slide_423,False,True,False -slide_117,False,False,True -slide_403,False,False,True -slide_158,False,False,True -slide_268,False,False,True -slide_467,False,False,True -slide_223,False,False,True -slide_228,False,False,True -slide_229,False,False,True -slide_193,False,False,True -slide_179,False,False,True -slide_490,False,False,True -slide_263,False,False,True -slide_264,False,False,True -slide_375,False,False,True -slide_240,False,False,True -slide_255,False,False,True -slide_130,False,False,True -slide_282,False,False,True -slide_283,False,False,True -slide_159,False,False,True -slide_276,False,False,True -slide_492,False,False,True -slide_374,False,False,True -slide_452,False,False,True -slide_339,False,False,True -slide_436,False,False,True -slide_437,False,False,True -slide_438,False,False,True -slide_146,False,False,True -slide_42,False,False,True -slide_319,False,False,True -slide_450,False,False,True -slide_65,False,False,True -slide_190,False,False,True -slide_191,False,False,True -slide_379,False,False,True -slide_380,False,False,True -slide_381,False,False,True -slide_80,False,False,True -slide_405,False,False,True -slide_430,False,False,True -slide_431,False,False,True -slide_432,False,False,True -slide_99,False,False,True -slide_474,False,False,True -slide_475,False,False,True -slide_155,False,False,True -slide_241,False,False,True -slide_37,False,False,True -slide_66,False,False,True -slide_119,False,False,True -slide_321,False,False,True -slide_197,False,False,True -slide_265,False,False,True diff --git a/splits/task_2_tumor_subtyping_50/splits_7_descriptor.csv b/splits/task_2_tumor_subtyping_50/splits_7_descriptor.csv deleted file mode 100644 index fac7db3a..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_7_descriptor.csv +++ /dev/null @@ -1,4 +0,0 @@ -,train,val,test -subtype_1,99,26,27 -subtype_2,58,13,17 -subtype_3,40,11,10 diff --git a/splits/task_2_tumor_subtyping_50/splits_8.csv b/splits/task_2_tumor_subtyping_50/splits_8.csv deleted file mode 100644 index 3f9df926..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_8.csv +++ /dev/null @@ -1,198 +0,0 @@ -,train,val,test -0,slide_106,slide_492,slide_306 -1,slide_107,slide_234,slide_113 -2,slide_109,slide_103,slide_324 -3,slide_115,slide_251,slide_490 -4,slide_12,slide_176,slide_179 -5,slide_13,slide_97,slide_497 -6,slide_117,slide_331,slide_433 -7,slide_118,slide_484,slide_434 -8,slide_121,slide_487,slide_493 -9,slide_125,slide_14,slide_494 -10,slide_126,slide_0,slide_441 -11,slide_129,slide_226,slide_442 -12,slide_130,slide_458,slide_47 -13,slide_132,slide_422,slide_287 -14,slide_133,slide_44,slide_436 -15,slide_134,slide_272,slide_437 -16,slide_135,slide_114,slide_438 -17,slide_136,slide_203,slide_83 -18,slide_15,slide_204,slide_345 -19,slide_137,slide_116,slide_481 -20,slide_138,slide_163,slide_145 -21,slide_139,slide_315,slide_185 -22,slide_140,slide_412,slide_186 -23,slide_141,slide_413,slide_357 -24,slide_143,slide_273,slide_158 -25,slide_148,slide_99,slide_49 -26,slide_151,slide_417,slide_64 -27,slide_153,slide_453,slide_217 -28,slide_17,slide_300,slide_393 -29,slide_157,slide_170,slide_394 -30,slide_159,slide_131,slide_269 -31,slide_160,slide_164,slide_98 -32,slide_161,slide_257,slide_239 -33,slide_162,slide_258,slide_93 -34,slide_166,slide_336,slide_430 -35,slide_169,slide_31,slide_431 -36,slide_171,slide_341,slide_432 -37,slide_172,slide_105,slide_214 -38,slide_173,slide_167,slide_289 -39,slide_174,slide_401,slide_460 -40,slide_175,slide_1,slide_23 -41,slide_177,slide_18,slide_449 -42,slide_180,slide_19,slide_420 -43,slide_181,slide_483,slide_421 -44,slide_182,slide_247,slide_424 -45,slide_183,slide_197,slide_305 -46,slide_187,slide_304,slide_84 -47,slide_188,slide_154,slide_350 -48,slide_193,,slide_71 -49,slide_194,,slide_202 -50,slide_195,,slide_423 -51,slide_196,,slide_485 -52,slide_198,,slide_189 -53,slide_199,,slide_265 -54,slide_200,, -55,slide_22,, -56,slide_201,, -57,slide_206,, -58,slide_207,, -59,slide_208,, -60,slide_2,, -61,slide_213,, -62,slide_215,, -63,slide_216,, -64,slide_218,, -65,slide_219,, -66,slide_221,, -67,slide_222,, -68,slide_223,, -69,slide_225,, -70,slide_228,, -71,slide_229,, -72,slide_231,, -73,slide_232,, -74,slide_233,, -75,slide_240,, -76,slide_242,, -77,slide_243,, -78,slide_250,, -79,slide_255,, -80,slide_259,, -81,slide_262,, -82,slide_263,, -83,slide_264,, -84,slide_266,, -85,slide_268,, -86,slide_271,, -87,slide_274,, -88,slide_276,, -89,slide_279,, -90,slide_280,, -91,slide_281,, -92,slide_282,, -93,slide_283,, -94,slide_291,, -95,slide_294,, -96,slide_295,, -97,slide_296,, -98,slide_298,, -99,slide_299,, -100,slide_301,, -101,slide_310,, -102,slide_32,, -103,slide_313,, -104,slide_316,, -105,slide_318,, -106,slide_322,, -107,slide_11,, -108,slide_108,, -109,slide_111,, -110,slide_120,, -111,slide_122,, -112,slide_124,, -113,slide_146,, -114,slide_16,, -115,slide_147,, -116,slide_149,, -117,slide_150,, -118,slide_156,, -119,slide_20,, -120,slide_184,, -121,slide_190,, -122,slide_21,, -123,slide_191,, -124,slide_209,, -125,slide_210,, -126,slide_211,, -127,slide_230,, -128,slide_235,, -129,slide_25,, -130,slide_237,, -131,slide_238,, -132,slide_246,, -133,slide_26,, -134,slide_248,, -135,slide_252,, -136,slide_253,, -137,slide_256,, -138,slide_260,, -139,slide_267,, -140,slide_270,, -141,slide_28,, -142,slide_29,, -143,slide_285,, -144,slide_286,, -145,slide_30,, -146,slide_297,, -147,slide_302,, -148,slide_303,, -149,slide_307,, -150,slide_308,, -151,slide_311,, -152,slide_312,, -153,slide_314,, -154,slide_317,, -155,slide_319,, -156,slide_33,, -157,slide_325,, -158,slide_327,, -159,slide_328,, -160,slide_335,, -161,slide_340,, -162,slide_110,, -163,slide_112,, -164,slide_119,, -165,slide_123,, -166,slide_127,, -167,slide_128,, -168,slide_142,, -169,slide_144,, -170,slide_152,, -171,slide_155,, -172,slide_165,, -173,slide_168,, -174,slide_178,, -175,slide_192,, -176,slide_205,, -177,slide_212,, -178,slide_220,, -179,slide_24,, -180,slide_224,, -181,slide_227,, -182,slide_236,, -183,slide_241,, -184,slide_244,, -185,slide_245,, -186,slide_249,, -187,slide_254,, -188,slide_27,, -189,slide_261,, -190,slide_275,, -191,slide_277,, -192,slide_278,, -193,slide_284,, -194,slide_288,, -195,slide_290,, -196,slide_292,, diff --git a/splits/task_2_tumor_subtyping_50/splits_8_bool.csv b/splits/task_2_tumor_subtyping_50/splits_8_bool.csv deleted file mode 100644 index 7ccd61a6..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_8_bool.csv +++ /dev/null @@ -1,300 +0,0 @@ -,train,val,test -slide_106,True,False,False -slide_107,True,False,False -slide_109,True,False,False -slide_115,True,False,False -slide_12,True,False,False -slide_13,True,False,False -slide_117,True,False,False -slide_118,True,False,False -slide_121,True,False,False -slide_125,True,False,False -slide_126,True,False,False -slide_129,True,False,False -slide_130,True,False,False -slide_132,True,False,False -slide_133,True,False,False -slide_134,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_15,True,False,False -slide_137,True,False,False -slide_138,True,False,False -slide_139,True,False,False -slide_140,True,False,False -slide_141,True,False,False -slide_143,True,False,False -slide_148,True,False,False -slide_151,True,False,False -slide_153,True,False,False -slide_17,True,False,False -slide_157,True,False,False -slide_159,True,False,False -slide_160,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_166,True,False,False -slide_169,True,False,False -slide_171,True,False,False -slide_172,True,False,False -slide_173,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_177,True,False,False -slide_180,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_183,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_193,True,False,False -slide_194,True,False,False -slide_195,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_22,True,False,False -slide_201,True,False,False -slide_206,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_2,True,False,False -slide_213,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_218,True,False,False -slide_219,True,False,False -slide_221,True,False,False -slide_222,True,False,False -slide_223,True,False,False -slide_225,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_231,True,False,False -slide_232,True,False,False -slide_233,True,False,False -slide_240,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_250,True,False,False -slide_255,True,False,False -slide_259,True,False,False -slide_262,True,False,False -slide_263,True,False,False -slide_264,True,False,False -slide_266,True,False,False -slide_268,True,False,False -slide_271,True,False,False -slide_274,True,False,False -slide_276,True,False,False -slide_279,True,False,False -slide_280,True,False,False -slide_281,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_291,True,False,False -slide_294,True,False,False -slide_295,True,False,False -slide_296,True,False,False -slide_298,True,False,False -slide_299,True,False,False -slide_301,True,False,False -slide_310,True,False,False -slide_32,True,False,False -slide_313,True,False,False -slide_316,True,False,False -slide_318,True,False,False -slide_322,True,False,False -slide_11,True,False,False -slide_108,True,False,False -slide_111,True,False,False -slide_120,True,False,False -slide_122,True,False,False -slide_124,True,False,False -slide_146,True,False,False -slide_16,True,False,False -slide_147,True,False,False -slide_149,True,False,False -slide_150,True,False,False -slide_156,True,False,False -slide_20,True,False,False -slide_184,True,False,False -slide_190,True,False,False -slide_21,True,False,False -slide_191,True,False,False -slide_209,True,False,False -slide_210,True,False,False -slide_211,True,False,False -slide_230,True,False,False -slide_235,True,False,False -slide_25,True,False,False -slide_237,True,False,False -slide_238,True,False,False -slide_246,True,False,False -slide_26,True,False,False -slide_248,True,False,False -slide_252,True,False,False -slide_253,True,False,False -slide_256,True,False,False -slide_260,True,False,False -slide_267,True,False,False -slide_270,True,False,False -slide_28,True,False,False -slide_29,True,False,False -slide_285,True,False,False -slide_286,True,False,False -slide_30,True,False,False -slide_297,True,False,False -slide_302,True,False,False -slide_303,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_311,True,False,False -slide_312,True,False,False -slide_314,True,False,False -slide_317,True,False,False -slide_319,True,False,False -slide_33,True,False,False -slide_325,True,False,False -slide_327,True,False,False -slide_328,True,False,False -slide_335,True,False,False -slide_340,True,False,False -slide_110,True,False,False -slide_112,True,False,False -slide_119,True,False,False -slide_123,True,False,False -slide_127,True,False,False -slide_128,True,False,False -slide_142,True,False,False -slide_144,True,False,False -slide_152,True,False,False -slide_155,True,False,False -slide_165,True,False,False -slide_168,True,False,False -slide_178,True,False,False -slide_192,True,False,False -slide_205,True,False,False -slide_212,True,False,False -slide_220,True,False,False -slide_24,True,False,False -slide_224,True,False,False -slide_227,True,False,False -slide_236,True,False,False -slide_241,True,False,False -slide_244,True,False,False -slide_245,True,False,False -slide_249,True,False,False -slide_254,True,False,False -slide_27,True,False,False -slide_261,True,False,False -slide_275,True,False,False -slide_277,True,False,False -slide_278,True,False,False -slide_284,True,False,False -slide_288,True,False,False -slide_290,True,False,False -slide_292,True,False,False -slide_492,False,True,False -slide_234,False,True,False -slide_103,False,True,False -slide_251,False,True,False -slide_176,False,True,False -slide_97,False,True,False -slide_331,False,True,False -slide_484,False,True,False -slide_487,False,True,False -slide_14,False,True,False -slide_0,False,True,False -slide_226,False,True,False -slide_458,False,True,False -slide_422,False,True,False -slide_44,False,True,False -slide_272,False,True,False -slide_114,False,True,False -slide_203,False,True,False -slide_204,False,True,False -slide_116,False,True,False -slide_163,False,True,False -slide_315,False,True,False -slide_412,False,True,False -slide_413,False,True,False -slide_273,False,True,False -slide_99,False,True,False -slide_417,False,True,False -slide_453,False,True,False -slide_300,False,True,False -slide_170,False,True,False -slide_131,False,True,False -slide_164,False,True,False -slide_257,False,True,False -slide_258,False,True,False -slide_336,False,True,False -slide_31,False,True,False -slide_341,False,True,False -slide_105,False,True,False -slide_167,False,True,False -slide_401,False,True,False -slide_1,False,True,False -slide_18,False,True,False -slide_19,False,True,False -slide_483,False,True,False -slide_247,False,True,False -slide_197,False,True,False -slide_304,False,True,False -slide_154,False,True,False -slide_306,False,False,True -slide_113,False,False,True -slide_324,False,False,True -slide_490,False,False,True -slide_179,False,False,True -slide_497,False,False,True -slide_433,False,False,True -slide_434,False,False,True -slide_493,False,False,True -slide_494,False,False,True -slide_441,False,False,True -slide_442,False,False,True -slide_47,False,False,True -slide_287,False,False,True -slide_436,False,False,True -slide_437,False,False,True -slide_438,False,False,True -slide_83,False,False,True -slide_345,False,False,True -slide_481,False,False,True -slide_145,False,False,True -slide_185,False,False,True -slide_186,False,False,True -slide_357,False,False,True -slide_158,False,False,True -slide_49,False,False,True -slide_64,False,False,True -slide_217,False,False,True -slide_393,False,False,True -slide_394,False,False,True -slide_269,False,False,True -slide_98,False,False,True -slide_239,False,False,True -slide_93,False,False,True -slide_430,False,False,True -slide_431,False,False,True -slide_432,False,False,True -slide_214,False,False,True -slide_289,False,False,True -slide_460,False,False,True -slide_23,False,False,True -slide_449,False,False,True -slide_420,False,False,True -slide_421,False,False,True -slide_424,False,False,True -slide_305,False,False,True -slide_84,False,False,True -slide_350,False,False,True -slide_71,False,False,True -slide_202,False,False,True -slide_423,False,False,True -slide_485,False,False,True -slide_189,False,False,True -slide_265,False,False,True diff --git a/splits/task_2_tumor_subtyping_50/splits_8_descriptor.csv b/splits/task_2_tumor_subtyping_50/splits_8_descriptor.csv deleted file mode 100644 index b81fb25c..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_8_descriptor.csv +++ /dev/null @@ -1,4 +0,0 @@ -,train,val,test -subtype_1,102,23,25 -subtype_2,58,14,15 -subtype_3,37,11,14 diff --git a/splits/task_2_tumor_subtyping_50/splits_9.csv b/splits/task_2_tumor_subtyping_50/splits_9.csv deleted file mode 100644 index ad754e31..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_9.csv +++ /dev/null @@ -1,200 +0,0 @@ -,train,val,test -0,slide_0,slide_223,slide_130 -1,slide_106,slide_422,slide_34 -2,slide_109,slide_76,slide_250 -3,slide_113,slide_160,slide_176 -4,slide_114,slide_334,slide_374 -5,slide_115,slide_313,slide_49 -6,slide_12,slide_271,slide_357 -7,slide_13,slide_90,slide_185 -8,slide_117,slide_481,slide_186 -9,slide_118,slide_166,slide_43 -10,slide_121,slide_473,slide_183 -11,slide_129,slide_407,slide_375 -12,slide_132,slide_469,slide_148 -13,slide_135,slide_64,slide_402 -14,slide_136,slide_50,slide_69 -15,slide_15,slide_134,slide_352 -16,slide_137,slide_488,slide_443 -17,slide_138,slide_489,slide_139 -18,slide_140,slide_462,slide_14 -19,slide_141,slide_116,slide_279 -20,slide_143,slide_32,slide_104 -21,slide_145,slide_133,slide_107 -22,slide_151,slide_487,slide_44 -23,slide_153,slide_125,slide_490 -24,slide_17,slide_126,slide_122 -25,slide_157,slide_40,slide_289 -26,slide_158,slide_477,slide_305 -27,slide_159,slide_430,slide_270 -28,slide_161,slide_431,slide_385 -29,slide_162,slide_432,slide_386 -30,slide_163,slide_16,slide_93 -31,slide_169,slide_300,slide_389 -32,slide_171,slide_317,slide_358 -33,slide_172,slide_474,slide_260 -34,slide_173,slide_475,slide_48 -35,slide_174,slide_460,slide_54 -36,slide_175,slide_57,slide_52 -37,slide_177,slide_246,slide_319 -38,slide_179,slide_302,slide_81 -39,slide_180,slide_327,slide_483 -40,slide_181,slide_89,slide_61 -41,slide_182,slide_27,slide_309 -42,slide_187,slide_189,slide_414 -43,slide_188,slide_123,slide_165 -44,slide_193,slide_401,slide_278 -45,slide_194,slide_66,slide_112 -46,slide_195,slide_84, -47,slide_196,slide_265, -48,slide_198,slide_244, -49,slide_199,, -50,slide_200,, -51,slide_22,, -52,slide_201,, -53,slide_203,, -54,slide_204,, -55,slide_206,, -56,slide_207,, -57,slide_208,, -58,slide_2,, -59,slide_213,, -60,slide_215,, -61,slide_216,, -62,slide_217,, -63,slide_218,, -64,slide_219,, -65,slide_221,, -66,slide_222,, -67,slide_225,, -68,slide_226,, -69,slide_228,, -70,slide_229,, -71,slide_231,, -72,slide_232,, -73,slide_233,, -74,slide_234,, -75,slide_240,, -76,slide_242,, -77,slide_243,, -78,slide_251,, -79,slide_255,, -80,slide_259,, -81,slide_262,, -82,slide_263,, -83,slide_264,, -84,slide_266,, -85,slide_268,, -86,slide_272,, -87,slide_273,, -88,slide_274,, -89,slide_276,, -90,slide_280,, -91,slide_281,, -92,slide_282,, -93,slide_283,, -94,slide_287,, -95,slide_291,, -96,slide_294,, -97,slide_295,, -98,slide_296,, -99,slide_298,, -100,slide_299,, -101,slide_301,, -102,slide_306,, -103,slide_310,, -104,slide_315,, -105,slide_316,, -106,slide_318,, -107,slide_11,, -108,slide_108,, -109,slide_111,, -110,slide_120,, -111,slide_124,, -112,slide_131,, -113,slide_146,, -114,slide_147,, -115,slide_149,, -116,slide_150,, -117,slide_156,, -118,slide_164,, -119,slide_167,, -120,slide_170,, -121,slide_20,, -122,slide_184,, -123,slide_190,, -124,slide_21,, -125,slide_191,, -126,slide_209,, -127,slide_210,, -128,slide_211,, -129,slide_23,, -130,slide_214,, -131,slide_230,, -132,slide_235,, -133,slide_25,, -134,slide_237,, -135,slide_238,, -136,slide_239,, -137,slide_26,, -138,slide_248,, -139,slide_252,, -140,slide_253,, -141,slide_256,, -142,slide_257,, -143,slide_258,, -144,slide_267,, -145,slide_269,, -146,slide_28,, -147,slide_29,, -148,slide_285,, -149,slide_286,, -150,slide_30,, -151,slide_297,, -152,slide_31,, -153,slide_303,, -154,slide_307,, -155,slide_308,, -156,slide_311,, -157,slide_312,, -158,slide_314,, -159,slide_33,, -160,slide_325,, -161,slide_328,, -162,slide_335,, -163,slide_1,, -164,slide_110,, -165,slide_119,, -166,slide_127,, -167,slide_128,, -168,slide_142,, -169,slide_144,, -170,slide_152,, -171,slide_154,, -172,slide_155,, -173,slide_18,, -174,slide_19,, -175,slide_168,, -176,slide_178,, -177,slide_192,, -178,slide_197,, -179,slide_202,, -180,slide_205,, -181,slide_212,, -182,slide_220,, -183,slide_24,, -184,slide_224,, -185,slide_227,, -186,slide_236,, -187,slide_241,, -188,slide_245,, -189,slide_247,, -190,slide_249,, -191,slide_254,, -192,slide_261,, -193,slide_275,, -194,slide_277,, -195,slide_284,, -196,slide_288,, -197,slide_290,, -198,slide_292,, diff --git a/splits/task_2_tumor_subtyping_50/splits_9_bool.csv b/splits/task_2_tumor_subtyping_50/splits_9_bool.csv deleted file mode 100644 index 418c4379..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_9_bool.csv +++ /dev/null @@ -1,295 +0,0 @@ -,train,val,test -slide_0,True,False,False -slide_106,True,False,False -slide_109,True,False,False -slide_113,True,False,False -slide_114,True,False,False -slide_115,True,False,False -slide_12,True,False,False -slide_13,True,False,False -slide_117,True,False,False -slide_118,True,False,False -slide_121,True,False,False -slide_129,True,False,False -slide_132,True,False,False -slide_135,True,False,False -slide_136,True,False,False -slide_15,True,False,False -slide_137,True,False,False -slide_138,True,False,False -slide_140,True,False,False -slide_141,True,False,False -slide_143,True,False,False -slide_145,True,False,False -slide_151,True,False,False -slide_153,True,False,False -slide_17,True,False,False -slide_157,True,False,False -slide_158,True,False,False -slide_159,True,False,False -slide_161,True,False,False -slide_162,True,False,False -slide_163,True,False,False -slide_169,True,False,False -slide_171,True,False,False -slide_172,True,False,False -slide_173,True,False,False -slide_174,True,False,False -slide_175,True,False,False -slide_177,True,False,False -slide_179,True,False,False -slide_180,True,False,False -slide_181,True,False,False -slide_182,True,False,False -slide_187,True,False,False -slide_188,True,False,False -slide_193,True,False,False -slide_194,True,False,False -slide_195,True,False,False -slide_196,True,False,False -slide_198,True,False,False -slide_199,True,False,False -slide_200,True,False,False -slide_22,True,False,False -slide_201,True,False,False -slide_203,True,False,False -slide_204,True,False,False -slide_206,True,False,False -slide_207,True,False,False -slide_208,True,False,False -slide_2,True,False,False -slide_213,True,False,False -slide_215,True,False,False -slide_216,True,False,False -slide_217,True,False,False -slide_218,True,False,False -slide_219,True,False,False -slide_221,True,False,False -slide_222,True,False,False -slide_225,True,False,False -slide_226,True,False,False -slide_228,True,False,False -slide_229,True,False,False -slide_231,True,False,False -slide_232,True,False,False -slide_233,True,False,False -slide_234,True,False,False -slide_240,True,False,False -slide_242,True,False,False -slide_243,True,False,False -slide_251,True,False,False -slide_255,True,False,False -slide_259,True,False,False -slide_262,True,False,False -slide_263,True,False,False -slide_264,True,False,False -slide_266,True,False,False -slide_268,True,False,False -slide_272,True,False,False -slide_273,True,False,False -slide_274,True,False,False -slide_276,True,False,False -slide_280,True,False,False -slide_281,True,False,False -slide_282,True,False,False -slide_283,True,False,False -slide_287,True,False,False -slide_291,True,False,False -slide_294,True,False,False -slide_295,True,False,False -slide_296,True,False,False -slide_298,True,False,False -slide_299,True,False,False -slide_301,True,False,False -slide_306,True,False,False -slide_310,True,False,False -slide_315,True,False,False -slide_316,True,False,False -slide_318,True,False,False -slide_11,True,False,False -slide_108,True,False,False -slide_111,True,False,False -slide_120,True,False,False -slide_124,True,False,False -slide_131,True,False,False -slide_146,True,False,False -slide_147,True,False,False -slide_149,True,False,False -slide_150,True,False,False -slide_156,True,False,False -slide_164,True,False,False -slide_167,True,False,False -slide_170,True,False,False -slide_20,True,False,False -slide_184,True,False,False -slide_190,True,False,False -slide_21,True,False,False -slide_191,True,False,False -slide_209,True,False,False -slide_210,True,False,False -slide_211,True,False,False -slide_23,True,False,False -slide_214,True,False,False -slide_230,True,False,False -slide_235,True,False,False -slide_25,True,False,False -slide_237,True,False,False -slide_238,True,False,False -slide_239,True,False,False -slide_26,True,False,False -slide_248,True,False,False -slide_252,True,False,False -slide_253,True,False,False -slide_256,True,False,False -slide_257,True,False,False -slide_258,True,False,False -slide_267,True,False,False -slide_269,True,False,False -slide_28,True,False,False -slide_29,True,False,False -slide_285,True,False,False -slide_286,True,False,False -slide_30,True,False,False -slide_297,True,False,False -slide_31,True,False,False -slide_303,True,False,False -slide_307,True,False,False -slide_308,True,False,False -slide_311,True,False,False -slide_312,True,False,False -slide_314,True,False,False -slide_33,True,False,False -slide_325,True,False,False -slide_328,True,False,False -slide_335,True,False,False -slide_1,True,False,False -slide_110,True,False,False -slide_119,True,False,False -slide_127,True,False,False -slide_128,True,False,False -slide_142,True,False,False -slide_144,True,False,False -slide_152,True,False,False -slide_154,True,False,False -slide_155,True,False,False -slide_18,True,False,False -slide_19,True,False,False -slide_168,True,False,False -slide_178,True,False,False -slide_192,True,False,False -slide_197,True,False,False -slide_202,True,False,False -slide_205,True,False,False -slide_212,True,False,False -slide_220,True,False,False -slide_24,True,False,False -slide_224,True,False,False -slide_227,True,False,False -slide_236,True,False,False -slide_241,True,False,False -slide_245,True,False,False -slide_247,True,False,False -slide_249,True,False,False -slide_254,True,False,False -slide_261,True,False,False -slide_275,True,False,False -slide_277,True,False,False -slide_284,True,False,False -slide_288,True,False,False -slide_290,True,False,False -slide_292,True,False,False -slide_223,False,True,False -slide_422,False,True,False -slide_76,False,True,False -slide_160,False,True,False -slide_334,False,True,False -slide_313,False,True,False -slide_271,False,True,False -slide_90,False,True,False -slide_481,False,True,False -slide_166,False,True,False -slide_473,False,True,False -slide_407,False,True,False -slide_469,False,True,False -slide_64,False,True,False -slide_50,False,True,False -slide_134,False,True,False -slide_488,False,True,False -slide_489,False,True,False -slide_462,False,True,False -slide_116,False,True,False -slide_32,False,True,False -slide_133,False,True,False -slide_487,False,True,False -slide_125,False,True,False -slide_126,False,True,False -slide_40,False,True,False -slide_477,False,True,False -slide_430,False,True,False -slide_431,False,True,False -slide_432,False,True,False -slide_16,False,True,False -slide_300,False,True,False -slide_317,False,True,False -slide_474,False,True,False -slide_475,False,True,False -slide_460,False,True,False -slide_57,False,True,False -slide_246,False,True,False -slide_302,False,True,False -slide_327,False,True,False -slide_89,False,True,False -slide_27,False,True,False -slide_189,False,True,False -slide_123,False,True,False -slide_401,False,True,False -slide_66,False,True,False -slide_84,False,True,False -slide_265,False,True,False -slide_244,False,True,False -slide_130,False,False,True -slide_34,False,False,True -slide_250,False,False,True -slide_176,False,False,True -slide_374,False,False,True -slide_49,False,False,True -slide_357,False,False,True -slide_185,False,False,True -slide_186,False,False,True -slide_43,False,False,True -slide_183,False,False,True -slide_375,False,False,True -slide_148,False,False,True -slide_402,False,False,True -slide_69,False,False,True -slide_352,False,False,True -slide_443,False,False,True -slide_139,False,False,True -slide_14,False,False,True -slide_279,False,False,True -slide_104,False,False,True -slide_107,False,False,True -slide_44,False,False,True -slide_490,False,False,True -slide_122,False,False,True -slide_289,False,False,True -slide_305,False,False,True -slide_270,False,False,True -slide_385,False,False,True -slide_386,False,False,True -slide_93,False,False,True -slide_389,False,False,True -slide_358,False,False,True -slide_260,False,False,True -slide_48,False,False,True -slide_54,False,False,True -slide_52,False,False,True -slide_319,False,False,True -slide_81,False,False,True -slide_483,False,False,True -slide_61,False,False,True -slide_309,False,False,True -slide_414,False,False,True -slide_165,False,False,True -slide_278,False,False,True -slide_112,False,False,True diff --git a/splits/task_2_tumor_subtyping_50/splits_9_descriptor.csv b/splits/task_2_tumor_subtyping_50/splits_9_descriptor.csv deleted file mode 100644 index aab0ca34..00000000 --- a/splits/task_2_tumor_subtyping_50/splits_9_descriptor.csv +++ /dev/null @@ -1,4 +0,0 @@ -,train,val,test -subtype_1,101,26,24 -subtype_2,59,14,14 -subtype_3,39,9,8 diff --git a/utils/core_utils.py b/utils/core_utils.py index 6fa925b5..4d138720 100755 --- a/utils/core_utils.py +++ b/utils/core_utils.py @@ -63,7 +63,7 @@ def __init__(self, patience=20, stop_epoch=50, verbose=False): self.counter = 0 self.best_score = None self.early_stop = False - self.val_loss_min = np.Inf + self.val_loss_min = np.inf def __call__(self, epoch, val_loss, model, ckpt_name = 'checkpoint.pt'): From 0e45ecb8a5d4fb18222eb75f1dd62716c7326cbb Mon Sep 17 00:00:00 2001 From: wq0926 Date: Wed, 19 Nov 2025 15:11:28 +0800 Subject: [PATCH 2/2] Added my own running records. --- docs/README.md | 788 +++++++++++++++++++++++++-------------------- docs/README_new.md | 371 +++++++++++++++++++++ 2 files changed, 812 insertions(+), 347 deletions(-) create mode 100644 docs/README_new.md diff --git a/docs/README.md b/docs/README.md index efeb2645..57758ec6 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,371 +1,465 @@ -CLAM -=========== -Data Efficient and Weakly Supervised Computational Pathology on Whole Slide Images. -*Nature Biomedical Engineering* - -[ArXiv](https://arxiv.org/abs/2004.09666) | [Journal Link](https://www.nature.com/articles/s41551-020-00682-w) | [Interactive Demo](http://clam.mahmoodlab.org) | [Cite](#reference) - -***TL;DR:** CLAM is a high-throughput and interpretable method for data efficient whole slide image (WSI) classification using slide-level labels without any ROI extraction or patch-level annotations, and is capable of handling multi-class subtyping problems. Tested on three different WSI datasets, trained models adapt to independent test cohorts of WSI resections and biopsies as well as smartphone microscopy images (photomicrographs).* - -[](http://clam.mahmoodlab.org) -## CLAM: A Deep-Learning-based Pipeline for Data Efficient and Weakly Supervised Whole-Slide-level Analysis -[Pre-requisites](#pre-requisites) • [Installation](INSTALLATION.md) • [Segmentation and Patching](#wsi-segmentation-and-patching) • [Feature Extraction](#weakly-supervised-learning-using-slide-level-labels-with-clam) • [Weakly Supervised Training](#Training-Splits) • [Testing](#Testing-and-Evaluation-Script) • [Trained Models](#Trained-Model-Checkpoints) • [Heatmap Visualization](#Heatmap-Visualization) • [Examples](#examples) • [Pre-print](https://arxiv.org/abs/2004.09666) • [Demo](http://clam.mahmoodlab.org) • [Cite](#reference) - -***How does CLAM work?** Clustering-constrained Attention Multiple Instance Learning (CLAM) is a deep-learning-based weakly-supervised method that uses attention-based learning to automatically identify sub-regions of high diagnostic value in order to accurately classify the whole slide, while also utilizing instance-level clustering over the representative regions identified to constrain and refine the feature space.* - -© [Mahmood Lab](http://www.mahmoodlab.org) - This code is made available under the GPLv3 License and is available for non-commercial academic purposes. - -## Updates: -* **04/15/2025**: Checkout our new repository [Trident](https://github.com/mahmoodlab/TRIDENT) for whole-slide image processing with support for 25+ foundation models, including [UNIv2](https://huggingface.co/MahmoodLab/UNI2-h), [CONCH](https://huggingface.co/MahmoodLab/CONCH), [TITAN](https://huggingface.co/MahmoodLab/TITAN), and many more! -* **04/06/2024**: [UNI](https://github.com/mahmoodlab/UNI) and [CONCH](https://github.com/mahmoodlab/CONCH) are now available to select as pretrained encoders. See [Using CONCH / UNI as Pretrained Encoders](#using-conch--uni-as-pretrained-encoders) for more details. Please make sure all dependencies are installed correctly by installing the latest **env.yml** file (see [Installation guide](INSTALLATION.md) for details), and using the corresponding **clam_latest** conda environment. -* 03/19/2024: We are releasing [UNI](https://github.com/mahmoodlab/UNI) and [CONCH](https://github.com/mahmoodlab/CONCH), a pair of SOTA pretrained encoders that produce strong representations for histopathology images and enhance performance on various computational pathology workflows, including the MIL-based CLAM workflow. -* 05/24/2021: Script for heatmap visualization now available via **create_heatmaps.py**, with the configuration template located in **heatmaps/configs**. See [Heatmap visualization for demo and instructions.](#Heatmap-Visualization) -* 03/01/2021: New, fast patching/feature extraction pipeline is now available. -更新日志: -2025 年 4 月 15 日:欢迎查看我们的新代码仓库 Trident,该仓库适用于全切片图像处理,支持 25 种以上的基础模型,包括 UNIv2、CONCH、TITAN 等! -2024 年 4 月 6 日:UNI 和 CONCH 现已可选择作为预训练编码器。更多详情请参见《将 CONCH/UNI 用作预训练编码器》(Using CONCH / UNI as Pretrained Encoders)部分。请务必通过安装最新的 env.yml 文件(详情参见《安装指南》Installation guide)并使用对应的 clam_latest conda 环境,确保所有依赖项均已正确安装。 -2024 年 3 月 19 日:我们发布了 UNI 和 CONCH—— 这是一对性能最优(SOTA,State-of-the-Art)的预训练编码器,能为组织病理学图像生成高质量特征表示,并提升各类计算病理工作流程的性能,包括基于多实例学习(MIL,Multiple Instance Learning)的 CLAM 工作流程。 -2021 年 5 月 24 日:现已提供热力图可视化脚本,可通过 create_heatmaps.py 调用,配置模板位于 heatmaps/configs 目录下。演示及操作说明请参见《热力图可视化》(Heatmap Visualization)部分。 -2021 年 3 月 1 日:全新的快速切片 / 特征提取流水线现已上线。 -**TL;DR:** since CLAM only requires image features for training, it is not necessary to save the actual image patches, the new pipeline rids of this overhead and instead only saves the coordinates of image patches during "patching" and loads these regions on the fly from WSIs during feature extraction. This is significantly faster than the old pipeline and usually only takes 1-2s for "patching" and a couple minutes to featurize a WSI. To use the new pipeline, make sure you are calling **create_patches_fp.py** and **extract_features_fp.py** instead of the old **create_patches.py** and **extract_features.py** scripts. -核心摘要(TL;DR,Too Long; Didn't Read):由于 CLAM 模型训练仅需图像特征,无需保存实际图像切片;新流水线去除了这一冗余步骤,在 “切片” 过程中仅保存图像切片的坐标,并在特征提取时从全切片图像(WSI)中实时加载这些区域。该流水线比旧版本速度显著提升,“切片” 过程通常仅需 1-2 秒,全切片图像特征提取也仅需几分钟。若要使用新流水线,请确保调用 create_patches_fp.py 和 extract_features_fp.py 脚本,而非旧版本的 create_patches.py 和 extract_features.py。 - -**Note**: while we hope that the newest update will require minimal changes to the user's workflow, if needed, you may reference the old version of the code base [here](https://github.com/mahmoodlab/CLAM/tree/deprecated). Please report any issues in the public forum. -注意:我们希望最新更新对用户的工作流程改动最小,但如需参考旧版本代码库,可访问此链接(here)。如有任何问题,请在公共论坛中反馈。 - -**Warning**: the latest update will by default resize image patches to 224 x 224 before extracting features using the pretrained encoder. This change serves to make it more consistent with the evaluation protocol used in UNI, CONCH and other studies. If you wish to preserve the original size of the image patches generated during patching or use a different image size for feature extraction, you can do so by specifying `--target_patch_size` in **extract_features_fp.py**. -警告:最新更新默认会在使用预训练编码器提取特征前,将图像切片(image patches)调整为 224×224 的尺寸。此改动旨在与 UNI、CONCH 及其他研究中采用的评估协议保持一致。若你希望保留 “切片生成”(patching)过程中产生的图像切片原始尺寸,或使用其他尺寸进行特征提取,可在extract_features_fp.py脚本中通过指定--target_patch_size参数实现。 - -**RE update 03/01/21**: note that the README has been updated to use the new, faster pipeline by default. If you still wish to use the old pipeline, refer to: [Guide for Old Pipeline](README_old.md). It saves tissue patches, which is signficantly slower and takes up a lot of storage space but can still be useful if you need to work with original image patches instead of feature embeddings. -关于 2021 年 3 月 1 日更新的补充说明:请注意,本 README 文档已更新,默认采用全新的快速处理流水线(pipeline)。若你仍需使用旧流水线,请参考《旧流水线使用指南》(Guide for Old Pipeline)。旧流水线会保存组织切片(tissue patches),其速度显著较慢且占用大量存储空间,但当你需要使用原始图像切片而非特征嵌入(feature embeddings)时,该流水线仍具备实用价值。 - -## Installation: -Please refer to our [Installation guide](INSTALLATION.md) for detailed instructions on how to get started. -安装说明 -如需详细的入门操作指南,请参考我们的《安装指南》(Installation guide)。 - -## WSI Segmentation and Patching -全切片图像(WSI)分割与切片处理 - - -The first step focuses on segmenting the tissue and excluding any holes. The segmentation of specific slides can be adjusted by tuning the individual parameters (e.g. dilated vessels appearing as holes may be important for certain sarcomas.) -The following example assumes that digitized whole slide image data in well known standard formats (.svs, .ndpi, .tiff etc.) are stored under a folder named DATA_DIRECTORY -第一步的核心是对组织区域进行分割,并排除所有孔洞区域。对于特定切片的分割效果,可通过调整各项参数进行优化(例如,在某些肉瘤的分析场景中,表现为孔洞的扩张血管可能是重要的分析对象,需特殊调整参数)。 -以下示例假设数字化的全切片图像数据(采用常见标准格式,如.svs、.ndpi、.tiff 等)均存储在名为 “DATA_DIRECTORY” 的文件夹下,文件夹结构如下: - -```bash -DATA_DIRECTORY/ - ├── slide_1.svs - ├── slide_2.svs - └── ... -``` - -### Basic, Fully Automated Run -基础全自动运行方式 -``` shell -python create_patches_fp.py --source DATA_DIRECTORY --save_dir RESULTS_DIRECTORY --patch_size 256 --seg --patch --stitch -``` +# CLAM模型运行记录 -The above command will segment every slide in DATA_DIRECTORY using default parameters, extract all patches within the segemnted tissue regions, create a stitched reconstruction for each slide using its extracted patches (optional) and generate the following folder structure at the specified RESULTS_DIRECTORY: -上述命令将使用默认参数对 “DATA_DIRECTORY” 文件夹中的所有切片进行分割,提取分割后组织区域内的所有切片块(patch),并使用提取的切片块为每个切片创建拼接重建图像(此步骤为可选),最终在指定的 “RESULTS_DIRECTORY” 文件夹下生成如下目录结构: - -```bash -RESULTS_DIRECTORY/ - ├── masks - ├── slide_1.png - ├── slide_2.png - └── ... - ├── patches - ├── slide_1.h5 - ├── slide_2.h5 - └── ... - ├── stitches - ├── slide_1.png - ├── slide_2.png - └── ... - └── process_list_autogen.csv -``` +环境准备 -The **masks** folder contains the segmentation results (one image per slide). -masks(掩码)文件夹:包含所有切片的分割结果(每个切片对应 1 张分割结果图像)。 -(注:此处的 “掩码” 是图像分割领域的常用概念,指通过像素标记区分组织区域与背景 / 孔洞区域的图像,可用于后续精准提取组织切片块。) -The **patches** folder contains arrays of extracted tissue patches from each slide (one .h5 file per slide, where each entry corresponds to the coordinates of the top-left corner of a patch) -patches(切片块)文件夹:包含从每张切片中提取的组织切片块数组(每个切片对应 1 个.h5 文件,文件中每条数据记录均对应 1 个切片块左上角的坐标信息)。 -(注:.h5 是一种高效存储海量数值数据的文件格式,此处仅存储切片块坐标而非原始图像数据,可大幅节省存储空间并提升后续特征提取的效率。) -The **stitches** folder contains downsampled visualizations of stitched tissue patches (one image per slide) (Optional, not used for downstream tasks) -stitches(拼接图)文件夹:包含组织切片块的下采样拼接可视化图像(每个切片对应 1 张拼接图)(此为可选输出,不用于后续下游任务)。 -(注:“下采样” 指降低图像分辨率以减少数据量,便于快速查看整体组织分布;该文件夹内容仅用于人工直观验证切片块提取效果,不参与模型训练或分析计算。) -The auto-generated csv file **process_list_autogen.csv** contains a list of all slides processed, along with their segmentation/patching parameters used. -自动生成的 CSV 文件process_list_autogen.csv:包含所有已处理切片的列表,以及处理每张切片时所用的分割 / 切片块提取参数。 -(注:CSV 文件可直接用 Excel 或代码打开,便于用户追溯每张切片的处理配置,也可用于批量管理或复现实验流程。) - -Additional flags that can be passed include: -* `--custom_downsample`: factor for custom downscale (not recommended, ideally should first check if native downsamples exist) -* `--patch_level`: which downsample pyramid level to extract patches from (default is 0, the highest available resolution) -* `--no_auto_skip`: by default, the script will skip over files for which patched .h5 files already exist in the desination folder, this toggle can be used to override this behavior -可额外传入的参数(flags)包括: ---custom_downsample:自定义下采样系数(不推荐使用,理想情况下应先检查是否存在原生下采样层级)。(注:“下采样” 指降低图像分辨率以减少数据量;“原生下采样层级” 是全切片图像(WSI)生成时默认保存的不同分辨率版本,直接使用原生层级可避免自定义下采样可能导致的图像信息失真或处理效率下降。) ---patch_level:指定从哪个下采样金字塔层级提取切片块(默认值为 0,即最高可用分辨率层级)。(注:全切片图像通常以 “金字塔层级” 形式存储,层级 0 对应原始扫描的最高分辨率,层级数值越大,分辨率越低;该参数可根据后续任务对分辨率的需求灵活选择,例如低分辨率层级适用于快速预览,高分辨率层级适用于精细特征提取。) ---no_auto_skip:默认情况下,若目标文件夹中已存在某文件对应的切片块.h5 文件,脚本会自动跳过该文件的处理;启用此参数可覆盖该默认行为(即强制重新处理已存在.h5 文件的切片)。(注:该参数适用于需要更新切片块数据的场景,例如修改了分割参数后需重新生成切片块,但需注意会覆盖原有文件,且可能增加重复计算的时间成本。) - -Some parameter templates are also availble and can be readily deployed as good choices for default parameters: -* `bwh_biopsy.csv`: used for segmenting biopsy slides scanned at BWH (Scanned using Hamamatsu S210 and Aperio GT450) -* `bwh_resection.csv`: used for segmenting resection slides scanned at BWH -* `tcga.csv`: used for segmenting TCGA slides -目前提供了部分参数模板,这些模板可作为默认参数的优质选择直接使用: -bwh_biopsy.csv:适用于分割在布列根和妇女医院(BWH,Brigham and Women's Hospital)扫描的活检切片(使用滨松(Hamamatsu)S210 和阿佩里奥(Aperio)GT450 扫描仪扫描)。 -bwh_resection.csv:适用于分割在布列根和妇女医院扫描的切除标本切片。 -tcga.csv:适用于分割 TCGA(癌症基因组图谱,The Cancer Genome Atlas)切片。 - -Simply pass the name of the template file to the --preset argument, for example, to use the biopsy template: -只需将模板文件名传入--preset参数即可调用,例如,若要使用活检切片模板,命令如下: -``` shell -python create_patches_fp.py --source DATA_DIRECTORY --save_dir RESULTS_DIRECTORY --patch_size 256 --preset bwh_biopsy.csv --seg --patch --stitch +```shell +#参考INSTALLATION.md 很详细 ``` -### Custom Default Segmentation Parameters - -For advanced usage, in addition to using the default, single set of parameters defined in the script **create_patches_fp.py**, the user can define custom templates of parameters depending on the dataset. These templates are expected to be stored under **presets**, and contain values for each of the parameters used during segmentation and patching. - -The list of segmentation parameters is as follows: -* `seg_level`: downsample level on which to segment the WSI (default: -1, which uses the downsample in the WSI closest to 64x downsample) -* `sthresh`: segmentation threshold (positive integer, default: 8, using a higher threshold leads to less foreground and more background detection) -* `mthresh`: median filter size (positive, odd integer, default: 7) -* `use_otsu`: use otsu's method instead of simple binary thresholding (default: False) -* `close`: additional morphological closing to apply following initial thresholding (positive integer or -1, default: 4) - -The list of contour filtering parameters is as follows: -* `a_t`: area filter threshold for tissue (positive integer, the minimum size of detected foreground contours to consider, relative to a reference patch size of 512 x 512 at level 0, e.g. a value 10 means only detected foreground contours of size greater than 10 512 x 512 sized patches at level 0 will be processed, default: 100) -* `a_h`: area filter threshold for holes (positive integer, the minimum size of detected holes/cavities in foreground contours to avoid, once again relative to 512 x 512 sized patches at level 0, default: 16) -* `max_n_holes`: maximum of holes to consider per detected foreground contours (positive integer, default: 10, higher maximum leads to more accurate patching but increases computational cost) -The list of segmentation visualization parameters is as follows: -* `vis_level`: downsample level to visualize the segmentation results (default: -1, which uses the downsample in the WSI closest to 64x downsample) -* `line_thickness`: line thickness to draw visualize the segmentation results (positive integer, in terms of number of pixels occupied by drawn line at level 0, default: 250) -The list of patching parameters is as follows: -* `use_padding`: whether to pad the border of the slide (default: True) -* `contour_fn`: contour checking function to decide whether a patch should be considered foreground or background (choices between 'four_pt' - checks if all four points in a small, grid around the center of the patch are inside the contour, 'center' - checks if the center of the patch is inside the contour, 'basic' - checks if the top-left corner of the patch is inside the contour, default: 'four_pt') +### ✅NULL - -### Two-Step Run (Mannually Adjust Parameters For Specific Slides) -To ensure that high quality segmentation and extraction of relevant tissue patches, user has the option of first performing segmentation (typically around 1s per slide), inspecting the segmentation results and tweaking the parameters for select slides if necessary and then extracting patches using the tweaked parameters. i.e., first run: - -``` shell -python create_patches_fp.py --source DATA_DIRECTORY --save_dir RESULTS_DIRECTORY --patch_size 256 --seg +```python +#WSI 分段和修补 +#相较于其他wsi文件,这个需要更高的像素,所以在代码中注释掉了面积检查部分 +#用tcga来分割的话,肉眼看没啥问题,跑出来感觉也还行 +(clam_env) cuiping@amax:~/CLAM$ python check_tcga_fnac_full.py +随机 500 张 patch 里空白约占 6.8% #还行啊还行 + +#用fnac来分割,速度较慢 +python /home/cuiping/CLAM/create_patches_fp.py \ + --source /data/cuiping/NULL/00_raw_wsi \ + --save_dir /data/cuiping/NULL/patches_out \ + --patch_size 256 \ + --seg --patch --stitch \ + --preset fnac.csv +#结果是真的还行啊 +(clam_env) cuiping@amax:~/CLAM$ python check_tcga_fnac_full.py +随机 500 张 patch 里空白约占 0.6% #降低了很多 + +#特征提取 +CUDA_VISIBLE_DEVICES=2 python extract_features_fp.py \ + --data_h5_dir /data/cuiping/NULL/patches_out \ + --data_slide_dir /data/cuiping/NULL/00_raw_wsi \ + --csv_path /data/cuiping/NULL/patches_out/process_list_autogen.csv \ + --feat_dir /data/cuiping/NULL/features \ + --batch_size 128 \ + --slide_ext .svs + +#Training Splits 训练拆分(缺失标签,后续无法运行) +python create_splits_seq.py \ + --task task_2_tumor_subtyping \ + --csv_path /data/cuiping/NULL/labels_digital.csv \ + --output_dir ~/CLAM/splits \ + --k 10 \ + --seed 42 \ + --val_frac 0.15 \ + --test_frac 0.15 + ``` -The above command will segment every slide in DATA_DIRECTORY using default parameters and generate the csv file, but will NOT patch just yet (**patches** and **stitches** folders will be empty) -The csv file can be tweaked for specific slides, and be passed to the script via the --process_list CSV_FILE_NAME such that the script will use the user-updated specifications. Before tweaking the segmentation parameters, the user should make a copy of the csv file and give it a new name (e.g. process_list_edited.csv) because otherwise this file with the default name is overwritten the next time the command is run. Then the user has the option to tweak the parameters for specific slides by changing their corresponding fields in the csv file. The **process** column stores a binary variable (0 or 1) for whether the script should process a specific slide. This allows the user to toggle on just the select few slides to quickly confirm whether the tweaked parameters produce satisfactory results. For example, to re-segment just slide_1.svs again using user-updated parameters, make the appropriate changes to its fields, update its **process** cell to 1, save the csv file, and pass its name to the same command as above: -``` shell -python create_patches_fp.py --source DATA_DIRECTORY --save_dir RESULTS_DIRECTORY --patch_size 256 --seg --process_list process_list_edited.csv -``` -When satisfied with the segmentation results, the user should make the **process** cell for all slides that need to be processed to 1, save the csv file, and run patching with the saved csv file (just like in the fully-automated run use case, with the additional csv file argument): - -``` shell -python create_patches_fp.py --source DATA_DIRECTORY --save_dir RESULTS_DIRECTORY --patch_size 256 --seg --process_list CSV_FILE_NAME --patch --stitch +### ✅RCC(成功) + +```shell +cd /home/cuiping/CLAM +#WSI 分段和修补 +python /home/cuiping/CLAM/create_patches_fp.py \ + --source /data/cuiping/RCC/00_raw_wsi \ # 原始 .svs/.ndpi 文件夹 + --save_dir /data/cuiping/RCC/patches_out \ # 输出根目录 + --patch_size 256 \ # 补丁尺寸(patch_size) & 步长(step) + --seg --patch --stitch \ # 三连:分割→切补丁→拼概览图 + --preset tcga.csv # 超参数表(一行 CSV) +1-组织前景分割(只用 --seg) mask +目的:把玻璃空白、刀痕、笔迹去掉,得到“组织轮廓”并保存一张 mask 预览图。 +① /project/output/masks/TCGA-XXXX.jpg +‑ 一张长宽≈千像素级别的 JPEG,黑底白框就是算法认为“有组织”的区域。 +② /project/output/process_list_autogen.csv +‑ 记录这次用的阈值、层数、面积过滤值,下次可复用或微调。 +2-切 patch(--seg --patch 一起开) +目的:只在“有组织”的轮廓内部切 256×256 小图,并保存坐标。 +③ /project/output/patches/TCGA-XXXX.h5 +‑ 里面数据集 /coords 保存所有 patch 左上角 (x,y) 在 0 级参考系下的坐标; +‑ /contours 保存对应轮廓,方便后续“拼回去”。 +‑ 如果 use_padding=True,边缘不足 256 会镜像补边。 +④ 控制台会打印切了多少张,例如 Wrote 18,764 patches。 +3-(可选)把 patch 结果拼成热图(--stitch) +目的:肉眼确认切得匀不匀、有没有漏切。 +⑤ /project/output/stitches/TCGA-XXXX.jpg +‑ 一张缩小 64 倍的鸟瞰图,每个小格就是一张 patch,绿色=保留,红色=被过滤,黑区=背景。 +‑ 若发现某些区域没格子,可回头调小面积过滤或改轮廓函数再切一次。 + +# 特征提取 +CUDA_VISIBLE_DEVICES=2 python extract_features_fp.py \ + --data_h5_dir /data/cuiping/RCC/patches_out \ # 已裁剪patch的h5文件目录 + --data_slide_dir /data/cuiping/RCC/00_raw_wsi \ # 原始WSI目录 + --csv_path /data/cuiping/RCC/patches_out/process_list_autogen.csv \ # 处理列表 + --feat_dir features \ # 输出特征目录 + --batch_size 128 \ # 推理batch size + --slide_ext .svs # 切片文件扩展名,,用于过滤非 svs 文件 + + +(clam_env) cuiping@amax:/data/cuiping/RCC/features$ tree -L 2 +. +├── h5_files # 每个 WSI 对应一个 .h5 文件,里面是 patch 特征(features) + 坐标(coords) +├── pt_files # 每个 WSI 对应一个 .pt 文件,.pt 可能是 dict 或 Tensor 里面是 tensor 格式的特征(PyTorch 可用) + + +#Training Splits 训练拆分 + python create_splits_seq.py \ + --task task_2_tumor_subtyping \ + --csv_path /data/cuiping/RCC/labels_digital.csv \ + --output_dir ~/CLAM/splits \ + --k 10 \ + --seed 42 \ + --val_frac 0.15 \ #一定要加这个,md搞了两天,划分数据集就是不对 + --test_frac 0.15 + + +#新版本scipy(1.11.0+)移除了对非数值数据的 stats.mode 支持,用 np.unique 来替代实现相同的功能 +#将 +label = stats.mode(label)[0] +# 替换旧的 stats.mode 调用 +unique, counts = np.unique(label, return_counts=True) +label = unique[np.argmax(counts)] + +整个划分文件里,所有样本都被标成了“验证集” +这意味着什么? +训练集 = 0 条 → train 列全是 False(甚至不存在) +测试集 = 0 条 → test 列也全是 False +于是 weighted_sample 在计算 训练集 类权重时,某一类可用样本 = 0 → 除零崩溃 + +# 训练三分类CLAM模型(放在服务器后台---脚本在CLAM/tools) +CUDA_VISIBLE_DEVICES=0 python ~/CLAM/main.py \ + --drop_out 0.25 \ + --early_stopping \ + --lr 2e-4 \ + --k 10 \ + --split_dir ~/CLAM/splits/task_2_tumor_subtyping_100 \ + --exp_code RCC_subtyping_clam_sb \ + --weighted_sample \ + --bag_loss ce \ + --inst_loss svm \ + --task task_2_tumor_subtyping \ + --model_type clam_sb \ + --log_data \ + --data_root_dir /data/cuiping/RCC/features \ + --embed_dim 1024 \ + --subtyping + + +# 看缺失 +comm -13 \ + <(ls /data/cuiping/RCC/features/pt_files/ | sed 's/\.pt$//' | sort) \ + <(cut -d, -f2-4 splits_0.csv | tr ',' '\n' | sort) + + + +# ========================================================== +# 实验全局参数 +# ========================================================== +exp_arguments: + n_classes: 3 # 模型输出的类别数(与训练时保持一致) + save_exp_code: HEATMAP_RCC_OUTPUT # 本次推理结果的主文件夹名,所有产出都会放在它下面 + raw_save_dir: /data/cuiping/RCC/heatmap_raw + # 原始热图数据(numpy、csv、patch坐标等)落盘路径 + production_save_dir: /data/cuiping/RCC/heatmap_production_results + # 最终可展示的彩色热图/JPEG保存路径 + batch_size: 128 # 前向推理时,一次性喂给encoder的patch数 + +# ========================================================== +# 数据/Slide 相关 +# ========================================================== +data_arguments: + data_dir: /data/cuiping/RCC/00_raw_wsi/ # 切片根目录;也可写成dict做分库映射 + #data_dir_key: source # 当data_dir是dict时,CSV中对应哪一列作为key + process_list: /data/cuiping/RCC/patches_out/process_list_autogen.csv + # 必需CSV,至少含slide_id;可额外包含label、seg/patch参数 + preset: presets/tcga.csv # 预设的segment/patch参数表(组织前景分割、白片过滤等) + slide_ext: .svs # 切片文件扩展名 + label_dict: # 字符串标签→整数映射,用于可视化时显示类别名 + KICH: 0 + KIRC: 1 + KIRP: 2 + + # ========================================================== +# 切patch参数 +# ========================================================== +patching_arguments: + patch_size: 256 # 在原图0级下采样的patch像素大小 + overlap: 0.5 # 相邻patch重叠比例(0.5=50%) + patch_level: 0 # 从哪一层下采样开始切patch;0=最高分辨率 + custom_downsample: 1 # 在patch_level基础上再手动下采样几倍(1=不额外下采) + +# ========================================================== +# 编码器(特征提取器) +# ========================================================== +encoder_arguments: + model_name: resnet50_trunc # 可选resnet50_trunc / uni_v1 / conch_v1 + target_img_size: 224 # 把patch resize成多大再送入encoder + +# ========================================================== +# 下游模型(CLAM)加载 +# ========================================================== +model_arguments: + ckpt_path: /home/cuiping/CLAM/results/RCC_subtyping_clam_sb_s1/s_3_checkpoint.pt + # 训练得到的最佳checkpoint + model_type: clam_sb # clam_sb / clam_mb / mil / transmil 等 + initiate_fn: initiate_model # 对应utils/eval_utils.py中的初始化函数名 + model_size: small # CLAM内部fc大小(small/large) + drop_out: 0. # 推理时一般设0 + embed_dim: 1024 # encoder输出特征维度(与训练时一致) + +# ========================================================== +# 热图可视化专属参数 +# ========================================================== +heatmap_arguments: + vis_level: 1 # 在slide的哪一层下采样上绘制热图;-1≈32×下采 + alpha: 0.4 # 热图与原图融合透明度(0=只看原图,1=只看热图) + blank_canvas: false # true=纯白背景绘制热图;false=原图H&E当背景 + save_orig: true # 是否额外保存一份原始H&E图(与热图同分辨率) + save_ext: jpg # 热图/原图保存格式 + use_ref_scores: true # 是否用“非重叠patch”分布做percentile归一化 + blur: false # 是否对热图再做高斯平滑 + use_center_shift: true # 判断patch是否在前景轮廓内时,是否把角点往中心移 + use_roi: false # 是否只计算指定ROI(x1,x2,y1,y2)内的热图 + calc_heatmap: true # 是否真正计算重叠细粒度热图(false则只输出粗热图) + binarize: false # 是否把attention得分二值化 + binary_thresh: -1 # 二值化阈值;<0 时自动用Otsu + custom_downsample: 1 # 最终保存前再下采样几倍(1=不额外降分辨率) + cmap: jet # 热图配色盘(matplotlib colormap) + +# ========================================================== +# 采样/保存高注意力patch示例 +# ========================================================== +sample_arguments: + samples: + - name: "topk_high_attention" # 采样策略名称,随意起 + sample: true # 是否启用该策略 + seed: 1 # 随机种子(top-k本身无随机,但后续可能加打乱) + k: 15 # 取attention最高的k张patch存图 + mode: topk # 固定写topk;后续可扩展random/bottomk等 + +/data/cuiping/RCC/heatmap_production_results/ +HEATMAP_RCC_OUTPUT/ +├── sampled_patches/ ← 抽样出的高注意力 ROI patch +│ ├── label_Unspecified_pred_0/ +│ │ └── topk_high_attention/ ← attention最高的patch在这里! +│ ├── label_Unspecified_pred_1/ +│ └── label_Unspecified_pred_2/ +│ +└── Unspecified/ ← 每个 slide 对应的完整热图、原图、mask等(可视化) + +/data/cuiping/RCC/heatmap_raw/ +├── HEATMAP_RCC_OUTPUT/ ← 本次热图生成实验的主输出目录(--save_exp_code) +│ ├── config.yaml ← 本次热图生成的配置文件 +│ └── Unspecified/ ← 存放每张 slide 的热图文件夹 +│ ├── TCGA-2Z-A9J2-01Z-00-DX1.AC19245F-B3B9-4A3A-89A3-A8B2E4BD988A/ +│ ├── TCGA-BP-5006-01A-01-BS1.1d7bd0e2-6853-42db-b42e-ab4a413d0430/ +│ ├── TCGA-KM-8440-01Z-00-DX1.528E053C-E8A4-464F-BE47-412836B1C31B/ +│ ├── TCGA-KM-8442-01Z-00-DX1.46835CE2-819D-4887-9633-422BC9F5E366/ +│ └── ... (更多 slide) + +单个 slide 文件夹结构 +/data/cuiping/RCC/heatmap_raw/HEATMAP_RCC_OUTPUT/Unspecified/TCGA-2Z-A9J2-01Z-00-DX1.AC19245F-B3B9-4A3A-89A3-A8B2E4BD988A/ +├── TCGA-2Z-A9J2-01Z-00-DX1..._mask.jpg ← 组织分割图(mask 可视化) +├── TCGA-2Z-A9J2-01Z-00-DX1..._mask.pkl ← 分割掩膜数据文件(numpy) +├── TCGA-2Z-A9J2-01Z-00-DX1..._blockmap.png ← 注意力热图(可视化) +├── TCGA-2Z-A9J2-01Z-00-DX1..._blockmap.h5 ← 热图原始数值(attention_scores + coords) +├── TCGA-2Z-A9J2-01Z-00-DX1..._0.5_roi_False.h5 ← 中间版本热图数据(不同参数) +├── TCGA-2Z-A9J2-01Z-00-DX1...pt ← slide 的特征向量(torch tensor) +└── TCGA-2Z-A9J2-01Z-00-DX1...h5 ← 特征 + 坐标数据(HDF5) ``` -## Weakly-Supervised Learning using Slide-Level Labels with CLAM - - -### Feature Extraction (GPU Example) -```bash -CUDA_VISIBLE_DEVICES=0 python extract_features_fp.py --data_h5_dir DIR_TO_COORDS --data_slide_dir DATA_DIRECTORY --csv_path CSV_FILE_NAME --feat_dir FEATURES_DIRECTORY --batch_size 512 --slide_ext .svs ``` -The above command expects the coordinates .h5 files to be stored under DIR_TO_COORDS and a batch size of 512 to extract 1024-dim features from each tissue patch for each slide and produce the following folder structure: -```bash -FEATURES_DIRECTORY/ - ├── h5_files - ├── slide_1.h5 - ├── slide_2.h5 - └── ... - └── pt_files - ├── slide_1.pt - ├── slide_2.pt - └── ... +H&E 染色 +| 染料 | 染色对象 | 显示颜色 | 生物学意义 | +| ------------------- | ------------------ | --------- | --------- | +| **Hematoxylin苏木精 (H)** | 细胞核、核仁(富含 DNA/RNA) | 深蓝色 / 紫蓝色 | 细胞活动、增殖 | +| **Eosin伊红 (E)** | 细胞质、胶原、基质、血浆 | 粉红色 / 橙红色 | 细胞结构、间质环境 | + +颜色 组织类型 说明 +🔵 深蓝紫 细胞核密集区域(肿瘤细胞团、淋巴细胞浸润) 往往是肿瘤病灶或活跃区域 +💗 淡粉红 细胞质或间质、结缔组织 正常组织或支撑结构 +⚪ 白色 背景、空泡、血管腔 非组织区域 +🟣 紫红混合 细胞团块、核密集但带细胞质的区域 常为肿瘤实质区 +🩸 暗红 / 橙红 红细胞聚集、出血区 可见坏死或血管相关病灶 + +mask 暗红 + heatmap 红黄重叠 → 模型聚焦肿瘤组织; +mask 暗红 + heatmap 蓝 → 模型识别为正常结构; +mask 白 + heatmap 红 → 模型出错(看了背景伪影)。 + +癌细胞(Malignant cells)在 H&E 下的典型表现 +1️⃣ 核异型性(nuclear atypia) +| 现象 | 含义 | +| ---------------- | ------------- | +| 核大、染色深(深蓝或深紫) | DNA 含量增多、分裂活跃 | +| 核形不规则(圆→椭圆→扭曲) | 染色质异常聚集 | +| 核仁明显、偏位 | RNA 活跃合成 | +| 核质比高(N/C ratio↑) | 核体积显著大于细胞质 | +👉 在 H&E 图像中表现为: +蓝紫色区域密集、颗粒粗、核轮廓不平滑。 +2️⃣ 组织结构紊乱(architectural disorganization) +| 现象 | H&E 下表现 | +| --------- | ---------------- | +| 腺体或导管排列紊乱 | 正常结构消失,形成“乱堆”细胞团 | +| 极性消失 | 细胞方向混乱、排列不整齐 | +| 边界浸润性生长 | 细胞侵入周围间质、血管 | +👉 在热图上通常对应模型的 高注意力红区。 +3️⃣ 细胞异质性(cellular pleomorphism) +| 现象 | H&E 表现 | +| ------------- | --------- | +| 同一区域细胞大小差异大 | 某些核大、某些核小 | +| 核形多样(圆、椭圆、肾形) | 说明克隆异质性 | +| 染色质分布不均 | 蓝紫深浅不一 | +👉 模型往往捕捉到这种纹理不均的区域作为诊断线索。 +4️⃣ 增生与有丝分裂(mitosis) +| 现象 | H&E 下表现 | +| ---------------------- | ------------ | +| 出现分裂象(Mitotic figures) | 核呈梅花状、Y 形或棒状 | +| 多核巨细胞 | 同一细胞有多个蓝核 | +👉 深紫色小点状核多 → 分裂活跃 → 高度恶性区域。 +5️⃣ 坏死与出血(necrosis / hemorrhage) +| 现象 | H&E 颜色表现 | +| --------- | ----------------- | +| 坏死 | 粉白或灰区,无清晰核,细胞界限模糊 | +| 出血 | 暗红色、背景中红细胞堆积 | +| 核碎裂 / 核溶解 | 蓝色残核碎片散在 | +👉 模型常在坏死边缘区高注意力,因为该区域代表肿瘤生长活跃边界。 ``` -where each .h5 file contains an array of extracted features along with their patch coordinates (note for faster training, a .pt file for each slide is also created for each slide, containing just the patch features). The csv file is expected to contain a list of slide filenames (without the filename extensions) to process (the easiest option is to take the csv file auto generated by the previous segmentation/patching step, and delete the filename extensions) -### Using CONCH / UNI as Pretrained Encoders -If using UNI or CONCH, first refer to their respective HF page below to request and download the model weights (pytorch_model.bin). -UNI: https://huggingface.co/MahmoodLab/UNI +### ✅NSCLC(跑到一半放弃) + +```shell +#WSI 分段和修补 +python /home/cuiping/CLAM/create_patches_fp.py \ + --source /data/cuiping/NSCLC/00_raw_wsi \ + --save_dir /data/cuiping/NSCLC/patches_out \ + --patch_size 256 \ + --seg --patch --stitch \ + --preset tcga.csv + +#可能存在部分未seg,需要重新切割,后面跑特征提取的时候就知道了 +patches_out/ + ├── patches/ + │ ├── slide_1.h5 + │ ├── slide_2.h5 + │ └── ... + ├── process_list_autogen.csv + ├── stitches/ (可选:拼接后的图像) + └── masks/ (可选:分割的掩膜图像) + +#特征提取(GPU 示例) +#手动从huggingface下载bin文件和config文件 +CLAM/ + ├── resnet50_tv_in1k/ + │ ├── pytorch_model.bin + │ ├── config.json + +#特征提取 +CUDA_VISIBLE_DEVICES=2 python extract_features_fp.py \ + --data_h5_dir /data/cuiping/NSCLC/patches_out \ # 已裁剪patch的h5文件目录 + --data_slide_dir /data/cuiping/NSCLC/00_raw_wsi \ # 原始WSI目录 + --csv_path /data/cuiping/NSCLC/patches_out/process_list_autogen.csv \ # 处理列表 + --feat_dir features \ # 输出特征目录 + --batch_size 128 \ # 推理batch size + --slide_ext .svs # 切片文件扩展名,,用于过滤非 svs 文件 +python /home/cuiping/CLAM/create_patches_fp.py \ + --source /data/cuiping/NSCLC/00_raw_wsi \ + --save_dir /data/cuiping/NSCLC/patches_out \ + --patch_size 256 \ + --seg --patch --stitch \ + --preset tcga.csv + features/ + └── NSCLC_dataset/ + ├── h5_files/*.h5 + └── pt_files/*.pt + +#手动从hugging face下载模型后设置环境变量使得训练时使用下载模型 CONCH: https://huggingface.co/MahmoodLab/CONCH - -After successfully downloading the model checkpoints, you need to set the `CONCH_CKPT_PATH` and `UNI_CKPT_PATH` environment variable to the path of the pretrained encoder checkpoints, before running the feature extraction script. For example, if you have downloaded the pretrained UNI and CONCH checkpoints and placed them in the **checkpoints/conch** and **checkpoints/uni** folders respectively, you can set the environment variables as follows: -```bash +海螺:https://huggingface.co/MahmoodLab/CONCH +checkpoints +├── conch +│ ├── meta.yaml +│ └── pytorch_model.bin +└── uni + ├── config.json + └── pytorch_model.bin export CONCH_CKPT_PATH=checkpoints/conch/pytorch_model.bin export UNI_CKPT_PATH=checkpoints/uni/pytorch_model.bin -``` -When running the **extract_features_fp.py** also set `--model_name` to either 'uni_v1' or 'conch_v1' to use the respective encoder. - -Note that these encoder models (especially UNI, which uses ViT-L) are more computationally expensive and require more GPU memory than the default ResNet50 encoder, so expect longer runtimes and reduced batch sizes accordingly if you run out of GPU memory. UNI will produce 1024-dim features, while CONCH will produce 512-dim features. - -### Datasets -The data used for training and testing are expected to be organized as follows: -```bash -DATA_ROOT_DIR/ - ├──DATASET_1_DATA_DIR/ - ├── h5_files - ├── slide_1.h5 - ├── slide_2.h5 - └── ... - └── pt_files - ├── slide_1.pt - ├── slide_2.pt - └── ... - ├──DATASET_2_DATA_DIR/ - ├── h5_files - ├── slide_a.h5 - ├── slide_b.h5 - └── ... - └── pt_files - ├── slide_a.pt - ├── slide_b.pt - └── ... - └──DATASET_3_DATA_DIR/ - ├── h5_files - ├── slide_i.h5 - ├── slide_ii.h5 - └── ... - └── pt_files - ├── slide_i.pt - ├── slide_ii.pt - └── ... - └── ... -``` -Namely, each dataset is expected to be a subfolder (e.g. DATASET_1_DATA_DIR) under DATA_ROOT_DIR, and the features extracted for each slide in the dataset is stored as a .pt file sitting under the **pt_files** folder of this subfolder. -Datasets are also expected to be prepared in a csv format containing at least 3 columns: **case_id**, **slide_id**, and 1 or more labels columns for the slide-level labels. Each **case_id** is a unique identifier for a patient, while the **slide_id** is a unique identifier for a slide that correspond to the name of an extracted feature .pt file. This is necessary because often one patient has multiple slides, which might also have different labels. When train/val/test splits are created, we also make sure that slides from the same patient do not go to different splits. The slide ids should be consistent with what was used during the feature extraction step. We provide 2 dummy examples of such dataset csv files in the **dataset_csv** folder: one for binary tumor vs. normal classification (task 1) and one for multi-class tumor_subtyping (task 2). - -Dataset objects used for actual training/validation/testing can be constructed using the **Generic_MIL_Dataset** Class (defined in **datasets/dataset_generic.py**). Examples of such dataset objects passed to the models can be found in both **main.py** and **eval.py**. - -For training, look under main.py: -```python -if args.task == 'task_1_tumor_vs_normal': - args.n_classes=2 - dataset = Generic_MIL_Dataset(csv_path = 'dataset_csv/tumor_vs_normal_dummy_clean.csv', - data_dir= os.path.join(args.data_root_dir, 'tumor_vs_normal_feat_resnet'), - shuffle = False, - seed = args.seed, - print_info = True, - label_dict = {'normal_tissue':0, 'tumor_tissue':1}, - label_col = 'label', - ignore=[]) -``` -The user would need to pass: -* csv_path: the path to the dataset csv file -* data_dir: the path to saved .pt features -* label_dict: a dictionary that maps labels in the label column to numerical values -* label_col: name of the label column (optional, by default it's 'label') -* ignore: labels to ignore (optional, by default it's an empty list) - -Finally, the user should add this specific 'task' specified by this dataset object in the --task arguments as shown below: - -```python -parser.add_argument('--task', type=str, choices=['task_1_tumor_vs_normal', 'task_2_tumor_subtyping']) -``` - -### Training Splits -For evaluating the algorithm's performance, multiple folds (e.g. 10-fold) of train/val/test splits can be used. Example 10-fold 80/10/10 splits for the two dummy datasets can be found under the **splits** folder. These splits can be automatically generated using the create_splits_seq.py script with minimal modification just like with **main.py**. For example, tumor_vs_normal splits can be created by calling: -``` shell -python create_splits_seq.py --task task_1_tumor_vs_normal --seed 1 --k 10 -``` -The script uses the **Generic_WSI_Classification_Dataset** Class for which the constructor expects the same arguments as -**Generic_MIL_Dataset** (without the data_dir argument). For details, please refer to the dataset definition in **datasets/dataset_generic.py** - -### GPU Training Example for Binary Positive vs. Negative Classification (e.g. Lymph Node Status) -Note: --embed_dim should be set to 512 for CONCH, and 1024 for UNI and resnet50_trunc. - -``` shell -CUDA_VISIBLE_DEVICES=0 python main.py --drop_out 0.25 --early_stopping --lr 2e-4 --k 10 --exp_code task_1_tumor_vs_normal_CLAM_50 --weighted_sample --bag_loss ce --inst_loss svm --task task_1_tumor_vs_normal --model_type clam_sb --log_data --data_root_dir DATA_ROOT_DIR --embed_dim 1024 -``` - -### GPU Training Example for Subtyping Problems (e.g. 3-class RCC Subtyping) -``` shell -CUDA_VISIBLE_DEVICES=0 python main.py --drop_out 0.25 --early_stopping --lr 2e-4 --k 10 --exp_code task_2_tumor_subtyping_CLAM_50 --weighted_sample --bag_loss ce --inst_loss svm --task task_2_tumor_subtyping --model_type clam_sb --log_data --subtyping --data_root_dir DATA_ROOT_DIR --embed_dim 1024 -``` -Note: We have included the option to use a single-attention-branch CLAM model, which performs favoribly in most experiments and can be set via --model_type clam_sb (single branch) or clam_mb (multi branch). clam_sb is the default choice. Additionally, the user can adjust the number of patches used for clustering via --B. - -By default results will be saved to **results/exp_code** corresponding to the exp_code input argument from the user. If tensorboard logging is enabled (with the arugment toggle --log_data), the user can go into the results folder for the particular experiment, run: -``` shell -tensorboard --logdir=. -``` -This should open a browser window and show the logged training/validation statistics in real time. -For information on each argument, see: -``` shell -python main.py -h -``` - -### Testing and Evaluation Script -User also has the option of using the evluation script to test the performances of trained models. Examples corresponding to the models trained above are provided below: -``` shell -CUDA_VISIBLE_DEVICES=0 python eval.py --k 10 --models_exp_code task_1_tumor_vs_normal_CLAM_50_s1 --save_exp_code task_1_tumor_vs_normal_CLAM_50_s1_cv --task task_1_tumor_vs_normal --model_type clam_sb --results_dir results --data_root_dir DATA_ROOT_DIR --embed_dim 1024 -``` - -``` shell -CUDA_VISIBLE_DEVICES=0 python eval.py --k 10 --models_exp_code task_2_tumor_subtyping_CLAM_50_s1 --save_exp_code task_2_tumor_subtyping_CLAM_50_s1_cv --task task_2_tumor_subtyping --model_type clam_sb --results_dir results --data_root_dir DATA_ROOT_DIR --embed_dim 1024 -``` - - -Once again, for information on each commandline argument, see: -``` shell -python eval.py -h -``` - -By adding your own custom datasets into **eval.py** the same way as you do for **main.py**, you can also easily test trained models on independent test sets. - -### Heatmap Visualization -Heatmap visualization can be computed in bulk via **create_heatmaps.py** by filling out the config file and storing it in **/heatmaps/configs** and then running **create_heatmaps.py** with the --config NAME_OF_CONFIG_FILE flag. A demo template is included (**config_template.yaml**) for lung subtyping on two WSIs from the CPTAC. -To run the demo (raw results are saved in **heatmaps/heatmap_raw_results** and final results are saved in **heatmaps/heatmap_production_results**): -``` shell +#将文字标签转化为数字标签,即LUAD->0,LUSC->1 +import pandas as pd +# 读取原始标签文件 +df = pd.read_csv('labels.csv') +# NSCLC标签映射 +label_mapping = {'LUAD': 0, 'LUSC': 1} +# 方法一:添加数字标签列(推荐) +df['label_digital'] = df['label'].map(label_mapping) +# 保存 +df.to_csv('labels_digital.csv', index=False) +print("NSCLC标签映射:", label_mapping) +print("数据预览:") +print(df.head()) + +#Training Splits 训练拆分 +cd ~/CLAM +python create_splits_seq.py \ + --task task_2_tumor_subtyping \ + --csv_path /data/cuiping/NSCLC/labels_digital.csv \ + --output_dir ~/CLAM/splits \ + --k 10 \ + --seed 42 \ + --val_frac 0.15 \ + --test_frac 0.15 + +CLAM任务类型的区别: +task_1_tumor_vs_normal +用途:肿瘤组织 vs 正常组织的二分类 + +示例:癌组织 vs 癌旁正常组织 + +特点:类别含义明确(肿瘤/正常),数据分布通常不平衡 + +task_2_tumor_subtyping +用途:肿瘤亚型之间的分类 + +示例:LUAD vs LUSC、KIRC vs KIRP vs KICH + +特点:都是肿瘤组织,区分不同亚型 + +#训练 CLAM 模型 + +#新版本的NumPy(2.0+)中 np.Inf 被移除了,需要使用 np.inf +# 查找所有np.Inf的使用 +grep -r "np.Inf" /home/cuiping/CLAM/ +# 批量替换 +find /home/cuiping/CLAM -name "*.py" -exec sed -i 's/np\.Inf/np.inf/g' {} \; + +CUDA_VISIBLE_DEVICES=0 python ~/CLAM/main_for_NSCLC.py \ + --drop_out 0.25 \ + --early_stopping \ + --lr 2e-4 \ + --k 10 \ + --split_dir ~/CLAM/splits/task_2_tumor_subtyping_100_for_NSCLC \ + --exp_code NSCLC_subtyping_clam_sb \ + --weighted_sample \ + --bag_loss ce \ + --inst_loss svm \ + --task task_2_tumor_subtyping \ + --model_type clam_sb \ + --log_data \ + --data_root_dir /data/cuiping/NSCLC/features \ + --embed_dim 1024 \ + --subtyping + +#模型评估 +CUDA_VISIBLE_DEVICES=0 python eval.py \ + --k 10 \ + --models_exp_code NSCLC_CLAM_s1 \ + --save_exp_code NSCLC_CLAM_s1_cv \ + --task task_1_tumor_vs_normal \ + --model_type clam_sb \ + --results_dir results \ + --data_root_dir features \ + --csv_path labels.csv \ + --embed_dim 1024 + +#可视化 CUDA_VISIBLE_DEVICES=0 python create_heatmaps.py --config config_template.yaml ``` -See **/heatmaps/configs/config_template.yaml** for explanations for each configurable option. - -Similar to feature extraction, if using UNI / CONCH, set the environment variables before running the script. See [Using CONCH / UNI as Pretrained Encoders](#using-conch--uni-as-pretrained-encoders) for more details. - -### Trained Model Checkpoints -For reproducability, all trained models used can be accessed [here](https://drive.google.com/drive/folders/1NZ82z0U_cexP6zkx1mRk-QeJyKWk4Q7z?usp=sharing). -The 3 main folders (**tcga_kidney_cv**, **tcga_cptac_lung_cv** and **camelyon_40x_cv**) correspond to models for RCC subtyping trained on the TCGA, for NSCLC subtyping trained on TCGA and CPTAC and for Lymph Node Metastasis (Breast) detection trained on Camelyon16+17 respectively. In each main folder, each subfolder corresponds to one set of 10-fold cross-validation experiments. For example, the subfolder tcga_kidney_cv_CLAM_50_s1 contains the 10 checkpoints corresponding to the 10 cross-validation folds for TCGA RCC subtyping, trained using CLAM with multi-attention branches using 50% of cases in the full training set. - -For reproducability, these models can be evaluated on data prepared by following the same pipeline described in the sections above by calling **eval.py** with the appropriate arguments that specify the model options (either --model_type clam_mb or --model_type mil should be set, for evaluation only, --subtyping flag does not make a difference) as well as where the model checkpoints (--results_dir and --models_exp_code) and data (--data_root_dir and --task) are stored. - -### Examples - -Please refer to our pre-print and [interactive demo](http://clam.mahmoodlab.org) for detailed results on three different problems and adaptability across data sources, imaging devices and tissue content. - - - -Visulize additional examples here: http://clam.mahmoodlab.org - -## Issues -- Please report all issues on the public forum. - -## License -© [Mahmood Lab](http://www.mahmoodlab.org) - This code is made available under the GPLv3 License and is available for non-commercial academic purposes. - -## Funding -This work was funded by NIH NIGMS [R35GM138216](https://reporter.nih.gov/search/sWDcU5IfAUCabqoThQ26GQ/project-details/10029418). - -## Reference -If you find our work useful in your research or if you use parts of this code please consider citing our [paper](https://www.nature.com/articles/s41551-020-00682-w): - -Lu, M.Y., Williamson, D.F.K., Chen, T.Y. et al. Data-efficient and weakly supervised computational pathology on whole-slide images. Nat Biomed Eng 5, 555–570 (2021). https://doi.org/10.1038/s41551-020-00682-w - -``` -@article{lu2021data, - title={Data-efficient and weakly supervised computational pathology on whole-slide images}, - author={Lu, Ming Y and Williamson, Drew FK and Chen, Tiffany Y and Chen, Richard J and Barbieri, Matteo and Mahmood, Faisal}, - journal={Nature Biomedical Engineering}, - volume={5}, - number={6}, - pages={555--570}, - year={2021}, - publisher={Nature Publishing Group} -} -``` +### ✅CAMEYON \ No newline at end of file diff --git a/docs/README_new.md b/docs/README_new.md new file mode 100644 index 00000000..efeb2645 --- /dev/null +++ b/docs/README_new.md @@ -0,0 +1,371 @@ +CLAM +=========== +Data Efficient and Weakly Supervised Computational Pathology on Whole Slide Images. +*Nature Biomedical Engineering* + +[ArXiv](https://arxiv.org/abs/2004.09666) | [Journal Link](https://www.nature.com/articles/s41551-020-00682-w) | [Interactive Demo](http://clam.mahmoodlab.org) | [Cite](#reference) + +***TL;DR:** CLAM is a high-throughput and interpretable method for data efficient whole slide image (WSI) classification using slide-level labels without any ROI extraction or patch-level annotations, and is capable of handling multi-class subtyping problems. Tested on three different WSI datasets, trained models adapt to independent test cohorts of WSI resections and biopsies as well as smartphone microscopy images (photomicrographs).* + +[](http://clam.mahmoodlab.org) +## CLAM: A Deep-Learning-based Pipeline for Data Efficient and Weakly Supervised Whole-Slide-level Analysis +[Pre-requisites](#pre-requisites) • [Installation](INSTALLATION.md) • [Segmentation and Patching](#wsi-segmentation-and-patching) • [Feature Extraction](#weakly-supervised-learning-using-slide-level-labels-with-clam) • [Weakly Supervised Training](#Training-Splits) • [Testing](#Testing-and-Evaluation-Script) • [Trained Models](#Trained-Model-Checkpoints) • [Heatmap Visualization](#Heatmap-Visualization) • [Examples](#examples) • [Pre-print](https://arxiv.org/abs/2004.09666) • [Demo](http://clam.mahmoodlab.org) • [Cite](#reference) + +***How does CLAM work?** Clustering-constrained Attention Multiple Instance Learning (CLAM) is a deep-learning-based weakly-supervised method that uses attention-based learning to automatically identify sub-regions of high diagnostic value in order to accurately classify the whole slide, while also utilizing instance-level clustering over the representative regions identified to constrain and refine the feature space.* + +© [Mahmood Lab](http://www.mahmoodlab.org) - This code is made available under the GPLv3 License and is available for non-commercial academic purposes. + +## Updates: +* **04/15/2025**: Checkout our new repository [Trident](https://github.com/mahmoodlab/TRIDENT) for whole-slide image processing with support for 25+ foundation models, including [UNIv2](https://huggingface.co/MahmoodLab/UNI2-h), [CONCH](https://huggingface.co/MahmoodLab/CONCH), [TITAN](https://huggingface.co/MahmoodLab/TITAN), and many more! +* **04/06/2024**: [UNI](https://github.com/mahmoodlab/UNI) and [CONCH](https://github.com/mahmoodlab/CONCH) are now available to select as pretrained encoders. See [Using CONCH / UNI as Pretrained Encoders](#using-conch--uni-as-pretrained-encoders) for more details. Please make sure all dependencies are installed correctly by installing the latest **env.yml** file (see [Installation guide](INSTALLATION.md) for details), and using the corresponding **clam_latest** conda environment. +* 03/19/2024: We are releasing [UNI](https://github.com/mahmoodlab/UNI) and [CONCH](https://github.com/mahmoodlab/CONCH), a pair of SOTA pretrained encoders that produce strong representations for histopathology images and enhance performance on various computational pathology workflows, including the MIL-based CLAM workflow. +* 05/24/2021: Script for heatmap visualization now available via **create_heatmaps.py**, with the configuration template located in **heatmaps/configs**. See [Heatmap visualization for demo and instructions.](#Heatmap-Visualization) +* 03/01/2021: New, fast patching/feature extraction pipeline is now available. +更新日志: +2025 年 4 月 15 日:欢迎查看我们的新代码仓库 Trident,该仓库适用于全切片图像处理,支持 25 种以上的基础模型,包括 UNIv2、CONCH、TITAN 等! +2024 年 4 月 6 日:UNI 和 CONCH 现已可选择作为预训练编码器。更多详情请参见《将 CONCH/UNI 用作预训练编码器》(Using CONCH / UNI as Pretrained Encoders)部分。请务必通过安装最新的 env.yml 文件(详情参见《安装指南》Installation guide)并使用对应的 clam_latest conda 环境,确保所有依赖项均已正确安装。 +2024 年 3 月 19 日:我们发布了 UNI 和 CONCH—— 这是一对性能最优(SOTA,State-of-the-Art)的预训练编码器,能为组织病理学图像生成高质量特征表示,并提升各类计算病理工作流程的性能,包括基于多实例学习(MIL,Multiple Instance Learning)的 CLAM 工作流程。 +2021 年 5 月 24 日:现已提供热力图可视化脚本,可通过 create_heatmaps.py 调用,配置模板位于 heatmaps/configs 目录下。演示及操作说明请参见《热力图可视化》(Heatmap Visualization)部分。 +2021 年 3 月 1 日:全新的快速切片 / 特征提取流水线现已上线。 +**TL;DR:** since CLAM only requires image features for training, it is not necessary to save the actual image patches, the new pipeline rids of this overhead and instead only saves the coordinates of image patches during "patching" and loads these regions on the fly from WSIs during feature extraction. This is significantly faster than the old pipeline and usually only takes 1-2s for "patching" and a couple minutes to featurize a WSI. To use the new pipeline, make sure you are calling **create_patches_fp.py** and **extract_features_fp.py** instead of the old **create_patches.py** and **extract_features.py** scripts. +核心摘要(TL;DR,Too Long; Didn't Read):由于 CLAM 模型训练仅需图像特征,无需保存实际图像切片;新流水线去除了这一冗余步骤,在 “切片” 过程中仅保存图像切片的坐标,并在特征提取时从全切片图像(WSI)中实时加载这些区域。该流水线比旧版本速度显著提升,“切片” 过程通常仅需 1-2 秒,全切片图像特征提取也仅需几分钟。若要使用新流水线,请确保调用 create_patches_fp.py 和 extract_features_fp.py 脚本,而非旧版本的 create_patches.py 和 extract_features.py。 + +**Note**: while we hope that the newest update will require minimal changes to the user's workflow, if needed, you may reference the old version of the code base [here](https://github.com/mahmoodlab/CLAM/tree/deprecated). Please report any issues in the public forum. +注意:我们希望最新更新对用户的工作流程改动最小,但如需参考旧版本代码库,可访问此链接(here)。如有任何问题,请在公共论坛中反馈。 + +**Warning**: the latest update will by default resize image patches to 224 x 224 before extracting features using the pretrained encoder. This change serves to make it more consistent with the evaluation protocol used in UNI, CONCH and other studies. If you wish to preserve the original size of the image patches generated during patching or use a different image size for feature extraction, you can do so by specifying `--target_patch_size` in **extract_features_fp.py**. +警告:最新更新默认会在使用预训练编码器提取特征前,将图像切片(image patches)调整为 224×224 的尺寸。此改动旨在与 UNI、CONCH 及其他研究中采用的评估协议保持一致。若你希望保留 “切片生成”(patching)过程中产生的图像切片原始尺寸,或使用其他尺寸进行特征提取,可在extract_features_fp.py脚本中通过指定--target_patch_size参数实现。 + +**RE update 03/01/21**: note that the README has been updated to use the new, faster pipeline by default. If you still wish to use the old pipeline, refer to: [Guide for Old Pipeline](README_old.md). It saves tissue patches, which is signficantly slower and takes up a lot of storage space but can still be useful if you need to work with original image patches instead of feature embeddings. +关于 2021 年 3 月 1 日更新的补充说明:请注意,本 README 文档已更新,默认采用全新的快速处理流水线(pipeline)。若你仍需使用旧流水线,请参考《旧流水线使用指南》(Guide for Old Pipeline)。旧流水线会保存组织切片(tissue patches),其速度显著较慢且占用大量存储空间,但当你需要使用原始图像切片而非特征嵌入(feature embeddings)时,该流水线仍具备实用价值。 + +## Installation: +Please refer to our [Installation guide](INSTALLATION.md) for detailed instructions on how to get started. +安装说明 +如需详细的入门操作指南,请参考我们的《安装指南》(Installation guide)。 + +## WSI Segmentation and Patching +全切片图像(WSI)分割与切片处理 + + +The first step focuses on segmenting the tissue and excluding any holes. The segmentation of specific slides can be adjusted by tuning the individual parameters (e.g. dilated vessels appearing as holes may be important for certain sarcomas.) +The following example assumes that digitized whole slide image data in well known standard formats (.svs, .ndpi, .tiff etc.) are stored under a folder named DATA_DIRECTORY +第一步的核心是对组织区域进行分割,并排除所有孔洞区域。对于特定切片的分割效果,可通过调整各项参数进行优化(例如,在某些肉瘤的分析场景中,表现为孔洞的扩张血管可能是重要的分析对象,需特殊调整参数)。 +以下示例假设数字化的全切片图像数据(采用常见标准格式,如.svs、.ndpi、.tiff 等)均存储在名为 “DATA_DIRECTORY” 的文件夹下,文件夹结构如下: + +```bash +DATA_DIRECTORY/ + ├── slide_1.svs + ├── slide_2.svs + └── ... +``` + +### Basic, Fully Automated Run +基础全自动运行方式 +``` shell +python create_patches_fp.py --source DATA_DIRECTORY --save_dir RESULTS_DIRECTORY --patch_size 256 --seg --patch --stitch +``` + +The above command will segment every slide in DATA_DIRECTORY using default parameters, extract all patches within the segemnted tissue regions, create a stitched reconstruction for each slide using its extracted patches (optional) and generate the following folder structure at the specified RESULTS_DIRECTORY: +上述命令将使用默认参数对 “DATA_DIRECTORY” 文件夹中的所有切片进行分割,提取分割后组织区域内的所有切片块(patch),并使用提取的切片块为每个切片创建拼接重建图像(此步骤为可选),最终在指定的 “RESULTS_DIRECTORY” 文件夹下生成如下目录结构: + +```bash +RESULTS_DIRECTORY/ + ├── masks + ├── slide_1.png + ├── slide_2.png + └── ... + ├── patches + ├── slide_1.h5 + ├── slide_2.h5 + └── ... + ├── stitches + ├── slide_1.png + ├── slide_2.png + └── ... + └── process_list_autogen.csv +``` + +The **masks** folder contains the segmentation results (one image per slide). +masks(掩码)文件夹:包含所有切片的分割结果(每个切片对应 1 张分割结果图像)。 +(注:此处的 “掩码” 是图像分割领域的常用概念,指通过像素标记区分组织区域与背景 / 孔洞区域的图像,可用于后续精准提取组织切片块。) +The **patches** folder contains arrays of extracted tissue patches from each slide (one .h5 file per slide, where each entry corresponds to the coordinates of the top-left corner of a patch) +patches(切片块)文件夹:包含从每张切片中提取的组织切片块数组(每个切片对应 1 个.h5 文件,文件中每条数据记录均对应 1 个切片块左上角的坐标信息)。 +(注:.h5 是一种高效存储海量数值数据的文件格式,此处仅存储切片块坐标而非原始图像数据,可大幅节省存储空间并提升后续特征提取的效率。) +The **stitches** folder contains downsampled visualizations of stitched tissue patches (one image per slide) (Optional, not used for downstream tasks) +stitches(拼接图)文件夹:包含组织切片块的下采样拼接可视化图像(每个切片对应 1 张拼接图)(此为可选输出,不用于后续下游任务)。 +(注:“下采样” 指降低图像分辨率以减少数据量,便于快速查看整体组织分布;该文件夹内容仅用于人工直观验证切片块提取效果,不参与模型训练或分析计算。) +The auto-generated csv file **process_list_autogen.csv** contains a list of all slides processed, along with their segmentation/patching parameters used. +自动生成的 CSV 文件process_list_autogen.csv:包含所有已处理切片的列表,以及处理每张切片时所用的分割 / 切片块提取参数。 +(注:CSV 文件可直接用 Excel 或代码打开,便于用户追溯每张切片的处理配置,也可用于批量管理或复现实验流程。) + +Additional flags that can be passed include: +* `--custom_downsample`: factor for custom downscale (not recommended, ideally should first check if native downsamples exist) +* `--patch_level`: which downsample pyramid level to extract patches from (default is 0, the highest available resolution) +* `--no_auto_skip`: by default, the script will skip over files for which patched .h5 files already exist in the desination folder, this toggle can be used to override this behavior +可额外传入的参数(flags)包括: +--custom_downsample:自定义下采样系数(不推荐使用,理想情况下应先检查是否存在原生下采样层级)。(注:“下采样” 指降低图像分辨率以减少数据量;“原生下采样层级” 是全切片图像(WSI)生成时默认保存的不同分辨率版本,直接使用原生层级可避免自定义下采样可能导致的图像信息失真或处理效率下降。) +--patch_level:指定从哪个下采样金字塔层级提取切片块(默认值为 0,即最高可用分辨率层级)。(注:全切片图像通常以 “金字塔层级” 形式存储,层级 0 对应原始扫描的最高分辨率,层级数值越大,分辨率越低;该参数可根据后续任务对分辨率的需求灵活选择,例如低分辨率层级适用于快速预览,高分辨率层级适用于精细特征提取。) +--no_auto_skip:默认情况下,若目标文件夹中已存在某文件对应的切片块.h5 文件,脚本会自动跳过该文件的处理;启用此参数可覆盖该默认行为(即强制重新处理已存在.h5 文件的切片)。(注:该参数适用于需要更新切片块数据的场景,例如修改了分割参数后需重新生成切片块,但需注意会覆盖原有文件,且可能增加重复计算的时间成本。) + +Some parameter templates are also availble and can be readily deployed as good choices for default parameters: +* `bwh_biopsy.csv`: used for segmenting biopsy slides scanned at BWH (Scanned using Hamamatsu S210 and Aperio GT450) +* `bwh_resection.csv`: used for segmenting resection slides scanned at BWH +* `tcga.csv`: used for segmenting TCGA slides +目前提供了部分参数模板,这些模板可作为默认参数的优质选择直接使用: +bwh_biopsy.csv:适用于分割在布列根和妇女医院(BWH,Brigham and Women's Hospital)扫描的活检切片(使用滨松(Hamamatsu)S210 和阿佩里奥(Aperio)GT450 扫描仪扫描)。 +bwh_resection.csv:适用于分割在布列根和妇女医院扫描的切除标本切片。 +tcga.csv:适用于分割 TCGA(癌症基因组图谱,The Cancer Genome Atlas)切片。 + +Simply pass the name of the template file to the --preset argument, for example, to use the biopsy template: +只需将模板文件名传入--preset参数即可调用,例如,若要使用活检切片模板,命令如下: +``` shell +python create_patches_fp.py --source DATA_DIRECTORY --save_dir RESULTS_DIRECTORY --patch_size 256 --preset bwh_biopsy.csv --seg --patch --stitch +``` +### Custom Default Segmentation Parameters + +For advanced usage, in addition to using the default, single set of parameters defined in the script **create_patches_fp.py**, the user can define custom templates of parameters depending on the dataset. These templates are expected to be stored under **presets**, and contain values for each of the parameters used during segmentation and patching. + +The list of segmentation parameters is as follows: +* `seg_level`: downsample level on which to segment the WSI (default: -1, which uses the downsample in the WSI closest to 64x downsample) +* `sthresh`: segmentation threshold (positive integer, default: 8, using a higher threshold leads to less foreground and more background detection) +* `mthresh`: median filter size (positive, odd integer, default: 7) +* `use_otsu`: use otsu's method instead of simple binary thresholding (default: False) +* `close`: additional morphological closing to apply following initial thresholding (positive integer or -1, default: 4) + +The list of contour filtering parameters is as follows: +* `a_t`: area filter threshold for tissue (positive integer, the minimum size of detected foreground contours to consider, relative to a reference patch size of 512 x 512 at level 0, e.g. a value 10 means only detected foreground contours of size greater than 10 512 x 512 sized patches at level 0 will be processed, default: 100) +* `a_h`: area filter threshold for holes (positive integer, the minimum size of detected holes/cavities in foreground contours to avoid, once again relative to 512 x 512 sized patches at level 0, default: 16) +* `max_n_holes`: maximum of holes to consider per detected foreground contours (positive integer, default: 10, higher maximum leads to more accurate patching but increases computational cost) + +The list of segmentation visualization parameters is as follows: +* `vis_level`: downsample level to visualize the segmentation results (default: -1, which uses the downsample in the WSI closest to 64x downsample) +* `line_thickness`: line thickness to draw visualize the segmentation results (positive integer, in terms of number of pixels occupied by drawn line at level 0, default: 250) + +The list of patching parameters is as follows: +* `use_padding`: whether to pad the border of the slide (default: True) +* `contour_fn`: contour checking function to decide whether a patch should be considered foreground or background (choices between 'four_pt' - checks if all four points in a small, grid around the center of the patch are inside the contour, 'center' - checks if the center of the patch is inside the contour, 'basic' - checks if the top-left corner of the patch is inside the contour, default: 'four_pt') + + +### Two-Step Run (Mannually Adjust Parameters For Specific Slides) +To ensure that high quality segmentation and extraction of relevant tissue patches, user has the option of first performing segmentation (typically around 1s per slide), inspecting the segmentation results and tweaking the parameters for select slides if necessary and then extracting patches using the tweaked parameters. i.e., first run: + +``` shell +python create_patches_fp.py --source DATA_DIRECTORY --save_dir RESULTS_DIRECTORY --patch_size 256 --seg +``` +The above command will segment every slide in DATA_DIRECTORY using default parameters and generate the csv file, but will NOT patch just yet (**patches** and **stitches** folders will be empty) + +The csv file can be tweaked for specific slides, and be passed to the script via the --process_list CSV_FILE_NAME such that the script will use the user-updated specifications. Before tweaking the segmentation parameters, the user should make a copy of the csv file and give it a new name (e.g. process_list_edited.csv) because otherwise this file with the default name is overwritten the next time the command is run. Then the user has the option to tweak the parameters for specific slides by changing their corresponding fields in the csv file. The **process** column stores a binary variable (0 or 1) for whether the script should process a specific slide. This allows the user to toggle on just the select few slides to quickly confirm whether the tweaked parameters produce satisfactory results. For example, to re-segment just slide_1.svs again using user-updated parameters, make the appropriate changes to its fields, update its **process** cell to 1, save the csv file, and pass its name to the same command as above: + +``` shell +python create_patches_fp.py --source DATA_DIRECTORY --save_dir RESULTS_DIRECTORY --patch_size 256 --seg --process_list process_list_edited.csv +``` + +When satisfied with the segmentation results, the user should make the **process** cell for all slides that need to be processed to 1, save the csv file, and run patching with the saved csv file (just like in the fully-automated run use case, with the additional csv file argument): + +``` shell +python create_patches_fp.py --source DATA_DIRECTORY --save_dir RESULTS_DIRECTORY --patch_size 256 --seg --process_list CSV_FILE_NAME --patch --stitch +``` +## Weakly-Supervised Learning using Slide-Level Labels with CLAM + + + +### Feature Extraction (GPU Example) +```bash +CUDA_VISIBLE_DEVICES=0 python extract_features_fp.py --data_h5_dir DIR_TO_COORDS --data_slide_dir DATA_DIRECTORY --csv_path CSV_FILE_NAME --feat_dir FEATURES_DIRECTORY --batch_size 512 --slide_ext .svs +``` +The above command expects the coordinates .h5 files to be stored under DIR_TO_COORDS and a batch size of 512 to extract 1024-dim features from each tissue patch for each slide and produce the following folder structure: +```bash +FEATURES_DIRECTORY/ + ├── h5_files + ├── slide_1.h5 + ├── slide_2.h5 + └── ... + └── pt_files + ├── slide_1.pt + ├── slide_2.pt + └── ... +``` +where each .h5 file contains an array of extracted features along with their patch coordinates (note for faster training, a .pt file for each slide is also created for each slide, containing just the patch features). The csv file is expected to contain a list of slide filenames (without the filename extensions) to process (the easiest option is to take the csv file auto generated by the previous segmentation/patching step, and delete the filename extensions) + +### Using CONCH / UNI as Pretrained Encoders +If using UNI or CONCH, first refer to their respective HF page below to request and download the model weights (pytorch_model.bin). + +UNI: https://huggingface.co/MahmoodLab/UNI + +CONCH: https://huggingface.co/MahmoodLab/CONCH + +After successfully downloading the model checkpoints, you need to set the `CONCH_CKPT_PATH` and `UNI_CKPT_PATH` environment variable to the path of the pretrained encoder checkpoints, before running the feature extraction script. For example, if you have downloaded the pretrained UNI and CONCH checkpoints and placed them in the **checkpoints/conch** and **checkpoints/uni** folders respectively, you can set the environment variables as follows: +```bash +export CONCH_CKPT_PATH=checkpoints/conch/pytorch_model.bin +export UNI_CKPT_PATH=checkpoints/uni/pytorch_model.bin +``` +When running the **extract_features_fp.py** also set `--model_name` to either 'uni_v1' or 'conch_v1' to use the respective encoder. + +Note that these encoder models (especially UNI, which uses ViT-L) are more computationally expensive and require more GPU memory than the default ResNet50 encoder, so expect longer runtimes and reduced batch sizes accordingly if you run out of GPU memory. UNI will produce 1024-dim features, while CONCH will produce 512-dim features. + +### Datasets +The data used for training and testing are expected to be organized as follows: +```bash +DATA_ROOT_DIR/ + ├──DATASET_1_DATA_DIR/ + ├── h5_files + ├── slide_1.h5 + ├── slide_2.h5 + └── ... + └── pt_files + ├── slide_1.pt + ├── slide_2.pt + └── ... + ├──DATASET_2_DATA_DIR/ + ├── h5_files + ├── slide_a.h5 + ├── slide_b.h5 + └── ... + └── pt_files + ├── slide_a.pt + ├── slide_b.pt + └── ... + └──DATASET_3_DATA_DIR/ + ├── h5_files + ├── slide_i.h5 + ├── slide_ii.h5 + └── ... + └── pt_files + ├── slide_i.pt + ├── slide_ii.pt + └── ... + └── ... +``` +Namely, each dataset is expected to be a subfolder (e.g. DATASET_1_DATA_DIR) under DATA_ROOT_DIR, and the features extracted for each slide in the dataset is stored as a .pt file sitting under the **pt_files** folder of this subfolder. +Datasets are also expected to be prepared in a csv format containing at least 3 columns: **case_id**, **slide_id**, and 1 or more labels columns for the slide-level labels. Each **case_id** is a unique identifier for a patient, while the **slide_id** is a unique identifier for a slide that correspond to the name of an extracted feature .pt file. This is necessary because often one patient has multiple slides, which might also have different labels. When train/val/test splits are created, we also make sure that slides from the same patient do not go to different splits. The slide ids should be consistent with what was used during the feature extraction step. We provide 2 dummy examples of such dataset csv files in the **dataset_csv** folder: one for binary tumor vs. normal classification (task 1) and one for multi-class tumor_subtyping (task 2). + +Dataset objects used for actual training/validation/testing can be constructed using the **Generic_MIL_Dataset** Class (defined in **datasets/dataset_generic.py**). Examples of such dataset objects passed to the models can be found in both **main.py** and **eval.py**. + +For training, look under main.py: +```python +if args.task == 'task_1_tumor_vs_normal': + args.n_classes=2 + dataset = Generic_MIL_Dataset(csv_path = 'dataset_csv/tumor_vs_normal_dummy_clean.csv', + data_dir= os.path.join(args.data_root_dir, 'tumor_vs_normal_feat_resnet'), + shuffle = False, + seed = args.seed, + print_info = True, + label_dict = {'normal_tissue':0, 'tumor_tissue':1}, + label_col = 'label', + ignore=[]) +``` +The user would need to pass: +* csv_path: the path to the dataset csv file +* data_dir: the path to saved .pt features +* label_dict: a dictionary that maps labels in the label column to numerical values +* label_col: name of the label column (optional, by default it's 'label') +* ignore: labels to ignore (optional, by default it's an empty list) + +Finally, the user should add this specific 'task' specified by this dataset object in the --task arguments as shown below: + +```python +parser.add_argument('--task', type=str, choices=['task_1_tumor_vs_normal', 'task_2_tumor_subtyping']) +``` + +### Training Splits +For evaluating the algorithm's performance, multiple folds (e.g. 10-fold) of train/val/test splits can be used. Example 10-fold 80/10/10 splits for the two dummy datasets can be found under the **splits** folder. These splits can be automatically generated using the create_splits_seq.py script with minimal modification just like with **main.py**. For example, tumor_vs_normal splits can be created by calling: + +``` shell +python create_splits_seq.py --task task_1_tumor_vs_normal --seed 1 --k 10 +``` +The script uses the **Generic_WSI_Classification_Dataset** Class for which the constructor expects the same arguments as +**Generic_MIL_Dataset** (without the data_dir argument). For details, please refer to the dataset definition in **datasets/dataset_generic.py** + +### GPU Training Example for Binary Positive vs. Negative Classification (e.g. Lymph Node Status) +Note: --embed_dim should be set to 512 for CONCH, and 1024 for UNI and resnet50_trunc. + +``` shell +CUDA_VISIBLE_DEVICES=0 python main.py --drop_out 0.25 --early_stopping --lr 2e-4 --k 10 --exp_code task_1_tumor_vs_normal_CLAM_50 --weighted_sample --bag_loss ce --inst_loss svm --task task_1_tumor_vs_normal --model_type clam_sb --log_data --data_root_dir DATA_ROOT_DIR --embed_dim 1024 +``` + +### GPU Training Example for Subtyping Problems (e.g. 3-class RCC Subtyping) +``` shell +CUDA_VISIBLE_DEVICES=0 python main.py --drop_out 0.25 --early_stopping --lr 2e-4 --k 10 --exp_code task_2_tumor_subtyping_CLAM_50 --weighted_sample --bag_loss ce --inst_loss svm --task task_2_tumor_subtyping --model_type clam_sb --log_data --subtyping --data_root_dir DATA_ROOT_DIR --embed_dim 1024 +``` +Note: We have included the option to use a single-attention-branch CLAM model, which performs favoribly in most experiments and can be set via --model_type clam_sb (single branch) or clam_mb (multi branch). clam_sb is the default choice. Additionally, the user can adjust the number of patches used for clustering via --B. + +By default results will be saved to **results/exp_code** corresponding to the exp_code input argument from the user. If tensorboard logging is enabled (with the arugment toggle --log_data), the user can go into the results folder for the particular experiment, run: +``` shell +tensorboard --logdir=. +``` +This should open a browser window and show the logged training/validation statistics in real time. +For information on each argument, see: +``` shell +python main.py -h +``` + +### Testing and Evaluation Script +User also has the option of using the evluation script to test the performances of trained models. Examples corresponding to the models trained above are provided below: +``` shell +CUDA_VISIBLE_DEVICES=0 python eval.py --k 10 --models_exp_code task_1_tumor_vs_normal_CLAM_50_s1 --save_exp_code task_1_tumor_vs_normal_CLAM_50_s1_cv --task task_1_tumor_vs_normal --model_type clam_sb --results_dir results --data_root_dir DATA_ROOT_DIR --embed_dim 1024 +``` + +``` shell +CUDA_VISIBLE_DEVICES=0 python eval.py --k 10 --models_exp_code task_2_tumor_subtyping_CLAM_50_s1 --save_exp_code task_2_tumor_subtyping_CLAM_50_s1_cv --task task_2_tumor_subtyping --model_type clam_sb --results_dir results --data_root_dir DATA_ROOT_DIR --embed_dim 1024 +``` + + +Once again, for information on each commandline argument, see: +``` shell +python eval.py -h +``` + +By adding your own custom datasets into **eval.py** the same way as you do for **main.py**, you can also easily test trained models on independent test sets. + +### Heatmap Visualization +Heatmap visualization can be computed in bulk via **create_heatmaps.py** by filling out the config file and storing it in **/heatmaps/configs** and then running **create_heatmaps.py** with the --config NAME_OF_CONFIG_FILE flag. A demo template is included (**config_template.yaml**) for lung subtyping on two WSIs from the CPTAC. +To run the demo (raw results are saved in **heatmaps/heatmap_raw_results** and final results are saved in **heatmaps/heatmap_production_results**): +``` shell +CUDA_VISIBLE_DEVICES=0 python create_heatmaps.py --config config_template.yaml +``` +See **/heatmaps/configs/config_template.yaml** for explanations for each configurable option. + +Similar to feature extraction, if using UNI / CONCH, set the environment variables before running the script. See [Using CONCH / UNI as Pretrained Encoders](#using-conch--uni-as-pretrained-encoders) for more details. + + +### Trained Model Checkpoints +For reproducability, all trained models used can be accessed [here](https://drive.google.com/drive/folders/1NZ82z0U_cexP6zkx1mRk-QeJyKWk4Q7z?usp=sharing). +The 3 main folders (**tcga_kidney_cv**, **tcga_cptac_lung_cv** and **camelyon_40x_cv**) correspond to models for RCC subtyping trained on the TCGA, for NSCLC subtyping trained on TCGA and CPTAC and for Lymph Node Metastasis (Breast) detection trained on Camelyon16+17 respectively. In each main folder, each subfolder corresponds to one set of 10-fold cross-validation experiments. For example, the subfolder tcga_kidney_cv_CLAM_50_s1 contains the 10 checkpoints corresponding to the 10 cross-validation folds for TCGA RCC subtyping, trained using CLAM with multi-attention branches using 50% of cases in the full training set. + +For reproducability, these models can be evaluated on data prepared by following the same pipeline described in the sections above by calling **eval.py** with the appropriate arguments that specify the model options (either --model_type clam_mb or --model_type mil should be set, for evaluation only, --subtyping flag does not make a difference) as well as where the model checkpoints (--results_dir and --models_exp_code) and data (--data_root_dir and --task) are stored. + +### Examples + +Please refer to our pre-print and [interactive demo](http://clam.mahmoodlab.org) for detailed results on three different problems and adaptability across data sources, imaging devices and tissue content. + + + +Visulize additional examples here: http://clam.mahmoodlab.org + +## Issues +- Please report all issues on the public forum. + +## License +© [Mahmood Lab](http://www.mahmoodlab.org) - This code is made available under the GPLv3 License and is available for non-commercial academic purposes. + +## Funding +This work was funded by NIH NIGMS [R35GM138216](https://reporter.nih.gov/search/sWDcU5IfAUCabqoThQ26GQ/project-details/10029418). + +## Reference +If you find our work useful in your research or if you use parts of this code please consider citing our [paper](https://www.nature.com/articles/s41551-020-00682-w): + +Lu, M.Y., Williamson, D.F.K., Chen, T.Y. et al. Data-efficient and weakly supervised computational pathology on whole-slide images. Nat Biomed Eng 5, 555–570 (2021). https://doi.org/10.1038/s41551-020-00682-w + +``` +@article{lu2021data, + title={Data-efficient and weakly supervised computational pathology on whole-slide images}, + author={Lu, Ming Y and Williamson, Drew FK and Chen, Tiffany Y and Chen, Richard J and Barbieri, Matteo and Mahmood, Faisal}, + journal={Nature Biomedical Engineering}, + volume={5}, + number={6}, + pages={555--570}, + year={2021}, + publisher={Nature Publishing Group} +} +```