save_patch.py 文件源码

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

项目:Camelyon17 作者: deepiano 项目源码 文件源码
def save_patch(\
        file_path_tif,
        save_location_path_patch,
        patch_level,
        size_patch):

    print('=> Making patch ..')

    # Read file name list of slide directory
    file_name_list_tif = get_list_file_name(file_path_tif)

    for index in range(len(file_name_list_tif)):

        file_name_tif = file_name_list_tif[index]
        file_name_slide = file_name_tif.split('.')[0]
        file_name_csv = file_name_slide + '.csv'

        cur_file_path_tif =\
                os.path.join(file_path_tif, file_name_tif)
        cur_file_path_csv =\
                os.path.join(save_location_path_patch, file_name_slide)
        cur_file_path_csv =\
                os.path.join(cur_file_path_csv, file_name_csv)

        # Load slide image
        slide = OpenSlide(cur_file_path_tif)

        # Read patch position csv file
        csv_file = open(cur_file_path_csv, 'rb')
        csv_reader = csv.DictReader(csv_file)
        csv_data = list(csv_reader)

        # Make patch and Save 
        for i, row in enumerate(csv_data):

            x = int(row['X'])
            y = int(row['Y'])
            patch = slide.read_region((x, y),\
                                patch_level,\
                                (size_patch, size_patch))
            patch = np.array(patch)
            patch = cv2.cvtColor(patch, cv2.COLOR_RGBA2BGR)

            file_name_patch_jpg = file_name_slide + '_patch_' + str(i) + '.jpg'
            cur_save_path_patch_jpg =\
                    os.path.join(save_location_path_patch,\
                                 file_name_slide)
            cur_save_path_patch_jpg =\
                    os.path.join(cur_save_path_patch_jpg ,\
                                 file_name_patch_jpg)
            cv2.imwrite(cur_save_path_patch_jpg, patch)

        csv_file.close()

        print('=> Next..')
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号