1

我有一个 .hdr 文件,其中包含从 MRI 扫描中获取的图像数据。

现在我需要知道如何操作这些类型的文件以使用 python 对它们进行图像处理(例如 3d 中值滤波,将一个图像除以另一个图像)。

4

3 回答 3

2

一个更轻量级的解决方案是使用该nibabel库:

http://nipy.org/nibabel/

如您所见,它与 nipy 共享许多功能(以及开发人员......),但它是纯 python 并且实际上仅用于进行神经影像数据格式 I/O

于 2014-05-01T11:24:41.220 回答
2

我想出了一个解决方案:您可以使用 nipy 模块。这样您就可以使用它来加载 .hdr 文件(假设 .img 文件位于同一路径中),然后您可以将其另存为不同的文件,特别是 .nii,这会将它们组合在一起。这样,您可以让 numpy 将其视为 ndarray,瞧,现在可以进行图像处理了!(只需确保从图像中加载数据,以便您可以将其视为 numpy 数组)参见此处

于 2013-06-20T16:30:19.290 回答
1

您可以使用 python 中的 nibabel 库在 python 中加载 .hdr 和 .img 图像。这是链接 - https://nipy.org/nibabel/reference/nibabel.html#module-nibabel

要加载 .hdr 和 .img 图像,请使用以下代码。

import nibabel as nb
img = nb.load("file.img")
hdr = nb.load("file.hdr")

您可以使用 matplotlib 绘制 .img 文件并打印“hdr”的内容以检查元数据。

此外,必须注意,“img”也是一个颠簸的内存映射文件,您可以像处理 ndarray 一样操作它。

于 2020-04-21T03:15:07.473 回答