0


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

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。

本文转载自: https://blog.csdn.net/qq_45973897/article/details/127748672
版权归原作者 阿宇来了 所有, 如有侵权,请联系我们删除。

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

还没有评论