如何确定单帧 DICOM 是否真的是 MRI 切片?
How to determine if single frame DICOM is actually slice of MRI?
我正在编写一个统计病历的应用程序。该应用程序将计算页数并将其除以 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 ''
以下是帧数、高度和宽度的代码:
DicomImage image = new DicomImage(ctFile.Dataset);
Console.WriteLine(image.NumberOfFrames);
Console.WriteLine(image.Width);
Console.WriteLine(image.Height);
给我:
NumFrames: 1
Width: 2040
Height: 2500
如果我答对了你的问题,你想确定 MR 图像是否是多帧图像。但是请注意,只有一帧的多帧图像仍然是有效的多帧图像。
关于 MRI,DICOM 中有 2 种不同的 SOP Class:
- 1.2.840.10008.5.1.4.1.1.4("traditional" 核磁共振)
- 1.2.840.10008.5.1.4.1.1.4.1(增强 MR)
传统 MRI 模块 table 引用图像像素模块,其中不包括属性帧数 (0028,0008)。所以传统的MRI总是单帧的
增强型 MR 的模块 table 还包括多帧功能组模块,其中包含属性帧数。
长话短说,这取决于 SOP Class UID 属性帧数是否可能存在于 MRI 对象中。
I have a closet case where when MRI's are scanned (especially if they show as SC) shots it will only be one frame but the film is already a 20 frame MRI. How can I determine if the a single dicom is actually a multi frame MRI.
我不认为你可以在这种特殊情况下这样做。
请注意,[SOP Class UID (0008,0016)
] 的值为“1.2.840.10008.5.1.4.1.1.7”,而 [Modality (0008,0060)
] 的值为 'SC'。另请注意,许多重要属性 ([Study Instance UID (0020,000d)
]、[Series Instance UID (0020,000e)
]) 的值都是空的。你甚至不能说这个实例(图像)是针对该患者的任何特定研究的一部分。
许多医学equipments/applications通过处理原始数据集生成这种类型的数据集。我们可以说这是原始实例的元数据或附加数据。它可能正在生成 3D 或 storing/saving DICOM 胶片布局以供进一步使用或生成一些 AI 用于自动 diagnosis/report-generation 或其他。
阅读您的问题后,该数据集似乎已保存为 DICOM 胶片以供进一步使用。如果是这种情况,您可能会在计算中忽略这个特定的数据集;但我不能确定这一点,因为我不太了解您的应用程序的域。
现在关于 "slice":
我不确定您在这里所说的 "slice" 到底是什么意思。切片作为多帧的一部分?或切片作为系列的一部分?否则?
无论如何,正如我上面所说,您不能在这种特殊情况下确定它。
如果它是作为多帧的一部分,来自@kritzel_sw的解释了它。数据集中没有 [Number Of Frames (0028,0008)
] 属性。
如果是series的一部分,dataset中没有Series UID;你不能。
我不认为这个数据集在任何方面都是 "slice"。这更像是独立的数据集。所以再一次,如上所述,你可能会在计算中忽略这一点。
我正在编写一个统计病历的应用程序。该应用程序将计算页数并将其除以 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 ''
以下是帧数、高度和宽度的代码:
DicomImage image = new DicomImage(ctFile.Dataset);
Console.WriteLine(image.NumberOfFrames);
Console.WriteLine(image.Width);
Console.WriteLine(image.Height);
给我:
NumFrames: 1
Width: 2040
Height: 2500
如果我答对了你的问题,你想确定 MR 图像是否是多帧图像。但是请注意,只有一帧的多帧图像仍然是有效的多帧图像。
关于 MRI,DICOM 中有 2 种不同的 SOP Class:
- 1.2.840.10008.5.1.4.1.1.4("traditional" 核磁共振)
- 1.2.840.10008.5.1.4.1.1.4.1(增强 MR)
传统 MRI 模块 table 引用图像像素模块,其中不包括属性帧数 (0028,0008)。所以传统的MRI总是单帧的
增强型 MR 的模块 table 还包括多帧功能组模块,其中包含属性帧数。
长话短说,这取决于 SOP Class UID 属性帧数是否可能存在于 MRI 对象中。
I have a closet case where when MRI's are scanned (especially if they show as SC) shots it will only be one frame but the film is already a 20 frame MRI. How can I determine if the a single dicom is actually a multi frame MRI.
我不认为你可以在这种特殊情况下这样做。
请注意,[SOP Class UID (0008,0016)
] 的值为“1.2.840.10008.5.1.4.1.1.7”,而 [Modality (0008,0060)
] 的值为 'SC'。另请注意,许多重要属性 ([Study Instance UID (0020,000d)
]、[Series Instance UID (0020,000e)
]) 的值都是空的。你甚至不能说这个实例(图像)是针对该患者的任何特定研究的一部分。
许多医学equipments/applications通过处理原始数据集生成这种类型的数据集。我们可以说这是原始实例的元数据或附加数据。它可能正在生成 3D 或 storing/saving DICOM 胶片布局以供进一步使用或生成一些 AI 用于自动 diagnosis/report-generation 或其他。
阅读您的问题后,该数据集似乎已保存为 DICOM 胶片以供进一步使用。如果是这种情况,您可能会在计算中忽略这个特定的数据集;但我不能确定这一点,因为我不太了解您的应用程序的域。
现在关于 "slice":
我不确定您在这里所说的 "slice" 到底是什么意思。切片作为多帧的一部分?或切片作为系列的一部分?否则?
无论如何,正如我上面所说,您不能在这种特殊情况下确定它。
如果它是作为多帧的一部分,来自@kritzel_sw的Number Of Frames (0028,0008)
] 属性。
如果是series的一部分,dataset中没有Series UID;你不能。
我不认为这个数据集在任何方面都是 "slice"。这更像是独立的数据集。所以再一次,如上所述,你可能会在计算中忽略这一点。