Python代码循环执行exe文件,并传入命令参数实现批量处理数据。

为解决病理切片KFB格式无法直接处理的问题,本文介绍了一种利用Python脚本批量转换大量KFB图像至TIFF格式的方法,适用于深度学习预处理流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python调用exe程序 传入命令参数,并实现循环批处理文件

1、问题背景

参加MARS数据医疗赛道进行计算机视觉的比赛,比赛内容为赛题提供一批病理数字切片,由专业医师给出切片区域内T分期指标的标注。选手需要使用计算机视觉相关技术,按照TNM分期指标中“T”指标对切片内的区域进行分类预测,辅助医生进行识别,提高病理诊断效率。
使用TNM分期进行肿瘤评估时,T0代表无证据表明存在原发肿瘤、T1~T3代表癌细胞的侵入程度逐渐加深,Tis代表原位癌(上皮内肿瘤,未侵及固有层,高度不典型增生)。在初赛中,选手需要根据给定的kfb图片及json文件,对切片内划定的区域进行侵入程度的分类预测,共分为五类,包括T0、T1、T2、T3和Tis。

2、面临的问题

  1. 由于病理切片图像为医院专业器械得出,赛题方提供的是KFB格式的病理切片图像,在自己计算机上显示不出来,所以需要使用赛题方提供的exe文件(第三方提供)对kfb格式的图片进行转换,赛题方提供的可执行文件可以把kfb格式转换为tiff格式。
  2. 由于我们需要用深度学习去对数据进行预测,这里的图片数据非常多、并且一个图片就400M+,显然一张一张照片转换是非常费时的,所以需要写一个python脚本去给我们批量转换我们的数据。

3、代码实现(案例)

  • 比如需要在命令行输入一下命令
    在这里插入图片描述

  • python代码
    下面展示 用Python循环执行exe可执行文件达到批量处理文件的需求。

import os

path = "D:\\BaiduNetdiskDownload\\MARS\\data\\T0\\"
main = "D:\\BaiduNetdiskDownload\\MARS\\tool\\KFbioConverter.exe"
suffixs = []
for file_name in os.listdir(path):

    if file_name.endswith(".kfb"):
        suffix = file_name.split(".")[0]

    #   os.startfile(main + path + file_name + toPath + suffix + ".tif 3")
    path1 = "D:\\BaiduNetdiskDownload\\MARS\\data\\T0\\" + file_name
    toPath = "D:\\BaiduNetdiskDownload\\MARS\\data\\TIF0\\" + suffix + ".tif 3"
    # 运行参数格式化
    para = "%s %s %s" % (main, path1, toPath)  # 注意是temp.bat不是exe

    os.system(para)
  • 转换结果
    在这里插入图片描述

4、总结

  • 开始在命令框中转换第一个图片的时候就感受到了绝望,因为图片极大都是45000*45000左右的图像(上面文件都加载不出来),这样的话一个T0数据集就需要转换一天,不过有了Python脚本就方便很多。
  • 还有三个训练集数据和一个测试集数据还没有去下载,希望硬盘够用。
  • 这么大的图片后面需要进行特殊的图像压缩处理,但又不能让图像失去原有图像的病理特征,然后再喂入深度学习的神经网络中。这里数据压缩还一头雾水,如果大神有好的方法请多多指教。
  • 感兴趣的伙伴们可以一起交流交流u。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值