从 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")
我正在研究 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")