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

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 关于#linux#的问题(输入输出错误):出现这个界面接着我重新装系统,又让修电脑的师傅帮我扫描硬盘(没有问题)用着用着又卡死(相关搜索:固态硬盘)
  • ¥15 cv::resize不同线程时间不同
  • ¥15 web课程,怎么做啊😭没好好听课 根本不知道怎么下手
  • ¥15 做一个关于单片机的比较难的代码,然后搞一个PPT进行解释
  • ¥15 python提取.csv文件中的链接会经常出现爬取失败
  • ¥15 数据结构中的数组地址问题
  • ¥15 maya的mel里,怎样先选择模型A,然后利用mel脚本自动选择有相同名字的模型B呢。
  • ¥15 Python题,根本不会啊
  • ¥15 会会信号与系统和python的来
  • ¥15 关于#python#的问题