DCMTK support dicom video format?
Moderator: Moderator Team
DCMTK support dicom video format?
Hello,
We use an old version of DCMTK and at one of the new customers we found that in some cases we are receiving only part of the study.
I performed extra investigation and the problem turns out to be caused by Video tags in the images (dicom video format) -- (I have asked for the dicom files for extra analysis)
I was wondering if DCMTK should support the dicom video format and is that supported in newer versions?
I found an old post and i was wondering if this was solved in later versions or not: viewtopic.php?p=5397
Waiting for your feedback.
Thanks,
We use an old version of DCMTK and at one of the new customers we found that in some cases we are receiving only part of the study.
I performed extra investigation and the problem turns out to be caused by Video tags in the images (dicom video format) -- (I have asked for the dicom files for extra analysis)
I was wondering if DCMTK should support the dicom video format and is that supported in newer versions?
I found an old post and i was wondering if this was solved in later versions or not: viewtopic.php?p=5397
Waiting for your feedback.
Thanks,
Re: DCMTK support dicom video format?
Hello Again,
i got the images and i tried to run storescu on one of them, below is the storescu output:
./storescu -aec NOLOSS -aet CaptureImages localhost 5678 CMP_JJ010_view0001.dcm
getParamValue(CSTN_CONNECTION_TIMEOUT) = (30)
CONNECTION timeout: 30
Adding filename CMP_JJ010_view0001.dcm
getParamValue(CSTN_ACSE_TIMEOUT) = ()
ASC_findAcceptedPresentationContextID: no match found for transfer syntax: 1.2.840.10008.1.2.4.50
getParamValue(CSTN_DIMSE_TIMEOUT) = (60)
DIMSE timeout: 60
old 4, new 0
DcmPixelData::canWriteXfer - couldn't find match
canWrite is false for JPEG Baseline to LittleEndianImplicit
DcmDataset::canWriteXfer - DcmItem::canWriteXfer returned false
DIMSE Warning: (CaptureImages,NOLOSS): sendMessage: unable to convert dataset
from 'JPEG Baseline' transfer syntax to 'LittleEndianImplicit'.
storescu: Store Failed, file: CMP_JJ010_view0001.dcm:
0006:020e DIMSE Failed to send message
0006:020e DIMSE Failed to send message
storescu: SCU Failed:
0006:020e DIMSE Failed to send message
0006:020e DIMSE Failed to send message
Those are some information for this study taken from dcmdump:
# Dicom-File-Format
# Dicom-Meta-Information-Header
# Used TransferSyntax: LittleEndianExplicit
(0002,0000) UL 266 # 4, 1 MetaElementGroupLength
(0002,0001) OB 00\01 # 2, 1 FileMetaInformationVersion
(0002,0002) UI =UltrasoundImageStorage # 28, 1 MediaStorageSOPClassUID
(0002,0003) UI [1.2.840.113663.1500.1.343804863.3.1.20120604.110756.406] # 56, 1 MediaStorageSOPInstanceUID
(0002,0010) UI =JPEGBaseline # 22, 1 TransferSyntaxUID
(0002,0012) UI [1.2.840.113711.1] # 16, 1 ImplementationClassUID
(0002,0013) SH [V1.0] # 4, 1 ImplementationVersionName
(0002,0016) AE [SOME_STORE_SCU] # 14, 1 SourceApplicationEntityTitle
(0002,0100) UI [1.2.840.113711.1] # 16, 1 PrivateInformationCreatorUID
(0002,0102) OB 41\4c\49\20\44\49\43\4f\4d\20\4f\45\4d\20\76\65\72\73\69\6f\6e\20... # 28, 1 PrivateInformation
# Dicom-Data-Set
# Used TransferSyntax: JPEG Baseline
(0008,0008) CS [DERIVED\PRIMARY\OBSTETRICAL] # 28, 3 ImageType
(0008,0012) DA [20120604] # 8, 1 InstanceCreationDate
(0008,0013) TM [110756] # 6, 1 InstanceCreationTime
(0008,0016) UI =UltrasoundImageStorage # 28, 1 SOPClassUID
.....
.....
(0040,0275) SQ (Sequence undefined length #=1) # u/l, 1 RequestAttributesSequence
(fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item
(0032,1060) LO [O US OB COMPLETE < 14 WEEKS] # 28, 1 RequestedProcedureDescription
(0040,0007) LO [O US OB COMPLETE < 14 WEEKS] # 28, 1 ScheduledProcedureStepDescription
(0040,0009) SH [10668710] # 8, 1 ScheduledProcedureStepID
(0040,1001) SH [3015461] # 8, 1 RequestedProcedureID
(fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem
(0040,0280) ST [OB] # 2, 1 CommentsOnThePerformedProcedureStep
(2050,0020) CS [IDENTITY] # 8, 1 PresentationLUTShape
(3711,0010) LO [SOME Technologies, Inc.] # 26, 1 PrivateCreator
(3711,100c) UI [X.X.XXX.XXX.XXX.XXXXX.XXXX.XX.XXXXXXXX.XXXXXX] # 60, 1 Unknown Tag & Data
(7fe0,0010) OB (PixelSequence #=2) # u/l, 1 PixelData
(fffe,e000) pi 00\00\00\00 # 4, 1 Item
(fffe,e000) pi ff\d8\ff\e0\00\10\4a\46\49\46\00\01\02\00\00\01\00\01\00\00\ff\e1... # 249396, 1 Item
(fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem
i got the images and i tried to run storescu on one of them, below is the storescu output:
./storescu -aec NOLOSS -aet CaptureImages localhost 5678 CMP_JJ010_view0001.dcm
getParamValue(CSTN_CONNECTION_TIMEOUT) = (30)
CONNECTION timeout: 30
Adding filename CMP_JJ010_view0001.dcm
getParamValue(CSTN_ACSE_TIMEOUT) = ()
ASC_findAcceptedPresentationContextID: no match found for transfer syntax: 1.2.840.10008.1.2.4.50
getParamValue(CSTN_DIMSE_TIMEOUT) = (60)
DIMSE timeout: 60
old 4, new 0
DcmPixelData::canWriteXfer - couldn't find match
canWrite is false for JPEG Baseline to LittleEndianImplicit
DcmDataset::canWriteXfer - DcmItem::canWriteXfer returned false
DIMSE Warning: (CaptureImages,NOLOSS): sendMessage: unable to convert dataset
from 'JPEG Baseline' transfer syntax to 'LittleEndianImplicit'.
storescu: Store Failed, file: CMP_JJ010_view0001.dcm:
0006:020e DIMSE Failed to send message
0006:020e DIMSE Failed to send message
storescu: SCU Failed:
0006:020e DIMSE Failed to send message
0006:020e DIMSE Failed to send message
Those are some information for this study taken from dcmdump:
# Dicom-File-Format
# Dicom-Meta-Information-Header
# Used TransferSyntax: LittleEndianExplicit
(0002,0000) UL 266 # 4, 1 MetaElementGroupLength
(0002,0001) OB 00\01 # 2, 1 FileMetaInformationVersion
(0002,0002) UI =UltrasoundImageStorage # 28, 1 MediaStorageSOPClassUID
(0002,0003) UI [1.2.840.113663.1500.1.343804863.3.1.20120604.110756.406] # 56, 1 MediaStorageSOPInstanceUID
(0002,0010) UI =JPEGBaseline # 22, 1 TransferSyntaxUID
(0002,0012) UI [1.2.840.113711.1] # 16, 1 ImplementationClassUID
(0002,0013) SH [V1.0] # 4, 1 ImplementationVersionName
(0002,0016) AE [SOME_STORE_SCU] # 14, 1 SourceApplicationEntityTitle
(0002,0100) UI [1.2.840.113711.1] # 16, 1 PrivateInformationCreatorUID
(0002,0102) OB 41\4c\49\20\44\49\43\4f\4d\20\4f\45\4d\20\76\65\72\73\69\6f\6e\20... # 28, 1 PrivateInformation
# Dicom-Data-Set
# Used TransferSyntax: JPEG Baseline
(0008,0008) CS [DERIVED\PRIMARY\OBSTETRICAL] # 28, 3 ImageType
(0008,0012) DA [20120604] # 8, 1 InstanceCreationDate
(0008,0013) TM [110756] # 6, 1 InstanceCreationTime
(0008,0016) UI =UltrasoundImageStorage # 28, 1 SOPClassUID
.....
.....
(0040,0275) SQ (Sequence undefined length #=1) # u/l, 1 RequestAttributesSequence
(fffe,e000) na (Item with undefined length #=4) # u/l, 1 Item
(0032,1060) LO [O US OB COMPLETE < 14 WEEKS] # 28, 1 RequestedProcedureDescription
(0040,0007) LO [O US OB COMPLETE < 14 WEEKS] # 28, 1 ScheduledProcedureStepDescription
(0040,0009) SH [10668710] # 8, 1 ScheduledProcedureStepID
(0040,1001) SH [3015461] # 8, 1 RequestedProcedureID
(fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem
(0040,0280) ST [OB] # 2, 1 CommentsOnThePerformedProcedureStep
(2050,0020) CS [IDENTITY] # 8, 1 PresentationLUTShape
(3711,0010) LO [SOME Technologies, Inc.] # 26, 1 PrivateCreator
(3711,100c) UI [X.X.XXX.XXX.XXX.XXXXX.XXXX.XX.XXXXXXXX.XXXXXX] # 60, 1 Unknown Tag & Data
(7fe0,0010) OB (PixelSequence #=2) # u/l, 1 PixelData
(fffe,e000) pi 00\00\00\00 # 4, 1 Item
(fffe,e000) pi ff\d8\ff\e0\00\10\4a\46\49\46\00\01\02\00\00\01\00\01\00\00\ff\e1... # 249396, 1 Item
(fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem
Re: DCMTK support dicom video format? -- 'JPEG Baseline'
Seems its a problem with the 'JPEG Baseline' compression.
i decompressed the images using the dcmdjpeg tool and storescu worked for me.
Any suggestions about a clean solution? and anyone knows how to compress the images in case if i had to uncompress and then compress the images to something that DCMTK supports.
i decompressed the images using the dcmdjpeg tool and storescu worked for me.
Any suggestions about a clean solution? and anyone knows how to compress the images in case if i had to uncompress and then compress the images to something that DCMTK supports.
-
- DCMTK Developer
- Posts: 2512
- Joined: Tue, 2011-05-03, 14:38
- Location: Oldenburg, Germany
- Contact:
Re: DCMTK support dicom video format?
First of all, make sure that you use the current DCMTK release, i.e. version 3.6.0 (or a newer snapshot if you prefer that). Then, storescu is pretty stupid, so you have to tell the tool that you would like to send JPEG Baseline compression DICOM images. This is done with option --propose-jpeg8 (-xy). However, the transfer might still fail if the receiver does not support/accept this transfer syntax ...
If you like to test a pretty new tool, then have a look at "dcmsend" from the current DCMTK snapshot. However, there is no ready-to-use binary for that, so you have to compile it on your own.
If you like to test a pretty new tool, then have a look at "dcmsend" from the current DCMTK snapshot. However, there is no ready-to-use binary for that, so you have to compile it on your own.
-
- Posts: 101
- Joined: Wed, 2009-07-08, 16:06
- Location: Oldenburg, Germany
Re: DCMTK support dicom video format?
The DICOM file seems to be Ultrasound Multi-frame image and compressed using the JPEG Baseline transfer syntax which is supported by DCMTK. To know how to access multiframe image, read this HowTo on Wiki. You can also try to use the tool dcmj2pnm to convert the multiframe image to bitamp(s).
Re: DCMTK support dicom video format?
Thanks Guys for the replies,
I have a problem when accepting the images from the pacs, i was investigating by using storescu the problem and it worked on the uncompressed version of the images.
I resent the uncompressed images to a viewer and i was able to see all the images in the DICOM so no problem here.
I have a problem when accepting the images from the pacs, i was investigating by using storescu the problem and it worked on the uncompressed version of the images.
I resent the uncompressed images to a viewer and i was able to see all the images in the DICOM so no problem here.
Re: DCMTK support dicom video format?
Hello Again,
So problem is with the storescu and not with the fact that DCMTK don't support the JPEG Baseline
I was wondering would movescu support this encoding or it's same as the storescu?
So problem is with the storescu and not with the fact that DCMTK don't support the JPEG Baseline
I was wondering would movescu support this encoding or it's same as the storescu?
Re: DCMTK support dicom video format?
I also tried with the option --propose-jpeg8 and it gave me the same error
getParamValue(CSTN_CONNECTION_TIMEOUT) = (30)
CONNECTION timeout: 30
Adding filename view0058.dcm
getParamValue(CSTN_ACSE_TIMEOUT) = ()
ASC_findAcceptedPresentationContextID: no match found for transfer syntax: 1.2.840.10008.1.2.4.50
getParamValue(CSTN_DIMSE_TIMEOUT) = (60)
DIMSE timeout: 60
old 4, new 0
DcmPixelData::canWriteXfer - couldn't find match
canWrite is false for JPEG Baseline to LittleEndianImplicit
DcmDataset::canWriteXfer - DcmItem::canWriteXfer returned false
DIMSE Warning: (CaptureImages,NOLOSS): sendMessage: unable to convert dataset
from 'JPEG Baseline' transfer syntax to 'LittleEndianImplicit'.
storescu: Store Failed, file: view0058.dcm:
0006:020e DIMSE Failed to send message
0006:020e DIMSE Failed to send message
storescu: SCU Failed:
0006:020e DIMSE Failed to send message
0006:020e DIMSE Failed to send message
getParamValue(CSTN_CONNECTION_TIMEOUT) = (30)
CONNECTION timeout: 30
Adding filename view0058.dcm
getParamValue(CSTN_ACSE_TIMEOUT) = ()
ASC_findAcceptedPresentationContextID: no match found for transfer syntax: 1.2.840.10008.1.2.4.50
getParamValue(CSTN_DIMSE_TIMEOUT) = (60)
DIMSE timeout: 60
old 4, new 0
DcmPixelData::canWriteXfer - couldn't find match
canWrite is false for JPEG Baseline to LittleEndianImplicit
DcmDataset::canWriteXfer - DcmItem::canWriteXfer returned false
DIMSE Warning: (CaptureImages,NOLOSS): sendMessage: unable to convert dataset
from 'JPEG Baseline' transfer syntax to 'LittleEndianImplicit'.
storescu: Store Failed, file: view0058.dcm:
0006:020e DIMSE Failed to send message
0006:020e DIMSE Failed to send message
storescu: SCU Failed:
0006:020e DIMSE Failed to send message
0006:020e DIMSE Failed to send message
-
- DCMTK Developer
- Posts: 2512
- Joined: Tue, 2011-05-03, 14:38
- Location: Oldenburg, Germany
- Contact:
Re: DCMTK support dicom video format?
The problem is that the SCP does not accept JPEG Baseline but prefers the default transfer syntax (LittleEndianImplicit).
Btw, are you using an old version of DCMTK, i.e. not the current release 3.6.0?
Btw, are you using an old version of DCMTK, i.e. not the current release 3.6.0?
Re: DCMTK support dicom video format?
Hi Riesmeier
yes i'm using an old version of DCMTK, i think its at least 5 years old, and updating to the latest is not an option for my company now.
yes i'm using an old version of DCMTK, i think its at least 5 years old, and updating to the latest is not an option for my company now.
Who is online
Users browsing this forum: Semrush [Bot] and 1 guest