Skip to main content

Python中的医学图像处理

项目描述

医学派

GitHub | 文档| 教程| 问题跟踪器| 接触

MedPy是 Python 中用于医学图像处理的库和脚本集合,为读取写入操作任意维度的大图像提供基本功能。它的主要贡献是流行图像过滤器的 n 维版本、图像特征提取器的集合,可与scikit-learn一起使用,以及详尽的 n 维图形切割包。

安装

sudo apt-get install libboost-python-dev build-essential
pip3 install medpy

MedPy需要Python 3并正式支持 Ubuntu 以及其他 Debian 衍生产品。有关其他操作系统的安装说明,请参阅文档。虽然库本身纯粹是用 Python 编写的,但graph-cut扩展是用 C++ 编写的,并且有自己的要求。更多细节可以在文档中找到。

使用 Python 2

不再支持Python 2 。但是您仍然可以使用旧版本。

pip install medpy==0.3.0

开始使用图书馆

如果您已经有格式支持的医学图像(请参阅文档了解详细信息),那就太好了。否则,导航到http://www.nitrc.org/projects/inia19,单击立即下载按钮,解压缩并查找inia19-t1.nii文件。在您最喜欢的医学图像查看器(我个人喜欢itksnap)中打开它并注意:INIA19 灵长类动物大脑图谱。

加载图像

from medpy.io import load
image_data, image_header = load('/path/to/image.xxx')

数据存储在一个 numpy ndarray 中,标头是一个包含附加元数据的对象,例如体素间距。现在让我们看看一些图像元数据

image_data.shape

(168, 206, 128)

image_data.dtype

dtype(float32)

标题给了我们

image_header.get_voxel_spacing()

(0.5, 0.5, 0.5)

image_header.get_offset()

(0.0, 0.0, 0.0)

现在让我们应用MedPy过滤器之一,更准确地说是Otsu 阈值,可用于自动背景去除

from medpy.filter import otsu
threshold = otsu(image_data)
output_data = image_data > threshold

并保存二值图像,标记前景

from medpy.io import save
save(output_data, '/path/to/otsu.xxx', image_header)

看完之后,您可能想深入了解文档中的教程。

开始使用脚本

MedPy带有一系列即读即用的命令行脚本,它们都以medpy_. 要尝试这些示例,请首先获取上一节中描述的图像。现在打电话

medpy_info.py /path/to/image.xxx

将为您提供有关图像的一些详细信息。和

medpy_diff.py /path/to/image1.xxx /path/to/image2.xxx

你可以比较两个图像。和

medpy_anisotropic_diffusion.py /path/to/image.xxx /path/to/output.xxx

允许您应用边缘保持各向异性扩散过滤器。有关所有脚本的列表,请参阅文档

对医学图像格式的读/写支持

MedPy 依赖于 SimpleITK,它支持 ITK 的强大功能来加载和保存图像。支持的图像文件格式至少应包括以下内容。请注意,您的机器可能不支持所有功能。

医疗形式:

  • ITK MetaImage (.mha/.raw, .mhd)
  • 神经影像信息学技术倡议 (NIfTI) (.nia, .nii, .nii.gz, .hdr, .img, .img.gz)
  • 分析 (plain, SPM99, SPM2) (.hdr/.img, .img.gz)
  • 医学数字成像和通信 (DICOM) (.dcm, .dicom)
  • 医学数字成像和通信 (DICOM) 系列 (<目录>/)
  • 近乎原始的栅格数据 (Nrrd) (.nrrd, .nhdr)
  • 医学影像 NetCDF (MINC) (.mnc, .MNC)
  • 伙计们图像处理实验室 (GIPL) (.gipl, .gipl.gz)

显微镜格式:

  • 医学研究委员会 (MRC) (.mrc, .rec)
  • Bio-Rad (.pic, .PIC)
  • LSM(蔡司)显微镜图像(.tif、.TIF、.tiff、.TIFF、.lsm、.LSM)
  • 刺激/信号数据 (SDT) (.sdt)

可视化格式:

  • VTK 图像 (.vtk)

其他格式:

  • 便携式网络图形 (PNG) (.png, .PNG)
  • 联合图像专家组 (JPEG)(.jpg、.JPG、.jpeg、.JPEG)
  • 标记图像文件格式 (TIFF)(.tif、.TIF、.tiff、.TIFF)
  • Windows 位图(.bmp、.BMP)
  • 分层数据格式 (HDF5) (.h5 , .hdf5 , .he5)
  • MSX-DOS 屏幕-x (.ge4, .ge5)

要求

MedPy 带有许多依赖项和可选功能,可能需要您安装其他软件包。

主要依赖

可选功能

  • 编译max-flow/min-cut(启用 GraphCut 功能)

执照

MedPy 是根据 GNU 通用公共许可证分发的,其版本可以在 LICENSE.txt 文件中找到。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

MedPy-0.4.0.tar.gz (151.8 kB 查看哈希

已上传 source