Beispiel #1
0
def dcm_png_single(dcm_folder, name_style):

    """
    :param dcm_folder: input dcm file
    :return: png file
    """
    png_dic = {}
    for i, value in enumerate(name_style):
        # print(name_style[0])
        filename = str(value[:-10])  # 检索文件名

        file_name = os.path.join(dcm_folder, filename)

        img = pydcm2png.get_pixel_data(file_name)  # 转化

        # 读取.dcm文件,获取拍摄位信息
        ds = pydicom.read_file(file_name)

        ImageLaterality = ds.ImageLaterality

        ViewPosition = ds.ViewPosition

        pos = ImageLaterality + ViewPosition

        png_dic[i] = [pos, img]   #

    return png_dic
Beispiel #2
0
def dcm_png(dcm_folder):
    """

    :param dcm_folder: input dcm file
    :return: png file
    """
    png_dic = {}  # 字典类型
    # sorted 排序
    for filename in sorted(os.listdir(dcm_folder)):

        if filename.split(".")[-1] == 'gz' or filename.split(".")[-1] == 'bdc-downloading':
            continue

        file_name = os.path.join(dcm_folder, filename)
        # 获取文件编号(用于和标签的匹配)
        png_name = filename.split(".")[:-1]

        index = int(png_name[0].split('_')[1])

        # dcm转png
        img = pydcm2png.get_pixel_data(file_name)  # 转化
        # print(img)

        # 读取.dcm文件,获取拍摄位信息
        ds = pydicom.read_file(file_name)

        ImageLaterality = ds.ImageLaterality

        ViewPosition = ds.ViewPosition

        pos = ImageLaterality + ViewPosition

        png_dic[index - 1] = [pos, img]  # 文件名序号是从1开始,index-1使其从0开始

    return png_dic
Beispiel #3
0
def dcm2png(folder):

    dict_data = {}
    for filename in sorted(os.listdir(folder)):

        if filename.split(".")[-1] != 'gz':

            # print(filename)
            file_name = os.path.join(folder, filename)  # 连接全路径
            # 获取文件编号(用于和标签的匹配)
            png_name = filename.split(".")[:-1]

            index = int(png_name[0].split('_')[1])

            # dcm转png
            img = pydcm2png.get_pixel_data(file_name)  # 转化

            # 读取图像位置信息
            ds = pydicom.read_file(file_name)

            ImageLaterality = ds.ImageLaterality

            ViewPosition = ds.ViewPosition

            pos = ImageLaterality + ViewPosition

            dict_data[index - 1] = [pos, img]  # 文件名序号是从1开始,index-1使其从0开始

        return dict_data
Beispiel #4
0
def dcm2png(dcm_folder, dcm_name='ExamImage'):
    '''
    将dcm文件转为png文件,并获取dcm信息
    :param dcm_folder_path:例如20110304(该文件夹的目录为20110304/ExamImage/images.dcm)
    :return: png_dic 形式为png_dic[索引] = [拍摄位,img],保存img(保存在png_img/20110304/images.png)
    '''

    # 获取路径
    filepath, filename = os.path.split(dcm_folder)
    # print(dcm_folder)
    # print(filepath, filename)
    dcm_folder_path = os.path.join(dcm_folder, dcm_name)
    # print(dcm_folder_path)
    # exit()

    png_dic = {}  # 字典类型

    for file_name in os.listdir(dcm_folder_path):
        if file_name == '.DS_Store':
            continue

        # 获取文件编号(用于和标签的匹配)
        # print(file_name)
        png_name = file_name.split(".")[:-1]
        # print(png_name)
        index = int(png_name[0].split('_')[1])
        # print(index)
        # exit()

        # dcm转png
        file_path = os.path.join(dcm_folder_path, file_name)
        img = pydcm2png.get_pixel_data(file_path)  # 转化

        # 获取拍摄位信息
        ds = pydicom.read_file(file_path)
        ImageLaterality = ds.ImageLaterality
        # print(ImageLaterality)
        ViewPosition = ds.ViewPosition
        # print(ViewPosition)
        pos = ImageLaterality + ViewPosition
        # print(pos)
        # exit()

        # 存入字典
        png_dic[index - 1] = [pos, img]  # 文件名序号是从1开始,index-1使其从0开始
        # print(png_dic)
        # exit()
    return png_dic
def dcm2png(dcm_file):
    '''
    将dcm文件转为png文件,并获取dcm信息
    :param dcm_folder_path:例如20110304(该文件夹的目录为20110304/ExamImage/images.dcm)
    :return: png_dic 形式为png_dic[索引] = [拍摄位,img],保存img(保存在png_img/20110304/images.png)
    '''
    # 读取dcm 数据
    img = pydcm2png.get_pixel_data(dcm_file)

    # 获取拍摄位信息
    ds = pydicom.read_file(dcm_file)
    ImageLaterality = ds.ImageLaterality
    ViewPosition = ds.ViewPosition
    pos = ImageLaterality + ViewPosition

    return pos, img
Beispiel #6
0
def dcm2png(dcm_file):
    """
    将dcm文件转为png文件,并获取dcm信息
    :param dcm_file: .dcm 文件 例如20110304(该文件夹的目录为20110304/**/images.dcm)
    :return: png_dic 形式为png_dic[索引] = [拍摄位,img],保存img
    """

    # 读取dcm 数据
    img = pydcm2png.get_pixel_data(dcm_file)

    # 获取拍摄位信息
    ds = pydicom.read_file(dcm_file)

    ImageLaterality = ds.ImageLaterality

    ViewPosition = ds.ViewPosition

    pos = ImageLaterality + ViewPosition

    return pos, img
Beispiel #7
0
def dcm2png_liu(dcm_folder, dcm_name):
    '''
    将dcm文件转为png文件,并获取dcm信息
    :param dcm_folder_path:例如20110304(该文件夹的目录为20110304/ExamImage/images.dcm)
    :return: png_dic 形式为png_dic[索引] = [拍摄位,img],保存img(保存在png_img/20110304/images.png)
    '''

    # 获取路径
    dcm_folder_path = os.path.join(dcm_folder, dcm_name)

    # dcm转png
    img = pydcm2png.get_pixel_data(dcm_folder_path)

    # 获取拍摄位信息
    ds = pydicom.read_file(dcm_folder_path)
    ImageLaterality = ds.ImageLaterality
    ViewPosition = ds.ViewPosition
    pos = ImageLaterality + ViewPosition

    # 存入字典
    pos, img  # 文件名序号是从1开始,index-1使其从0开始
    return pos, img