【无标题】

代码注释

基于双分支融合的病理图像分类BifusionNet

  1. 生成GRAPH
  • supernode_generation_V3.py #获得节点坐标
  • superpatch_network_construction.py #获得graph
  • convert_dgl_graph.py #将graph转化为 .bin格式
  • Visulization_graph_bin_v2.py # 可视化graph
  1. 训练
    相对应脚本train_focalloss_bracs.py
  • 设置输入节点特征维度NODE_DIM = 1792
  • 设置相应的输入参数(如下代码,见名知意)
def parse_arguments():
    parser = argparse.ArgumentParser()
    parser.add_argument(
        '--graph_path',
        type=str,
        help='',
        default='/home/hero/disk/DATASET/BRACS/Graduate_data_big/BRACS/patchgraph',
        # default='/home/hero/disk/DATASET/BRACS/Graduate_data/BRACS/patchgraph',
        required=False
    )
    parser.add_argument(
        '--img_path',
        type=str,
        help='',
        default='/home/hero/disk/DATASET/BRACS/Graduate_data_big/BRACS/nonmalization_lastet_version_small_size_v2',
        # default='/home/hero/disk/DATASET/BRACS/Graduate_data/BRACS/un_nonmalization_lastet_version_small_size',
        required=False
    )
    parser.add_argument(
        '--checkpoint_path',
        help='预训练的CNN权重',
        type=str,
        default=''
    )
    parser.add_argument(
        '-conf',
        '--config_fpath',
        type=str,
        help='path to the config file.',
        default='/home/hero/disk/CODE/hact-net-main_V1/core/config/double_net_7_classes.yml',
        required=False
    )
    parser.add_argument(
        '--model_path',
        type=str,
        help='path to where the model is saved.',
        default='./model_saved',
        required=False
    )
    parser.add_argument(
        '--in_ram',
        help='if the data should be stored in RAM.',
        # action='store_true',
        default=False
    )
    parser.add_argument(
        '-b',
        '--batch_size',
        type=int,
        help='batch size.',
        default=16,
        required=False
    )
    parser.add_argument(
        '--epochs', type=int, help='epochs.', default=100, required=False
    )
    parser.add_argument(
        '-l',
        '--learning_rate',
        type=float,
        help='learning rate.',
        default=1e-5,
        required=False
    )
    parser.add_argument(
        '--out_path',
        type=str,
        help='path to where the output data are saved (currently only for the interpretability).',
        default='./double_net_result',
        required=False
    )
    parser.add_argument(
        '--logger',
        type=str,
        help='Logger type. Options are "mlflow" or "none"',
        required=False,
        default='mlflow'
    )

    return parser.parse_args()
  1. 测试(推理)
    相关脚本computer_f1score_bracs_with_floss.py
    测试脚本包含两个输入:graph和img
  • metrics_txt = open(f’./{txt_name}_软硬件验收_new.txt’,‘w’) # 测试结果保存文件名
  • 设置相应的输入参数,包含数据,模型等

注意:模型放在MODEL_PATH = '/home/hero/disk/Graduate_CODE_v2/model_saved_bracs',如果地址中包含多个模型,则计算他们的均值和方差
其他的参数在parse_arguments中设置

细胞核分割识别:hover_net-author_From_FZY

运行脚本:run_infer_feng.py
在如下代码四修改input_diroutput_dir就好

if __name__ == '__main__':

# /home/hero/disk/DATASET/BRACS/BRACS/BRACS_Rol/lastet_version/train/0_N
# /home/hero/disk/HP-FENG-BACKUP/F/HOVERNT_DEBUG_data
    from infer.tile import InferManager
    method_args={'method': {'model_args': {'nr_types': 6, 'mode': 'fast'},
                            'model_path': './weights/hovernet_fast_pannuke_type_tf2pytorch.tar'},
                 'type_info_path': 'type_info_pan.json'}
    run_args={'batch_size': 24,

              'nr_inference_workers': 8,
              'nr_post_proc_workers': 16,
              'patch_input_shape': 256,
              'patch_output_shape': 164,
              'input_dir': '/media/hero/Extreme Pro/SXCH_for_pan/40x/Plu190116 TP - 2022-01-14 17.52.43/',
              'output_dir': '/home/hero/disk/CODE/visualization_for_neopla.inflam/for_pan_data/SXCH/cell_seg/Plu190116 TP - 2022-01-14 17.52.43/',
              'mem_usage': 0.1,
              'draw_dot': True,
              'save_qupath': True,
              'save_raw_map': False}

    infer = InferManager(**method_args)
    infer.process_file_list(run_args)

注意:如果在分割的时候不需要可视化结果,将tile.py中下面代码注释掉即可

save_path = "%s/overlay/%s.png" % (self.output_dir, img_name)
cv2.imwrite(save_path, cv2.cvtColor(overlaid_img, cv2.COLOR_RGB2BGR))

组织分割:tissue_seg_wzz

相关脚本:WSI_seg.py
输入:parser.add_argument('--WSI_fold', type=str, default='/media/hero/2T-wym/patch/for_tissue_10x_01/11/', help='put the path of WSI')
输出:parser.add_argument('--save_dir', type=str, default='/media/hero/2T-wym/patch/seg_tissue_for_tissue_10x/11/', help='save path')

细胞核矫正:Pooling_post_processing

相关脚本1:pooling_for_process.py
相关脚本2:pooling_for_process_V2.py
矫正使用到的信息包含hovernet的分割结果,组织分割结果(用的加泰博士的)
注意:这两个脚本的都有同样的功能,区别在于脚本2中新的MAT文件将会覆盖旧的mat文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值