How to change transfer syntax?

All other questions regarding DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
xfgavin
Posts: 5
Joined: Tue, 2019-07-09, 07:57

How to change transfer syntax?

#1 Post by xfgavin »

Hi there,

I converted a jpeg into dicom using img2dcm. I found the transfer syntaxes are different between dicom header and dataset header. See below for an example:

I wonder how I can change the transfer syntax in dicom header to jpeg baseline?

Thanks.

# Dicom-File-Format

# Dicom-Meta-Information-Header
# Used TransferSyntax: Little Endian Explicit
(0002,0000) UL 162 # 4, 1 FileMetaInformationGroupLength
(0002,0001) OB 00\01 # 2, 1 FileMetaInformationVersion
(0002,0002) UI =SecondaryCaptureImageStorage # 26, 1 MediaStorageSOPClassUID
(0002,0003) UI [1000000000000001] # 16, 1 MediaStorageSOPInstanceUID
(0002,0010) UI =JPEGBaseline # 22, 1 TransferSyntaxUID
(0002,0012) UI [1.2.276.0.7230010.3.0.3.6.0] # 28, 1 ImplementationClassUID
(0002,0013) SH [OFFIS_DCMTK_360] # 16, 1 ImplementationVersionName

# Dicom-Data-Set
# Used TransferSyntax: JPEG Baseline
(0008,0005) CS [ISO_IR 100] # 10, 1 SpecificCharacterSet
(0008,0016) UI =SecondaryCaptureImageStorage # 26, 1 SOPClassUID
(0008,0018) UI [1000000000000001] # 16, 1 SOPInstanceUID
(0008,0020) DA (no value available) # 0, 0 StudyDate
(0008,0030) TM (no value available) # 0, 0 StudyTime
(0008,0050) SH (no value available) # 0, 0 AccessionNumber
(0008,0064) CS [WSD] # 4, 1 ConversionType
(0008,0090) PN (no value available) # 0, 0 ReferringPhysicianName
(0010,0010) PN (no value available) # 0, 0 PatientName
(0010,0020) LO (no value available) # 0, 0 PatientID
(0010,0030) DA (no value available) # 0, 0 PatientBirthDate
(0010,0040) CS (no value available) # 0, 0 PatientSex
(0020,000d) UI [1.3.12.2.1107.5.2.43.67078.30000019041810445224900000007] # 56, 1 StudyInstanceUID
(0020,000e) UI [1.2.276.0.7230010.3.1.3.17496582.54054.1558248813.827767] # 56, 1 SeriesInstanceUID
(0020,0010) SH (no value available) # 0, 0 StudyID
(0020,0011) IS (no value available) # 0, 0 SeriesNumber
(0020,0013) IS (no value available) # 0, 0 InstanceNumber
(0020,0020) CS (no value available) # 0, 0 PatientOrientation
(0028,0002) US 3 # 2, 1 SamplesPerPixel
(0028,0004) CS [YBR_FULL_422] # 12, 1 PhotometricInterpretation
(0028,0006) US 0 # 2, 1 PlanarConfiguration
(0028,0010) US 1377 # 2, 1 Rows
(0028,0011) US 1024 # 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
(0028,2110) CS [01] # 2, 1 LossyImageCompression
(0028,2114) CS [ISO_10918_1] # 12, 1 LossyImageCompressionMethod
(0032,0034) DA [2017-07-27] # 10, 1 RETIRED_StudyReadDate
(0032,1030) LO [1] # 2, 1 RETIRED_ReasonForStudy
(0032,1032) PN [Yi] # 2, 1 RequestingPhysician
(0032,4000) LT (no value available) # 0, 0 RETIRED_StudyComments
(7fe0,0010) OB (PixelSequence #=2) # u/l, 1 PixelData
(fffe,e000) pi (no value available) # 0, 1 Item
(fffe,e000) pi ff\d8\ff\db\00\43\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01... # 150280, 1 Item
(fffe,e0dd) na (SequenceDelimitationItem) # 0, 0 SequenceDelimitationItem

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

Re: How to change transfer syntax?

#2 Post by J. Riesmeier »

According to the DICOM standard, the transfer syntax of the file meta information header is always "Little Endian Explicit". So, there is no need to change it. The attribute Transfer Syntax UID (0002,0010) in this meta header specifies the transfer syntax of the data set that follows the meta header.

xfgavin
Posts: 5
Joined: Tue, 2019-07-09, 07:57

Re: How to change transfer syntax?

#3 Post by xfgavin »

Thanks, but when I transfer this file to our PACS (Ambra gateway) using storescu, I got error msg saying the transfer syntax does not agree between header and data-set. How should I solve this issue?

Here is the detailed err msg:
W: DIMSE Warning: (ABCD_AMBRA,RADREVIEW): sendMessage: unable to convert dataset from 'JPEG Baseline' transfer syntax to 'Little Endian Explicit'
E: Store Failed, file: baseline_year_1_arm_1_score.dcm:
E: 0006:020e DIMSE Failed to send message
E: Store SCU Failed: 0006:020e DIMSE Failed to send message

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

Re: How to change transfer syntax?

#4 Post by J. Riesmeier »

Please start storescu with option -xy (--propose-jpeg) or use dcmsend instead.

xfgavin
Posts: 5
Joined: Tue, 2019-07-09, 07:57

Re: How to change transfer syntax?

#5 Post by xfgavin »

perfect, it worked!

Thank you very much!

However, when I was viewing those files on Ambra viewer, it says no image series. I guess that is something Ambra should work on.

xfgavin
Posts: 5
Joined: Tue, 2019-07-09, 07:57

Re: How to change transfer syntax?

#6 Post by xfgavin »

It worked out finally because they rely on modality tag but mine was empty. I wish I asked here months earlier.
Thank you!

George
Posts: 52
Joined: Sun, 2023-11-12, 16:50

Re: How to change transfer syntax?

#7 Post by George »

Hello,

Does this help me in making transfer syntax to another, can you give an example ?

Best Regards
George

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

Re: How to change transfer syntax?

#8 Post by Michael Onken »

Hi George,

please ask a new questiona nd make clear what you want to do, don't revive a 5 year old thread fo rsomething at least partly unrelated.

Michael

George
Posts: 52
Joined: Sun, 2023-11-12, 16:50

Re: How to change transfer syntax?

#9 Post by George »

Hello,

It seems in this thread xfgavin managed to make a transfer syntax conversion from jpeg2000 baseline to little endian using the commands storescu, dcmsend.
Can you explain to me how to do it by giving an example?

Best Regards
George

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 1 guest