我正在尝试将一系列彩色图像写入Matlab中的dicom文件。每个图像都是uint16
类型。该序列存储在名为output
的4D矩阵中,其大小为200x360x3x360(行数xs cols数x x通道数x x图像数)。当我执行dicomwrite(output,'outputfile.dcm')
时,它会出现以下错误:
它表示数据位深度为8,但我确保每个图像都是16位。不确定出了什么问题。
dicomwrite
的{{3}}表示它也可以写彩色图像。事实上,dicomread
可以读取彩色dicom图像,使得存储读取数据的矩阵的大小为200x360x3x360。所以我想也应该可以使用dicomwrite
来编写彩色图像。在这方面的任何帮助表示赞赏。有一个documentation,但它没有谈论彩色图像序列。
答案 0 :(得分:4)
JohnnyQ的评论是正确的。 在{A.3.5.4节中的From this page,它们列出了多帧真彩色SC图像IOD内容约束(部分列表引用):
在图像像素模块中,以下约束适用:
- 每像素样本(0028,0002)应为3
- 分配的位数(0028,0100)应为8
- 存储位(0028,0101)应为8
- 高位(0028,0102)应为7
- 像素表示(0028,0103)应为0
似乎matlab不会为你做转换,所以你应该将每个16位颜色通道下变换为8位用于DICOM