Создание файла dicom H.264 / AVC с помощью DCMTK

У кого-нибудь есть ЛЮБАЯ информация о создании действительного файла DICOM с помощью DCMTK?

1.2.840.10008.1.2.4.100 MPEG2 Main Profile Main Level
1.2.840.10008.1.2.4.102 MPEG-4 AVC/H.264 High Profile / Level 4.1    
1.2.840.10008.1.2.4.103 MPEG-4 AVC/H.264 BD-compatible High Profile / Level 4.1

Я понимаю, что MPEG-4 в настоящее время не выпущен, но он находится в их ветке разработки. Могу предположить, что процесс создания MPEG2 будет похож на MPEG-4?

Чтобы уточнить, являются ли упомянутые выше синтаксисы передачи многокадровыми видео, где каждый кадр (mpeg, h.264 и т. Д.) Обернут как изображение DICOM для создания многокадрового изображения DICOM? Или вы просто берете файл mp4 и вставляете заголовки DICOM в начало файла?

В любом случае, есть ли у кого-нибудь образец кода для создания допустимого файла DCM из MPEG2 или MPEG4?


person Paul Knopf    schedule 24.02.2015    source источник
comment
Мне еще не приходилось сталкиваться с видео MPEG-4 или h.264 в файле dicom, но это не значит, что кто-то где-то не использует эти типы кодировок. Обычно для видео dicom это внутрикадровое кодирование, где каждый кадр индивидуально сжимается / кодируется и сохраняется как элемент dicom в последовательности dicom, см. Концепцию инкапсулированных синтаксисов передачи в стандарте.   -  person Chris O    schedule 25.02.2015
comment
Крис, вы говорите о многокадровых объектах DICOM, обычно используемых (среди прочего) в сердечно-сосудистой системе. Я думаю, что Пол имеет в виду настоящие видеопоследовательности mpeg2 или mpeg4, больше похожие на снимки с видеосистем эндоскопии.   -  person jap1968    schedule 26.02.2015
comment
@ jap1968 Да, вы правы, мой опыт сосредоточен на сердечно-сосудистых заболеваниях.   -  person Chris O    schedule 01.03.2015


Ответы (3)


Текущий снимок DCMTK содержит все UID синтаксиса передачи, т. Е. Определение того, что частично указано 6 стандарта DICOM, который включает различные разновидности MPEG-2 и MPEG-4. Часть 5 стандарта DICOM четко описывает, как следует использовать эти синтаксисы передачи, например каковы требования к потоку данных MPEG и как этот поток должен быть инкапсулирован в элемент пиксельных данных DICOM.

Кстати, вопросы, связанные с DCMTK, вероятно, лучше размещать на общественном дискуссионном форуме по адресу http://forum.dcmtk.org/.

person J. Riesmeier    schedule 25.02.2015

Что касается MPEG-4 AVC / H.264 High Profile / Level 4.1, вы должны прочитать (как минимум) соответствующий раздел в Части 5 стандарта DICOM: http://medical.nema.org/medical/dicom/current/output/chtml/part05/sect_8.2.7.html

person J. Riesmeier    schedule 27.02.2015
comment
Привет @J. Рисмайер, я использовал модуль создания файла dicom DCMTK для создания файла dicom для MPEG4, но когда я тестировал его проверку с помощью DVTk, он не прошел проверку с синтаксисом передачи (0002,0010): значение 1.2.840.10008.1.2.4.102 отсутствует в списке перечисляемых значений list, Любая идея для этого. - person Herry; 25.09.2019
comment
Тогда DVTk, вероятно, не поддерживает (не знает) этот синтаксис передачи. Вы должны спросить об этом команду DVTk (или проверить их документацию). - person J. Riesmeier; 25.09.2019

ПРИМЕЧАНИЕ: этот ответ был полностью отредактирован 20150407.

Я провел несколько тестов для создания видео mpeg4 DICOM с помощью dcm4che2 Инструментарий. Я предполагаю, что то же самое можно сделать аналогичным образом с помощью инструментов DCMTK.

Отвечая на ваш второй вопрос, видео DICOM - это просто видеофайл (который должен соответствовать некоторым заданным ограничениям в соответствии с типом видео) с некоторыми необходимыми элементами данных DICOM (атрибутами).

Один из способов получить видеофайл DICOM - сначала создать XML-файл, содержащий необходимые элементы данных DICOM, а затем объединить XML-файл с исходным видеофайлом. У вас будет предположительно совместимый экземпляр DICOM, содержащий исходное видео, инкапсулированное в элемент данных (7FE0,0010).

Ваш XML-файл будет примерно таким:

<?xml version="1.0" encoding="UTF-8"?>
<dicom>
<attr tag="00020002" vr="UI" name="MediaStorageSOPClassUID">1.2.840.10008.5.1.4.1.1.77.1.4.1</attr>
<attr tag="00020003" vr="UI" name="MediaStorageSOPInstanceUID">1.3.51.5146.1682.20140505.1225531.197</attr>
<attr tag="00020010" vr="UI" name="TransferSyntaxUID">1.2.840.10008.1.2.4.102</attr>
<attr tag="00020012" vr="UI" name="ImplementationClassUID">1.2.40.0.13.1.1</attr>
<attr tag="00020013" vr="SH" name="ImplementationVersionName">dcm4che-1.4.18</attr>
<attr tag="00080005" vr="CS" name="SpecificCharacterSet">ISO_IR 100</attr>
<attr tag="00080008" vr="CS" name="ImageType">DERIVED\PRIMARY</attr>
<attr tag="00080012" vr="DA" name="InstanceCreationDate">20140505</attr>
<attr tag="00080013" vr="TM" name="InstanceCreationTime">135531</attr>
<attr tag="00080016" vr="UI" name="SOPClassUID">1.2.840.10008.5.1.4.1.1.77.1.4.1</attr>
<attr tag="00080018" vr="UI" name="SOPInstanceUID">1.3.51.5146.1682.20140505.1225531.197</attr>
<attr tag="00080020" vr="DA" name="StudyDate">20140505</attr>
<attr tag="00080022" vr="DA" name="AcquisitionDate">20140505</attr>
<attr tag="00080030" vr="TM" name="StudyTime">135531</attr>
<attr tag="00080032" vr="TM" name="AcquisitionTime">135531</attr>
<attr tag="00080050" vr="SH" name="AccessionNumber">2014505093198485</attr>
<attr tag="00080060" vr="CS" name="Modality">XC</attr>
<attr tag="00080070" vr="LO" name="Manufacturer">Test MFR</attr>
<attr tag="00080090" vr="PN" name="ReferringPhysicianName">Test^^^Dr^</attr>
<attr tag="00081030" vr="LO" name="StudyDescription">Test video HD</attr>
<attr tag="0008103e" vr="LO" name="SeriesDescription">Test video 720p</attr>
<attr tag="00082218" vr="SQ" vm="1" name="AnatomicRegionSequence">
  <item>
    <attr tag="00080100" vr="SH" name="CodeValue">T-32000</attr>
    <attr tag="00080102" vr="SH" name="CodingSchemeDesignator">SRT</attr>
    <attr tag="00080104" vr="LO" name="CodeMeaning">Heart</attr>
  </item>
</attr>
<attr tag="00100010" vr="PN" name="PatientName">Smith^John^^Test^</attr>
<attr tag="00100020" vr="LO" name="PatientID">100539</attr>
<attr tag="00100030" vr="DA" name="PatientBirthDate">19700101</attr>
<attr tag="00100040" vr="CS" name="PatientSex">M</attr>
<attr tag="00180040" vr="IS" name="CineRate">30</attr>
<attr tag="00181063" vr="DS" name="FrameTime">33.33</attr>
<attr tag="0020000d" vr="UI" name="StudyInstanceUID">1.3.51.0.7.633920140505.6339234439.633987.633918098</attr>
<attr tag="0020000e" vr="UI" name="SeriesInstanceUID">1.3.51.5146.11682.20140505.122553197</attr>
<attr tag="00200010" vr="SH" name="StudyID">00000001</attr>
<attr tag="00200011" vr="IS" name="SeriesNumber">1</attr>
<attr tag="00200013" vr="IS" name="InstanceNumber">1</attr>
<attr tag="00200020" vr="CS" name="PatientOrientation"></attr>
<attr tag="00280002" vr="US" name="SamplesPerPixel">3</attr>
<attr tag="00280004" vr="CS" name="PhotometricInterpretation">YBR_PARTIAL_420</attr>
<attr tag="00280006" vr="US" name="PlanarConfiguration">0</attr>
<attr tag="00280008" vr="IS" name="NumberOfFrames">1080</attr>
<attr tag="00280009" vr="AT" name="FrameIncrementPointer">00181063</attr>
<attr tag="00280010" vr="US" name="Rows">720</attr>
<attr tag="00280011" vr="US" name="Columns">1280</attr>
<attr tag="00280100" vr="US" name="BitsAllocated">8</attr>
<attr tag="00280101" vr="US" name="BitsStored">8</attr>
<attr tag="00280102" vr="US" name="HighBit">7</attr>
<attr tag="00280103" vr="US" name="PixelRepresentation">0</attr>
<attr tag="00282110" vr="CS" name="LossyImageCompression">01</attr>
<attr tag="00400555" vr="SQ" name="AcquisitionContextSequence"></attr>
<attr tag="7FE00010" vr="OB">
  <item />
  <item src="test_720p.mp4"/>
</attr>
</dicom>

Получив XML-файл, объедините его с видеофайлом, чтобы получить файл DICOM:

$ xml2dcm -d -t 1.2.840.10008.1.2.4.102 -x test_720.xml -o test_720.dcm

Полученный файл был протестирован с помощью инструмента dciodvfy и, похоже, является действующей частью 10 DICOM файл.

Теперь вы можете попробовать сохранить этот файл DICOM в PACS:

$ dcmsnd -L TEST [email protected]:11112 test_720.dcm 

Я протестировал его, чтобы восстановить и воспроизвести видео с помощью Weasis Программа просмотра DICOM.

Некоторая дополнительная информация, чтобы уточнить

Вы можете найти дополнительную информацию в этой теме на comp.protocols группы новостей .dicom.

person jap1968    schedule 26.02.2015
comment
Итак, в файле dcm содержится этот актуальный H.264 / MP4, нетронутый? Бит за бит? - person Paul Knopf; 27.02.2015