I'm trying to set the PixelData with MP4 file using dcmodify.
With the latest, I'm getting the error {EC_RepresentationNotFound, "Pixel representation not found"}
My input dcm file has the following set
Meta:
(0002,0002) UI =VideoPhotographicImageStorage # 32, 1 MediaStorageSOPClassUID
(0002,0010) UI [1.2.840.10008.1.2.4.102] # 24, 1 TransferSyntaxUID
Dataset:
(0018,0040) IS [15] # 2, 1 CineRate
(0018,1063) DS [66.7] # 2, 1 FrameTime
(0028,0002) US 3 # 2, 1 SamplesPerPixel
(0028,0004) CS [YBR_PARTIAL_420] # 16, 1 PhotometricInterpretation
(0028,0006) US 0 # 2, 1 PlanarConfiguration
(0028,0008) IS [1] # 2, 1 NumberOfFrames
(0028,0009) AT (0018,1063) # 4, 1 FrameIncrementPointer
(0028,0010) US 720 # 2, 1 Rows
(0028,0011) US 1280 # 2, 1 Columns
(0028,0100) US 8 # 2, 1 BitsAllocated
(0028,0101) US 8 # 2, 1 BitsStored
(0028,0102) US 7 # 2, 1 HighBit
(0028,0103) US 0 # 2, 1 PixelRepresentation
With the release version 3.6.0, I'm able to set, but it changes the transfer syntax to Explicit VR Little Endian.
I'm sure I'm missing something, but not sure what.
it will be great if I can get a reference DCM file for MPEG-4 AVC/H.264 High Profile / Level 4.1.
Thanks in advance.
Pixel Representation not found error when using dcmodify
Moderator: Moderator Team
-
- DCMTK Developer
- Posts: 2505
- Joined: Tue, 2011-05-03, 14:38
- Location: Oldenburg, Germany
- Contact:
Re: Pixel Representation not found error when using dcmodify
When DCMTK 3.6.0 was released, the transfer syntax "MPEG-4 AVC/H.264 High Profile / Level 4.1" was not yet defined in the DICOM standard. So, you should use a more recent snapshot... if this still doesn't work, please tell us the dcmodify command line options you've used.
Re: Pixel Representation not found error when using dcmodify
I tried with the latest snapshot dcmtk-3.6.1_20170228 with the below command line option.
C:\Projects\Temp\dcmtk-3.6.1_20170228\source\bin\Release>dcmodify.exe -d -if "PixelData=20170421.mp4" 20170421.dcm
I: Processing file: 20170421.dcm
I: Loading file into dataset manager: 20170421.dcm
D: DcmMetaInfo::checkAndReadPreamble() TransferSyntax="Little Endian Explicit"
D: DcmDataset::read() TransferSyntax="MPEG-4 AVC/H.264 High Profile / Level 4.1"
I: Getting dataset from loaded file: 20170421.dcm
I: Creating backup of input file: 20170421.dcm.bak
I: Executing (option|path|value): if|PixelData|20170421.mp4
D: DcmFileFormat::checkMetaHeaderValue() Version of MetaHeader is ok: 0x0001
D: DcmFileFormat::checkMetaHeaderValue() use new TransferSyntaxUID [MPEG-4 AVC/H.264 High Profile / Level 4.1] on writing following Dataset
D: DcmFileFormat::validateMetaInfo() found 7 Elements in DcmMetaInfo 'metinf'
I: Saving current dataset to file: 20170421.dcm
E: couldn't save file: Pixel representation not found
I: Restoring original file from backup
I: ------------------------------------
E: There was 1 error
C:\Projects\Temp\dcmtk-3.6.1_20170228\source\bin\Release>
-
- DCMTK Developer
- Posts: 2505
- Joined: Tue, 2011-05-03, 14:38
- Location: Oldenburg, Germany
- Contact:
Re: Pixel Representation not found error when using dcmodify
Compressed pixel data uses a different encoding of the Pixel Data element. It's a sequence-like structure with so-called pixel items (see DICOM part 5 for details or look at the dcmdump output of some compressed DICOM image).
Who is online
Users browsing this forum: Google [Bot] and 1 guest