Как определить, является ли одиночный кадр DICOM на самом деле частью МРТ? - PullRequest
4 голосов
/ 15 января 2020

Я пишу приложение для подсчета медицинских карт. Приложение будет считать страницы и делить их на 20, чтобы определить количество фильмов, необходимое для печати записей для клиента. У меня есть шкаф, в котором при сканировании снимков МРТ (особенно если они отображаются как S C), это будет только один кадр, но фильм уже является МРТ с 20 кадрами.

Как определить, один DICOM на самом деле является многокадровым МРТ?

Если я попытаюсь подсчитать количество кадров в файле, я получу 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

Ширина: 2040

Высота: 2500

Ответы [ 2 ]

5 голосов
/ 16 января 2020

У меня есть шкаф, в котором при сканировании МРТ (особенно если они показаны как S C) снимки будут иметь только один кадр, но пленка уже является МРТ с 20 кадрами. Как я могу определить, является ли один дином фактически многокадровым МРТ.

Я не думаю, что вы можете сделать это в этом конкретном случае.
Обратите внимание, что значение [SOP Class UID (0008,0016) ] равен '1.2.840.10008.5.1.4.1.1.7', а [Modality (0008,0060)] равен 'S C'. Также обратите внимание, что значения для многих важных атрибутов ([Study Instance UID (0020,000d)], [Series Instance UID (0020,000e)]) пусты. Вы даже не можете сказать, что этот экземпляр (изображение) является частью какого-либо конкретного исследования для данного пациента.

Многие медицинские приборы / приложения генерируют этот тип набора данных путем обработки исходных наборов данных. Можно сказать, что это метаданные или дополнительные данные оригинальных экземпляров. Это может быть создание 3D или сохранение / сохранение макета DICOM Film для дальнейшего использования или некоторого AI для автоматической диагностики / генерации отчетов или др.

Читая ваш вопрос, похоже, что этот набор данных сохранен DICOM Film для дальнейшего использования , Если это так, вы можете игнорировать этот конкретный набор данных в своих вычислениях; но я не могу быть уверен в этом, так как я не очень хорошо знаю домен для вашего приложения.

Теперь о «ломтике»:

Я не уверен, что именно Вы подразумеваете под "ломтик" здесь. Срез как часть мультикадра? или часть как часть серии? или еще?

В любом случае, как я уже говорил выше, вы не можете определить его в данном конкретном случае.

Если это часть мультикадра, другой ответ из @kritzel_sw объясняет это. В наборе данных нет атрибута [Number Of Frames (0028,0008)].

Если он входит в состав серии, в наборе данных отсутствует UID серии; Вы не можете.

Я не думаю, что этот набор данных каким-либо образом является "срезом". Это больше выглядит автономный набор данных. Итак, опять же, как сказано выше, вы можете пренебречь этим из своих расчетов.

3 голосов
/ 16 января 2020

Если я правильно понял ваш вопрос, вы хотите определить, является ли MR-изображение многокадровым. Тем не менее, обратите внимание, что многокадровое изображение с одним кадром все еще является действительным многокадровым изображением.

Что касается МРТ, в DICOM есть 2 различных класса SOP:

  • 1.2.840.10008.5.1.4.1.1.4 ("традиционная" МРТ)
  • 1.2.840.10008.5.1.4.1.1.4.1 (расширенная МР)

Таблица модулей для традиционных MRI ссылается на модуль пикселя изображения, в который не включен атрибут Number of Frames (0028,0008). Таким образом, традиционный MRI всегда является однокадровым

Таблица модулей для расширенного MR также включает в себя модуль многокадровых функциональных групп, который включает атрибут Number of Frames.

Короче говоря, это зависит от UID класса SOP, может ли атрибут Number Of Frames присутствовать в объекте MRI.

...