要处理一些.dcm格式的焊接缺陷图像,需要读取和显示.dcm格式的图像。通过搜集资料收集到一些医学影像,并通过pydicom模块查看.dcm格式文件。

若要查看dcm格式文件,可下echo viewer 进行查看。

若用过pycharm进行处理,可选用如下的代码:

# -*-coding:utf-8-*-

import cv2

import numpy

import dicom

from matplotlib import pyplot as plt

dcm = dicom.read_file("dcm")

dcm.image = dcm.pixel_array * dcm.rescaleslope + dcm.rescaleintercept

slices = []

slices.append(dcm)

img = slices[int(len(slices) / 2)].image.copy()

ret, img = cv2.threshold(img, 90, 3071, cv2.thresh_binary)

img = numpy.uint8(img)

im2, contours, _ = cv2.findcontours(img, cv2.retr_list, cv2.chain_approx_simple)

mask = numpy.zeros(img.shape, numpy.uint8)

for contour in contours:

cv2.fillpoly(mask, [contour], 255)

img[(mask > 0)] = 255

kernel = cv2.getstructuringelement(cv2.morph_ellipse, (2, 2))

img = cv2.morphologyex(img, cv2.morph_open, kernel)

img2 = slices[int(len(slices) / 2)].image.copy()

img2[(img == 0)] = -2000

plt.figure(figsize=(12, 12))

plt.subplot(131)

plt.imshow(slices[int(len(slices) / 2)].image, 'gray')

plt.title('original')

plt.subplot(132)

plt.imshow(img, 'gray')

plt.title('mask')

plt.subplot(133)

plt.imshow(img2, 'gray')

plt.title('result')

plt.show()

也可用如下代码:

import pydicom

import os

import numpy

from matplotlib import pyplot, cm

# 用lstfilesdcm作为存放dicom files的列表

pathdicom = "dicom/2" #与python文件同一个目录下的文件夹

lstfilesdcm = []

for dirname,subdirlist,filelist in os.walk(pathdicom):

for filename in filelist:

if ".dcm" in filename.lower(): #判断文件是否为dicom文件

print(filename)

lstfilesdcm.append(os.path.join(dirname,filename)) # 加入到列表中

## 将第一张图片作为参考图

refds = pydicom.read_file(lstfilesdcm[0]) #读取第一张dicom图片

# 建立三维数组

constpixeldims = (int(refds.rows),int(refds.columns),len(lstfilesdcm)) # 得到spacing值 (mm为单位)

constpixelspacing = (float(refds.pixelspacing[0]), float(refds.pixelspacing[1]), float(refds.slicethickness))

# 三维数据

x = numpy.arange(0.0, (constpixeldims[0]+1)*constpixelspacing[0], constpixelspacing[0]) # 0到(第一个维数加一*像素间的间隔),步长为constpixelspacing

y = numpy.arange(0.0, (constpixeldims[1]+1)*constpixelspacing[1], constpixelspacing[1]) #

z = numpy.arange(0.0, (constpixeldims[2]+1)*constpixelspacing[2], constpixelspacing[2]) #

arraydicom = numpy.zeros(constpixeldims, dtype=refds.pixel_array.dtype)

for filenamedcm in lstfilesdcm:

ds = pydicom.read_file(filenamedcm)

arraydicom[:, :, lstfilesdcm.index(filenamedcm)] = ds.pixel_array # 轴状面显示

pyplot.figure(dpi=300)

pyplot.axes().set_aspect('equal', 'datalim')

pyplot.set_cmap(pyplot.gray())

pyplot.pcolormesh(x, y, numpy.flipud(arraydicom[:, :, 2])) # 第三个维度表示现在展示的是第几层

pyplot.show()

这两个代码都是可以进行读取的。但是不知道为什么在焊接检测中的dcm图像却无法进行读取。

以上这篇.dcm格式文件软件读取及python处理详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持萬仟网。

希望与广大网友互动??

点此进行留言吧!

pydicom读取头文件_.dcm格式文件软件读取及python处理详解相关推荐

  1. import引入json文件_关于TypeScript中import JSON的正确姿势详解

    前言 Typescript是微软内部出品的,用actionscript的语法在写js的一门新语言,最近 TypeScript 中毒,想想我一个弱类型出身的人,怎么就喜欢上了类型约束--当然这不是重点, ...

  2. 编写一个程序、读取一个python源程序文件_编写一个程序,读取一个python源文件,将文件中所有除保留字外的小写字母换成大写字母,生成后的文件要能被python解释器正确执行。...

    [简答题]完成教材第4章 实训2 实训3 课后习题中的操作题3,4,5 请提交代码截图和效果截图 [单选题]病毒不包括以下成分 [填空题]酵母菌的繁殖方式主要是 . [判断题]在观察显微镜时,要遵循由 ...

  3. .dcm格式文件软件读取及python处理

    要处理一些.DCM格式的焊接缺陷图像,需要读取和显示.dcm格式的图像.通过搜集资料收集到一些医学影像,并通过pydicom模块查看.dcm格式文件.若要查看dcm格式文件,可下Echo viewer ...

  4. 把img映象文件转化为dcm格式文件

    上一篇说到用matlab和spm软件将医学图片dcm格式转为img格式,想到反过来该怎么做,见有人做过就刚好转一下学习.跟用软件不同的是这里是用matlab编程获得,就是把三维的img图像分离出多个二 ...

  5. msg文件转成html文件,如何将MSG格式的文件转换为PDF格式文件?

    三.如何将MSG格式的文件转换为PDF格式的文件? 想要随时查看MSG格式文件的话,格式转换就成为了理想的途径,下面将教大家将MSG格式的文件转换为PDF格式文件三种方式,一起去学习一下吧. 1.借助 ...

  6. mhd格式三维图像显示_关于医疗影像的mhd和dcm格式图像的读取和坐标转换

    本篇博客主要对近年来大赛(Luna16,kaggle,天池)中使用的肺部图像的读取和坐标转换进行整理,如果有错误,欢迎批评指正,谢谢. 1 介绍mhd格式的数据: 数据可以在Luna16(https: ...

  7. pythoncsv格式_python实现csv格式文件转为asc格式文件的方法

    一.背景描述 csv格式文件是一种类似于excel的文件格式 asc格式文件是一种可以用text打开的文本文件 csv转asc本来可以用arcgis顺利完成,但由于csv数据量太大(744万行),ar ...

  8. python 读取csv文件转成字符串,python实现csv格式文件转为asc格式文件的方法

    一.背景描述 csv格式文件是一种类似于excel的文件格式 asc格式文件是一种可以用text打开的文本文件 csv转asc本来可以用arcgis顺利完成,但由于csv数据量太大(744万行),ar ...

  9. Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件

    Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件 目录 利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件 1.先下载ff ...

最新文章

  1. boost::describe模块宏BOOST_DESCRIBE_PP_FOR_EACH的测试程序
  2. ubuntu 14.04 如何设置静态ip
  3. frame越过另一个frame_拥抱swoole(三)之用php实现一个混合服务器
  4. odoo的 CRM系统为何如此受欢迎
  5. 吉日嘎拉DotNet.BusinessV4.2中的一处bug,及我的修复和扩展
  6. 中油即时通信电脑版_一文看懂云视频会议与即时聊天软件的差别
  7. Java项目——Everything 开发思路
  8. android dmp文件解析,用minidump_stackwalk分析dmp文件失败
  9. 计算机配置很高 但是很卡,电脑配置高但很卡_电脑配置很高但还是很卡是怎么回事啊?...
  10. kotlin serialization 使用指南(一)
  11. 对团队中“这是某某某的问题”引起的思考
  12. Yourkit 监控Jetty(stand-alone)
  13. 网传美团今年应届生年薪 35w+,严重倒挂老员工,为什么互联网大厂校招的薪资一年比一年高?
  14. 拿到阿里50K offer的数据分析师,都是什么水平?
  15. 自动驾驶中图像与点云融合的深度学习研究综述
  16. 一次业务逻辑优化,竟然解决了MySQL CPU消耗800%的性能问题!
  17. 高内聚低耦合是什么含义,怎么实现?
  18. 7-45 航空公司VIP客户查询 (25 分)
  19. 河北师范大学的计算机专业好吗,河北师范大学计算机应用技术到底咋样啊?
  20. buuctf刷题-Crypto-联想脑洞-达芬奇密码

热门文章

  1. 银行笔试题目汇总——英语能力测试
  2. Arduino-UNO MPU9250/6500
  3. CAN log之blf/vsb/asc/trc
  4. html5魔塔存档模块,魔塔世界完整版源码
  5. 2020.6.29 概率统计-Task04-方差分析
  6. python写软件实例-如何编写Python软件开发文档(7个技巧)
  7. vue-cli3.x创建项目失败
  8. 《Journal of Renewable and Sustainable Energy》期刊介绍(SCI 4区)
  9. 深度解读:云网融合的多云网络
  10. mongodb的linux安装和客户端链接步骤