base.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:cnn-ms-lesion-segmentation 作者: sergivalverde 项目源码 文件源码
def select_voxels_from_previous_model(model, train_x_data, options):
    """
    Select training voxels from image segmentation masks 

    """

    # get_scan names and number of modalities used 
    scans = train_x_data.keys()
    modalities = train_x_data[scans[0]].keys()

    # select voxels for training. Discard CSF and darker WM in FLAIR. 
    # flair_scans = [train_x_data[s]['FLAIR'] for s in scans]
    # selected_voxels = select_training_voxels(flair_scans, options['min_th'])

    # evaluate training scans using the learned model and extract voxels with probability higher than 0.5
    seg_mask  = [test_scan(model, dict(train_x_data.items()[s:s+1]), options, save_nifti = False) > 0.5 for s in range(len(scans))]

    # check candidate segmentations:
    # if no voxels have been selected, return candidate voxels on FLAIR modality > 2
    flair_scans = [train_x_data[s]['FLAIR'] for s in scans]
    images = [load_nii(name).get_data() for name in flair_scans]
    images_norm = [(im.astype(dtype=np.float32) - im[np.nonzero(im)].mean()) / im[np.nonzero(im)].std() for im in images]
    seg_mask = [im > 2 if np.sum(seg) == 0 else seg for im, seg in zip(images_norm, seg_mask)]

    return seg_mask
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号