检查图片的格式

检查预处理之前的dcm格式文件

检验一个文件夹下是否为36个文件

import os

# 定义一个函数来遍历文件夹并检查文件数量
def check_folders(root_dir):
    folder_with_36_files = 0  # 计数器,用于记录文件数为36的文件夹数量
    not_36_files = 0  # 计数器,用于记录不是36个文件的文件夹数量

    for root, dirs, files in os.walk(root_dir):
        if not dirs:  # 只检查最低级文件夹
            if len(files) == 36:
                # 如果文件数为36,增加计数器
                folder_with_36_files += 1
            else:
                # 如果文件数不为36,打印出文件夹路径和文件数量,增加计数器
                print(f"{root} 包含 {len(files)} 个文件")
                not_36_files += 1
    
    # 打印文件夹数量
    print(f"一共有 {folder_with_36_files} 个文件夹下有36个文件")
    print(f"一共有 {not_36_files} 个文件夹下不是有36个文件")

# 指定要遍历的根文件夹路径
root_directory = r"F:\乳腺MR"

# 调用函数进行遍历和检查
check_folders(root_directory)

 

F:\乳腺MR\MR基因预测\T1\ZHANG_GUI_XIAN-220802315 包含 22 个文件
F:\乳腺MR\MR基因预测\T2\LUO_SU_LING-230415255 包含 20 个文件
一共有 526 个文件夹下有36个文件
一共有 2 个文件夹下不是有36个文件

检验一个文件夹下是否为dcm文件

import os
import pydicom

# 定义一个函数来遍历文件夹并检查文件是否为DCM文件
def check_dcm_files(root_dir):
    dcm_count = 0  # 计数器,用于记录DCM文件数量
    not_dcm_count = 0  # 计数器,用于记录非DCM文件数量

    for root, dirs, files in os.walk(root_dir):
        for file in files:
            file_path = os.path.join(root, file)
            if file.endswith(".dcm"):
                # 如果是DCM文件,增加DCM文件计数器
                dcm_count += 1
            else:
                # 如果不是DCM文件,打印出文件路径并提示不是DCM文件,增加非DCM文件计数器
                print(f"{file_path} 不是DCM文件")
                not_dcm_count += 1
    
    # 打印DCM文件和非DCM文件的数量
    print(f"一共有 {dcm_count} 个DCM文件")
    print(f"一共有 {not_dcm_count} 个非DCM文件")

# 指定要遍历的根文件夹路径
root_directory = r"F:\12.18"

# 调用函数进行遍历和检查
check_dcm_files(root_directory)

 

一共有 46518 个DCM文件
一共有 0 个非DCM文件

 检查预处理后的h5文件的维度是否为(512,512)

一个文件夹下储存着h5文件,获取每个h5文件的路径

import os
import glob
path = r"F:\未删除CR的均质化图像\test"
h5_files    = [f for f in os.listdir(path) ]
h5_files  

获取每个h5文件的像素值,检查像素值的维度是否为(512,512)

for i in h5_files:
    file_path = os.path.join(path, i)
    with h5py.File(file_path, 'r') as f:
        # 可以查看文件中的键(datasets)
        #print("Dataset keys:", list(f.keys()))

        # 替换为实际的数据集名称
        dataset_name = 'LOW_ENERGY'
        dataset = f[dataset_name]
        data = dataset[()]  # 读取数据到变量中

        # 如果data.shape不是(512,512),那么就打印出它的路径
        if data.shape != (512, 512):
            print(f"File '{file_path}' contains a dataset '{dataset_name}' with shape {data.shape}.")
            all_512 = False

# 如果all_512为True,则打印所有文件都是(512,512)
if all_512:
    print("All files contain datasets with shape (512, 512).")

# 打印结束
print("Finished checking all files.")
File 'F:\未删除CR的均质化图像\test\MENG_ZUO_MEI_506_0001_0948_11865.h5' contains a dataset 'LOW_ENERGY' with shape (1120, 1664, 3).
File 'F:\未删除CR的均质化图像\test\MENG_ZUO_MEI_517_0001_0959_11876.h5' contains a dataset 'LOW_ENERGY' with shape (1120, 1664, 3).
Finished checking all files.

 

 

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值