Python可视化mhd格式和raw格式的医学图像并保存的方法
mhd格式的文件里面包含的是raw图像的一些头信息,比如图片大小,拍摄日期等等,那么如何可视化图像呢?
import cv2 import SimpleITK as sitk import matplotlib.pyplot as plt import numpy as np image =sitk.ReadImage(path) image = sitk.GetArrayFromImage(image) #image = np.squeeze(image[slice, ...]) # if the image is 3d, the slice is integer plt.imshow(image,cmap='gray') plt.axis('off') plt.show() cv2.imwrite('1.png',image)
这里path是mhd文件的路径,并且在该路径下需要有相应的raw文件
这里展示一下我的mdk文件和保存的png文件
在这里如果cv2和ITK模块没有的话可以用pip安装
pip install opencv-python pip install SimpleITK
以上这篇Python可视化mhd格式和raw格式的医学图像并保存的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Python使用post及get方式提交数据的实例
最近在使用Python的过程中,发现网上很少提到在使用post方式时,怎么传一个数组作为参数的示例,此处根据自己的实践经验,给出相关示例: 单纯的post请求: def http_post(): url = "http://152.1.12.11:8080/web" postdata = dict(d=2, p=10) post = [] post.append(postdata) req = urllib2.Request(url, json.dumps(post)) #需要是jso
-
正确理解Python中if __name__ == '__main__'
在Python,我们经常会编写 if __name__ == '__main__' 这么一段代码,这段代码该怎么来理解? 这段代码的功能理解如下: 一个python的文件有两种使用的方法: 作用一,直接作为脚本执行. 作用二,import到其他的python脚本中被调用(模块重用)执行. if __name__ == '__main__': 的作用就是控制这两种情况执行代码的过程,在if __name__ == '__main__': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执
-
Python字典的核心底层原理讲解
字典对象的核心是散列表.散列表是一个稀疏数组(总是有空白元素的数组),数组的每个单元叫做 bucket.每个 bucket 有两部分:一个是键对象的引用,一个是值对象的引用.所有 bucket 结构和大小一致,我们可以通过偏移量来读取指定 bucket.下面通过存储与获取数据的过程介绍字典的底层原理. 存储数据的过程 例如,我们将'name' = '张三' 这个键值对存储到字典map中,假设数组长度为8,可以用3位二进制表示. >>> map = {} >>> map
-
在python中利用opencv简单做图片比对的方法
下面代码中利用了两种比对的方法,一 对图片矩阵(m x m)求解特征值,通过比较特征值是否在一定的范围内,判断图片是否相同.二 对图片矩阵(m x m)中1求和,通过比较sum和来比较图片. # -*- coding: utf-8 -*- import cv2 as cv import numpy as np import os file_dir_a='C:\Users\wt\Desktop\data\image1\\' file_dir_b='C:\Users\wt\Desktop\data\
-
python列表操作之extend和append的区别实例分析
本文实例讲述了python列表操作之extend和append的区别.分享给大家供大家参考.具体如下: li = ['a', 'b', 'c'] li.extend(['d', 'e', 'f']) print li print len(li) print li[-1] li = ['a', 'b', 'c'] li.append(['d', 'e', 'f']) print li print len(li) print li[-1] 运行结果如下: ['a', 'b', 'c', 'd', '
-
python append、extend与insert的区别
最近在自学Python语言,看到向列表增加更多数据时被append(),extend(),insert()方法绕晕了. append 和extend都只需要一个参数,并且自动添加到数组末尾,如果需要添加多个,可用数组嵌套,但是 append是将嵌套后的数组作为一个对象, extend是将嵌套的数组内容作为多个对象,添加到原数组中 作为编程0基础的小白,觉得有必要自己再梳理一遍: 1.append()方法是指在列表末尾增加一个数据项. 例如:在students列表末尾增加"Gavin"
-
python list中append()与extend()用法分享
1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型. 2. append() 方法向列表的尾部添加一个新的元素.只接受一个参数.3. extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中. append()用法示例: >>> mylist = [1,2,0,'abc'] >>> mylist [1, 2, 0, 'abc'] >>> mylist.append(4) >>> myl
-
对python读取CT医学图像的实例详解
需要安装OpenCV和SimpleItk. SimpleItk比较简单,直接pip install SimpleItk即可. 代码如下: #coding:utf-8 import SimpleITK as sitk import cv2 #LKDS-00058,-102.655469971,108.188810974,438.759994507,12.2279986879 if __name__ == '__main__': filename = "F:/cancer_solution/data
-
Python中extend和append的区别讲解
append() 方法向列表的尾部添加一个新的元素.只接受一个参数. >>> num = [1,2] >>> num.append(3) >>> num [1, 2, 3] >>> num.append('a') >>> num [1, 2, 3, 'a'] >>> num.append(6,7) Traceback (most recent call last): File "<p
-
Python对象与引用的介绍
对象 Python 中,一切皆对象.每个对象由:标识(identity).类型(type).value(值)组成. 1. 标识用于唯一标识对象,通常对应于对象在计算机内存地址.使用内置函数 id(obj)可返回对象 obj 的标识. 2. 类型用于表示对象存储的"数据"的类型.类型可以限制对象的取值范围以及可执行的操作.可以使用 type(obj)获得对象的所属类型. 3. 值表示对象所存储的数据的信息.使用 print(obj)可以直接打印出值. 对象的本质:一个内存块,拥有特定的值
随机推荐
- 手把手教你用Hexo+Github搭建属于自己的博客(详细图文)
- xhEditor 免费的国产HTML在线编辑器
- angular实现form验证实例代码
- c++函数指针使用示例分享
- VC++中HTControl的CHTButton按钮控件类用法实例解析
- PHP生成及获取JSON文件的方法
- javascript函数的四种调用模式
- 微信小程序“摇一摇”的实例代码
- 中文姓名笔画计算(VBS脚本版)
- JavaScript操作cookie类实例
- 容易引起沙盒效应的SEO细节[站长必看]
- 提问的智慧(2)
- Android利用AsyncTask异步类实现网页内容放大缩小
- 浅谈Vue-cli 命令行工具分析
- php根据命令行参数生成配置文件详解
- Python PIL读取的图像发生自动旋转的实现方法
- layer弹出层自定义提交取消按钮的例子
- element-ui upload组件多文件上传的示例代码
- 易语言实现文件夹加密的代码
- 有关Python的22个编程技巧