如何确定单帧DICOM是否实际上是MRI切片?

5

我正在编写一个计算医疗记录的应用程序。该应用程序将计算页面数并除以20,以确定打印记录所需电影的数量。 在扫描MRI的情况下,我遇到一个问题,有些镜头(特别是显示为SC的镜头)只有一个帧,但是电影已经是一个20帧的MRI。

如何确定单个DICOM实际上是多帧MRI?

如果我尝试对文件进行帧计数,会得到1。以下是其中一个文件的DICOM转储:

(0005,0005) CS Private Creator 'NovaRad 6.0'
(0005,0006) SS Private Creator '1'
(0005,000b) CS Private Creator 'DOCTOR BOB'
(0005,0059) PN Private Creator 'PATIENT'
(0008,0000) UL Group Length '296'
(0008,0005) CS Specific Character Set 'ISO_IR 100'
(0008,0016) UI SOP Class UID '1.2.840.10008.5.1.4.1.1.7'
(0008,0018) UI SOP Instance UID '1.2.392.12345.030815.2015.8.4.10.38.18.63'
(0008,0020) DA Study Date '20131229'
(0008,0030) TM Study Time '102725'
(0008,0050) SH Accession Number ''
(0008,0060) CS Modality 'SC'
(0008,0064) CS Conversion Type 'DF'
(0008,0070) LO Manufacturer 'Radlink'
(0008,0080) LO Institution Name ''
(0008,0090) PN Referring Physician's Name 'DOCTOR BOB'
(0008,1010) SH Station Name ''
(0008,1030) LO Study Description 'L/SPINE MRI'
(0008,103e) LO Series Description ''
(0008,1090) LO Manufacturer's Model Name 'Radlink LaserPro16'
(0010,0000) UL Group Length '78'
(0010,0010) PN Patient's Name 'PATIENT'
(0010,0020) LO Patient ID ''
(0010,0030) DA Patient's Birth Date ''
(0010,0040) CS Patient's Sex 'M'
(0010,1000) LO Other Patient IDs ''
(0010,21b0) LT Additional Patient History ''
(0018,0000) UL Group Length '38'
(0018,0015) CS Body Part Examined ''
(0018,1012) DA Date of Secondary Capture '20141229'
(0018,1014) TM Time of Secondary Capture '102725'
(0020,0000) UL Group Length '132'
(0020,000d) UI Study Instance UID ''
(0020,000e) UI Series Instance UID ''
(0020,0010) SH Study ID '1'
(0020,0011) IS Series Number '1'
(0020,0013) IS Instance Number '2'
(0028,0000) UL Group Length '152'
(0028,0002) US Samples per Pixel '1'
(0028,0004) CS Photometric Interpretation 'MONOCHROME2'
(0028,0010) US Rows '2500'
(0028,0011) US Columns '2040'
(0028,0030) DS Pixel Spacing '0.1736328125'
(0028,0100) US Bits Allocated '16'
(0028,0101) US Bits Stored '16'
(0028,0102) US High Bit '15'
(0028,0103) US Pixel Representation '0'
(0028,1050) DS Window Center '42343'
(0028,1051) DS Window Width '29336'
(0028,2110) CS Lossy Image Compression '01'
(0028,2112) DS Lossy Image Compression Ratio '7.512827'
(0032,0000) UL Group Length '26'
(0032,000a) CS Study Status ID ''
(0032,000c) CS Study Priority ID '0'
(0032,1030) LO Reason for Study ''
(0040,0000) UL Group Length '8'
(0040,0241) AE Performed Station AE Title ''
(0040,1003) SH Requested Procedure Priority 'ROUTINE'
(0050,0065) CS Unknown 'DOCTOR BOB'
(7fe0,0000) UL Group Length '10200012'
(7fe0,0010) OW Pixel Data ''

以下是关于帧数、高度和宽度的代码:

number-of-frames, height 和 width:

DicomImage image = new DicomImage(ctFile.Dataset);
Console.WriteLine(image.NumberOfFrames);
Console.WriteLine(image.Width);
Console.WriteLine(image.Height);

给我:

帧数: 1

宽度: 2040

高度: 2500


1
所有研究的帧都存储在哪里?它们放在一个文件夹中吗?如果文件夹包含多个帧,那么文件夹中的文件数量是否意味着有额外的帧存在? - jdweng
从我所看到的,@jdweng似乎只有一个框架。我认为这是从MRI扫描的所有帧中扫描出来的单个JPEG图像。我自认在DICOM方面不是专家。非常感谢任何帮助。 - bumble_bee_tuna
1
我也不是专家。我曾经读过规范,但不记得所有细节。文件夹中有多少个JPEG文件?文件的大小是多少?文件大小会非常大。我现在就把上次体检得到的磁盘放在身边。如果明天有机会,我会查看磁盘。 - jdweng
2个回答

5
我有一个衣柜情况,当MRI扫描(特别是如果显示为SC)拍摄时,它只会有一个框架,但电影已经是20帧MRI。如何确定单个DICOM是否实际上是多帧MRI。
在这种情况下,我认为您不能做到这一点。请注意,[SOP Class UID(0008,0016)]的值为“1.2.840.10008.5.1.4.1.1.7”,[模态(0008,0060)]为“SC”。还要注意许多重要属性([研究实例UID(0020,000d)],[系列实例UID(0020,000e)])的值为空。您甚至不能说这个实例(图像)是该患者任何特定研究的一部分。
许多医疗设备/应用程序通过处理原始数据集生成此类数据集。我们可以说这是原始实例的元数据或附加数据。它可能正在生成3D或存储/保存DICOM胶片布局以供进一步使用或用于自动诊断/报告生成等。
看了您的问题,似乎这个数据集是DICOM Film,以便进行进一步使用。如果是这种情况,您可以忽略此特定数据集的计算;但是,由于我不太了解您的应用程序领域,所以我不能确定这一点。
现在,关于“切片”:
我不确定您在这里所指的“切片”,是作为多帧的一部分?还是作为系列的一部分?还是其他?
无论如何,正如我上面所说,您不能在此特定情况下确定它。
如果它作为多帧的一部分,则@kritzel_sw的其他答案解释了这一点。数据集中没有[编号框架(0028,0008)]属性。
如果它作为系列的一部分,则数据集中没有系列UID;你不能。
我不认为该数据集以任何方式都是“切片”。这似乎更像是独立数据集。因此,如上所述,您可以忽略这个。

1
出于HIPA方面的考虑,我已删除了系列和研究ID。感谢您提供的额外信息。 - bumble_bee_tuna
这非常符合我的结论,因为缺少标签。因此,即使DICOM本身将其视为20个单独的幻灯片,除非编写图像算法来分析实际JPEG的帧数,否则没有其他方法? - bumble_bee_tuna

3
如果我理解正确,您想确定MR图像是否为多帧图像。但请注意,仅有一帧的多帧图像仍然是有效的多帧图像。
关于MRI,在DICOM中有2种不同的SOP类:
1.2.840.10008.5.1.4.1.1.4(“传统”MRI) 1.2.840.10008.5.1.4.1.1.4.1(增强型MR)
传统MRI的模块表引用了图像像素模块,其中未包括帧数属性(0028,0008)。因此,传统MRI始终为单帧。
Enhanced MR的模块表还包括多帧功能组模块,其中包括帧数属性。
简而言之,帧数属性是否出现在MRI对象中取决于SOP类UID。

1
“只有一个帧的多帧图像仍然是有效的多帧图像”。那么,哪个属性将识别数据集是否为多帧呢?在这种情况下,“帧数(0028,0008)”将为1。您是建议检查像素数据是否存储在片段中吗?还是建议查看SOP类?或者其他? - Amit Joshi
2
仅检查SOP类UID和属性值应该就足够了。 - Markus Sabin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接