将DICOM文件堆叠成一个多切片系列

问题描述 投票:0回答:1

我正在尝试将不同的DICOM文件堆叠到一个多切片系列中,以便在ITK-Snap上可视化它们。但是,我似乎无法获得正常运行的DICOM系列。

我已根据切片定位对所有文件进行了排序,并且我有许多有序的单个.dcm文件及其原始信息。我用一个单独的uid替换了他们所有的原始系列实例UID,并且他们的系列号用一个自定义系列号我设置为'999'(所以使它们属于一个系列)。所有文件的图像方向设置为[1;0;0;0;1;0],所有文件的切片厚度设置为8 mm。然后我创建了一个信息结构数组,原始切片positionings [info(num)]

我尝试过类似的东西:

for i=1:num %where num is the number of dicom files
k = num2str(i);
dicomwrite(imm,k,info(i),'CreateMode','Copy'); %where imm is the matrix I obtained with dicomread
end

我已经获得了一组新的dicom文件,命名为从1到num的数字,但是当我尝试在ITK-snap上打开系列时,它会遇到一个异常,说明向量太长。我可以在ITK-snap上打开单个dicom文件,但是当系列中有多个图像时,系列可视化为256x212xnum,其中num是文件数,我遇到了异常。

我究竟做错了什么?

matlab dicom
1个回答
0
投票

你要做的是被称为Multi-frame in the DICOM standard。简而言之,您需要确保所有图像元数据仍然正确,然后指定Number of Frames (0028,0008)Frame Increment Pointer (0028,0009)。不幸的是,关于Frame Increment Pointer标签究竟如何工作的措辞有点含糊:

多帧图像中的帧应作为逻辑序列传送。确定帧顺序的信息应由帧增量指针(0028,0009)传送的数据元素标签或标签识别。支持多帧模块的每个特定图像IOD专门用于帧增量指针(0028,0009)以识别可用作序列的属性。

即使只存在单个帧,仍然需要存在帧增量指针(0028,0009)并且至少有一个值,每个值都应指向同样存在于数据集中且具有值的属性。 。 1

希望有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.