从 2D 图像创建 .mhd 文件

Create .mhd File from 2D Images

我正在研究 medikal 中的 3d 重建,我有图像数据集,其中包含大量 2d 图像我的代码需要一个 .raw 文件如何将我的图像转换为 .raw 文件 (我的图像是 png 文件,输出应该是 .mhd 文件) 我将此 .mhd 文件用于我的代码:

   ObjectType = Image
NDims = 3
BinaryData = True
BinaryDataByteOrderMSB = False
CompressedData = False
TransformMatrix = -1 0 0 0 1 0 0 0 -1
Offset = 0 0 0
CenterOfRotation = 0 0 0
AnatomicalOrientation = LAS
ElementSpacing = 0.9375 0.9375 1.5
ITK_InputFilterName = MetaImageIO
DimSize = 256 256 94
ElementType = MET_SHORT
ElementDataFile = FullHead.raw

但是我需要一个 .raw 文件来使用 .mhd 文件另一方面我无法从 png 图像to.rawfile转换

你必须指定,你有什么样的输入数据。他们是例如DICOM 图像? TIFF?还有其他格式吗?如果您提供一张示例图片,这将是最简单的。

再想想,你需要什么样的输出? MHD (MetaImage Header) 通常只包含元数据,RAW 是精确图像。

改进以下答案

原始数据就是你读过的png图片的内容。所以简单地读取图像,将 2D 矩阵更改为 1D 数组并连接所有文件:

from PIL import Image
import numpy as np
slices = []
for afile in imageList:
    img = Image.open(afile).convert('L')
    arr = np.array(img).flatten('C')  #if image gets transposed, then 
flatten('F')
    slices.append(arr)

arr2 = np.array(slices).flatten('C').astype('short')
arr2.tofile("OutputFile.raw")