4K H.264 Video to DICOM file

All other questions regarding DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
ashishbme
Posts: 30
Joined: Tue, 2011-05-10, 14:32

4K H.264 Video to DICOM file

#1 Post by ashishbme »

Hi All,

I am trying to create DICOM file form H.264 video 4K. I used xml2dcm class to create DICOM file and able to create DICOM file with video file. I am able to covert video up to 2GB, but video ,more than that say 3.8 GB not able to convert.
xml2dcm class not giving any error but generating only header without vidoe data.
I know 4 GB is the limit as receptive field can accommodate 4 byte (2^32-1).
Has someone tried converting video more than 2GB to DICOM file?
Can someone suggest any open source PACS which support mpeg 4 H.264 transfer syntax ("1.2.840.10008.1.2.4.102" name="MPEG-4 AVC/H.264 High Profile) or similar?

Note: I am able to open DICOM file created video less than 2GB in various DICOM viewers and verified with dciodvfy.exe.

Thanking you in anticipation.

Regards
Ashish

J. Riesmeier
DCMTK Developer
Posts: 2503
Joined: Tue, 2011-05-03, 14:38
Location: Oldenburg, Germany
Contact:

Re: 4K H.264 Video to DICOM file

#2 Post by J. Riesmeier »

xml2dcm requires that the referenced file content fits into main memory, i.e. the complete 3.8 GB or whatever the size of the MPEG file is. dump2dcm also supports an experimental "read from file" mode (enabled when compiled with EXPERIMENTAL_READ_FROM_FILE defined), which could be added to xml2dcm in the same manner.

Michael Onken
DCMTK Developer
Posts: 2049
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

Re: 4K H.264 Video to DICOM file

#3 Post by Michael Onken »

Hi,

I think DCM4CHE supports the quoted Transfer Syntax.

Best,
Michael

ashishbme
Posts: 30
Joined: Tue, 2011-05-10, 14:32

Re: 4K H.264 Video to DICOM file

#4 Post by ashishbme »

J. Riesmeier wrote: Mon, 2019-01-28, 08:55 xml2dcm requires that the referenced file content fits into main memory, i.e. the complete 3.8 GB or whatever the size of the MPEG file is. dump2dcm also supports an experimental "read from file" mode (enabled when compiled with EXPERIMENTAL_READ_FROM_FILE defined), which could be added to xml2dcm in the same manner.
Hi Riesmeier,
Thank you for quick response. i have tried with EXPERIMENTAL_READ_FROM_FILE in xml2dcm but no success.
Please find my xml below which i am using to crate video DICOM file. by using same xml i am able to create DICOM file of videos (e,g, 800 MB, 1.8 GB) but when i am trying with 3.8 GB file
it is creating DICOM file without video data. Not getting any clue.
<?xml version="1.0" encoding="ISO-8859-1"?>
<file-format>
<meta-header xfer="1.2.840.10008.1.2.1" name="Little Endian Explicit">

<element tag="0002,0002" vr="UI" name="MediaStorageSOPClassUID">1.2.840.10008.5.1.4.1.1.77.1.4.1</element>
<element tag="0002,0003" vr="UI" name="MediaStorageSOPInstanceUID">1.3.51.5146.1682.20140505.1225531.197</element>
<element tag="0002,0010" vr="UI" name="TransferSyntaxUID">1.2.840.10008.1.2.4.102</element>
<element tag="0002,0012" vr="UI" name="ImplementationClassUID">1.2.40.0.13.1.1</element>
<element tag="0002,0013" vr="SH" name="ImplementationVersionName">OFFIS_DCMTK_363</element>
</meta-header>
<data-set xfer="1.2.840.10008.1.2.4.102" name="MPEG-4 AVC/H.264 BD-compatible High Profile / Level 4.1">
<element tag="0008,0005" vr="CS" name="SpecificCharacterSet">ISO_IR 100</element>
<element tag="0008,0008" vr="CS" name="ImageType">DERIVED\PRIMARY</element>
<element tag="0008,0012" vr="DA" name="InstanceCreationDate">20190115</element>
<element tag="0008,0013" vr="TM" name="InstanceCreationTime">135531</element>
<element tag="0008,0016" vr="UI" name="SOPClassUID">1.2.840.10008.5.1.4.1.1.77.1.4.1</element>
<element tag="0008,0018" vr="UI" name="SOPInstanceUID">1.3.51.5146.1682.20140505.1225531.197</element>
<element tag="0008,0020" vr="DA" name="StudyDate">20190115</element>
<element tag="0008,0022" vr="DA" name="AcquisitionDate">20190115</element>
<element tag="0008,0030" vr="TM" name="StudyTime">135531</element>
<element tag="0008,0032" vr="TM" name="AcquisitionTime">135531</element>
<element tag="0008,0050" vr="SH" name="AccessionNumber">2019505093198485</element>
<element tag="0008,0060" vr="CS" name="Modality">XC</element>
<element tag="0008,0070" vr="LO" name="Manufacturer">Test MFR</element>
<element tag="0008,0090" vr="PN" name="ReferringPhysicianName">Abc^^^Dr^</element>
<element tag="0008,1030" vr="LO" name="StudyDescription">Test video 4K</element>
<element tag="0008,103e" vr="LO" name="SeriesDescription">Acoustic Neuroma 4K Sample</element>
<element tag="0008,2218" vr="SQ" name="AnatomicRegionSequence">1</element>
<element tag="0010,0010" vr="PN" name="PatientName">Test^4K^^Test^</element>
<element tag="0010,0020" vr="LO" name="PatientID">11612003</element>
<element tag="0010,0030" vr="DA" name="PatientBirthDate">19700101</element>
<element tag="0010,0040" vr="CS" name="PatientSex">M</element>
<element tag="0018,0040" vr="IS" name="CineRate">30</element>
<element tag="0018,1063" vr="DS" name="FrameTime">30</element>
<element tag="0020,000d" vr="UI" name="StudyInstanceUID">1.3.51.0.7.633920140505.6339234439.633987.633918098</element>
<element tag="0020,000e" vr="UI" name="SeriesInstanceUID">1.3.51.5146.11682.20140505.122553197</element>
<element tag="0020,0010" vr="SH" name="StudyID">00000001</element>
<element tag="0020,0011" vr="IS" name="SeriesNumber">1</element>
<element tag="0020,0013" vr="IS" name="InstanceNumber">1</element>
<element tag="0020,0020" vr="CS" name="PatientOrientation"></element>
<element tag="0028,0002" vr="US" name="SamplesPerPixel">3</element>
<element tag="0028,0004" vr="CS" name="PhotometricInterpretation">YBR_PARTIAL_420</element>
<element tag="0028,0006" vr="US" name="PlanarConfiguration">0</element>
<element tag="0028,0008" vr="IS" name="NumberOfFrames">5160</element>
<element tag="0028,0009" vr="AT" name="FrameIncrementPointer">(0018,1063)</element>
<element tag="0028,0010" vr="US" name="Rows">2160</element>
<element tag="0028,0011" vr="US" name="Columns">3840</element>
<element tag="0028,0100" vr="US" name="BitsAllocated">8</element>
<element tag="0028,0101" vr="US" name="BitsStored">8</element>
<element tag="0028,0102" vr="US" name="HighBit">7</element>
<element tag="0028,0103" vr="US" name="PixelRepresentation">0</element>
<element tag="0028,2110" vr="CS" name="LossyImageCompression">01</element>
<element tag="0040,0555" vr="SQ" name="AcquisitionContextSequence"></element>

<sequence tag="7fe0,0010" vr="OW" card="2" name="PixelData">
<pixel-item len="0"></pixel-item>
<pixel-item binary="file">C:/Desktop/xml2dcm/Acoustic Neuroma 4K Sample.mp4</pixel-item>
</sequence>
</data-set>
</file-format>
Thank you
Ashish

ashishbme
Posts: 30
Joined: Tue, 2011-05-10, 14:32

Re: 4K H.264 Video to DICOM file

#5 Post by ashishbme »

Michael Onken wrote: Mon, 2019-01-28, 09:48 Hi,

I think DCM4CHE supports the quoted Transfer Syntax.

Best,
Michael
Thank you Michael, I will try. :)

J. Riesmeier
DCMTK Developer
Posts: 2503
Joined: Tue, 2011-05-03, 14:38
Location: Oldenburg, Germany
Contact:

Re: 4K H.264 Video to DICOM file

#6 Post by J. Riesmeier »

i have tried with EXPERIMENTAL_READ_FROM_FILE in xml2dcm but no success.
Could you post your patch to "xml2dcm.cc", so I could check where the problem might be?

ashishbme
Posts: 30
Joined: Tue, 2011-05-10, 14:32

Re: 4K H.264 Video to DICOM file

#7 Post by ashishbme »

Sure i will send it.

Thank you
Ashish

Post Reply

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 1 guest