【发布时间】:2012-11-25 14:02:26
【问题描述】:
我需要裁剪 Dicom 系列并将结果再次保存为 Dicom 系列,保留有关位置的信息。我的问题类似于DICOM File compression,但不幸的是所有答案都是关于压缩而不是裁剪。
另一个问题是原始系列非常大,我无法将其全部加载到计算机的内存中(但如果需要,我可以使用 Unix 服务器进行计算)。
我尝试使用 ITK:我复制了示例 DicomSeriesReadSeriesWrite.cxx(在 ITK 软件指南中描述),在写入之前使用了cropimageFilter。问题是使用指令
seriesWriter->SetMetaDataDictionaryArray(reader->GetMetaDataDictionaryArray() );
在结果中,图像位置 (0020,0037) 的第三维始终设置为 0。如果我评论该指令,图像位置是正确的,但图像编号 (0020,0013) 和 SliceLocation (0020,1041) 是不是,并且结果系列不会像 Osirix 那样在某些软件中加载。
我也尝试过使用 Dicom2 (http://www.barre.nom.fr/medical/dicom2/)。同样,图像裁剪得很好,但元数据不一致(它们与原始图像相同)。
我曾尝试使用 Amira,但除了内存问题外,将裁剪数据保存为 dicom 的过程会忽略原始 dicom 标签(例如图像位置为 [-1.#ND/-1.#ND/-1 .#ND],以及“系列日期”等其他标签更改)。
【问题讨论】:
-
这是横截面数据还是您只是在一系列 2D 投影图像中裁剪每个图像?如果是横截面数据,您是在平面内、通过平面还是两者都进行裁剪?
-
数据是一个 3D 体积,所以它是一系列切片。我只需要一个子卷。我可以只选择感兴趣的切片,但这还不够,我还需要在平面内裁剪。