Eric12219180 2023-02-06 16:18 采纳率: 61.1%
浏览 94
已结题

CBIS-DDSM kaggle 资料处理

以下是資料下載處:
https://www.kaggle.com/datasets/awsaf49/cbis-ddsm-breast-cancer-image-dataset

img

下載後打開會有兩個子文件夾 csv和jpeg如下:

img

jpeg裡面又有好幾個文件夾:

img

"隨機"裝著mamogramm的 full mamogramm, cropped images 和 ROI images,
看似只能够过csv档之间的交叉比对才能够找出真正相对应的 full mamogramm, cropped images, 和ROI images.

img


我想要把真正对应的 full mamogramm, cropped images, 和ROI images.分别装在同样的文件夹里面。
感觉很复杂, 有人做过或是会做的吗?

  • 写回答

3条回答 默认 最新

  • cjh4312 2023-02-06 21:47
    关注
    #复制文件函数
    def copy_files(l,dd):
        for n in range(len(dd)):
            d=re.findall(r'/(.*)/', dd.loc[n,'image file path'])[0]
            a=re.findall(r'/(.*)', d)[0]
            old_path=f"D:/archive/jpeg/{a}"
            full_filenames=os.listdir(old_path)
            
            os.makedirs(f"d:/images/{n+l}")
            for i in full_filenames:
                shutil.copy(f"{old_path}/{i}", f'd:/images/{n+l}/full_{n+l}.jpg')
                
            d=re.findall(r'/(.*)/', dd.loc[n,'cropped image file path'])[0]
            a=re.findall(r'/(.*)', d)[0]
            old_path=f"D:/archive/jpeg/{a}"
            if os.path.exists(old_path):
                cropped_filenames=os.listdir(old_path)
                for i in cropped_filenames:
                    if i[0]=='1':
                        shutil.copy(f"{old_path}/{i}", f'd:/images/{n+l}/cropped_{n+l}.jpg')
                    else:
                        shutil.copy(f"{old_path}/{i}", f'd:/images/{n+l}/roi_{n+l}.jpg')
                    
    # dd=pd.read_csv('D:/archive/csv/dicom_info.csv')
    # info=dd[['image_path','PatientName']]
    
    dd=pd.read_csv('D:/archive/csv/calc_case_description_test_set.csv')
    copy_files(0,dd)
    l=len(dd)
    
    dd=pd.read_csv('D:/archive/csv/calc_case_description_train_set.csv')
    copy_files(l,dd)
    l=l+len(dd)
    
    dd=pd.read_csv('D:/archive/csv/mass_case_description_test_set.csv')
    copy_files(l,dd)
    l=l+len(dd)
    
    dd=pd.read_csv('D:/archive/csv/mass_case_description_train_set.csv')
    copy_files(l,dd)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月15日
  • 已采纳回答 2月7日
  • 创建了问题 2月6日

悬赏问题

  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单