欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

fo-dicom对多帧dicom图像的拆分

程序员文章站 2022-03-02 10:42:06
...

fo-dicom对多帧dicom图像的拆分

Dicom多帧数据存储

在Dicom标准中,关于多帧数据存储的最重要部分之一的说明是 PS3.5 Annex A.4 A.4 Transfer Syntaxes for Encapsulation of Encoded Pixel Data。 在Dicom格式中,Pixel Data存放在Pixel Data(7FE0,0010)中,直接存放(native)或者打包存放(ncapsulated)。一般的多帧序列均采用打包存放的方式,特别是在数据采用压缩格式的时候。

fo-dicom中的PixelData

 			DicomDataset oldDataSet = new DicomDataSet();//new with your file
 			var frames = oldDataSet.GetSingleValue<int>(DicomTag.NumberOfFrames);
            DicomPixelData oldPixelData = DicomPixelData.Create(oldDataSet);
            var buffer = oldPixelData.GetFrame(frames - 1);

            DicomDataset newDataset = request.Dataset.Clone();
            DicomPixelData newPixelData = DicomPixelData.Create(newDataset, true);
            newPixelData.AddFrame(buffer);

上述代码通过获取Dicom图像的帧数,利用PixelData新生成了一个只拥有最后一帧图像的Dataset,完成了对多帧Dicom图像的拆分。