movescu and syntax transfert.

All other questions regarding DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
tom
Posts: 31
Joined: Thu, 2008-04-10, 19:50

movescu and syntax transfert.

#1 Post by tom »

Hello,

i am confused about syntax transfert and i have lots of question :?: sorry for long post: :oops:

1) can i use movescu with --prefer-big and --prefer-lossless same time.?

2) are incoming association, outgoing association and output transfert syntax independant? can i use -xb +xs +ti (propose-little , --prefer-big , --write-xfer-big)

3) i have see in dicom standart documenttation than a compressed dicom image is in explicit little endian is it true orcan it be changed ?

if i use movescu with option -xb +xs +ti
4)
-xb define the outgoing association to use (propose) explicit big endian:
i use dvtk serveur emulator. and i disable implicit litle endian transfert syntaxe. so i have set server support juste EBE abd ELE TS. i obtene this results ....
Presentation Contexts:
Context ID: 1 (Accepted)
Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =BigEndianExplicit
Context ID: 3 (Accepted)
Abstract Syntax: =MOVEStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =BigEndianExplicit
it is correct ,i think yes ?

4) +xs is to set the incoming association from the remote pacs server for sub operation (sending dicom files) (--prefer-lossless)
so dicom file are supposed to be send in jpeg lossless no ?
I have also try +xe +xb +xs +xy +xx +xv +xw and i obtenaied allways the same resultat
UnknownTransferSyntax and LittleEndianImplicit see log following:
=========================================
Sending query
Move SCU RQ: MsgID 1
Request:

# Dicom-Data-Set
# Used TransferSyntax: UnknownTransferSyntax
(0008,0052) CS [STUDY] # 6, 1 QueryRetrieveLevel
(0020,000d) UI [100.118.116.2005.2.1.1132055943.796.3] # 38, 1 StudyInstanceUID
DIMSE Command To Send:

# Dicom-Data-Set
# Used TransferSyntax: UnknownTransferSyntax
(0000,0000) UL 0 # 4, 1 CommandGroupLength
(0000,0002) UI =MOVEStudyRootQueryRetrieveInformationModel # 28, 1 AffectedSOPClassUID
(0000,0100) US 33 # 2, 1 CommandField
(0000,0110) US 1 # 2, 1 MessageID
(0000,0600) AE [DOGPACS] # 8, 1 MoveDestination
(0000,0700) US 0 # 2, 1 Priority
(0000,0800) US 1 # 2, 1 DataSetType
DIMSE sendDcmDataset: sending 104 bytes
DIMSE sendDcmDataset: sending 60 bytes
DIMSE receiveCommand
DIMSE receiveCommand: 1 pdv's (128 bytes), presID=3
DIMSE Command Received:

# Dicom-Data-Set
# Used TransferSyntax: LittleEndianImplicit
(0000,0002) UI =MOVEStudyRootQueryRetrieveInformationModel # 28, 1 AffectedSOPClassUID
(0000,0100) US 32801 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 257 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
(0000,1020) US 6 # 2, 1 NumberOfRemainingSuboperations
(0000,1021) US 0 # 2, 1 NumberOfCompletedSuboperations
(0000,1022) US 0 # 2, 1 NumberOfFailedSuboperations
(0000,1023) US 0 # 2, 1 NumberOfWarningSuboperations
Move Response 1: C-Move RSP: MsgID: 1 [Status=Pending]
AffectedSOPClassUID: =MOVEStudyRootQueryRetrieveInformationModel
Data Set: Not Present
NumberOfRemainingSubOperations: 6
NumberOfCompletedSubOperations: 0
NumberOfFailedSubOperations: 0
NumberOfWarningSubOperations: 0
PDU Type: Associate Request, PDU Length: 213 + 6 bytes PDU header
01 00 00 00 00 d5 00 01 00 00 44 4f 47 50 41 43
53 20 20 20 20 20 20 20 20 20 43 41 4c 4c 45 44
5f 41 45 20 20 20 20 20 20 20 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 10 00 00 15 31 2e
32 2e 38 34 30 2e 31 30 30 30 38 2e 33 2e 31 2e
31 2e 31 20 00 00 38 01 00 00 00 30 00 00 19 31
2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 35 2e 31
2e 34 2e 31 2e 31 2e 37 40 00 00 13 31 2e 32 2e
38 34 30 2e 31 30 30 30 38 2e 31 2e 32 2e 31 50
00 00 38 51 00 00 04 00 00 40 00 52 00 00 22 31
2e 32 2e 38 32 36 2e 30 2e 31 2e 33 36 38 30 30
34 33 2e 32 2e 31 35 34 35 2e 31 2e 32 2e 31 2e
37 55 00 00 06 64 76 74 32 2e 31
Constructing Associate AC PDU
DIMSE receiveCommand
DIMSE receiveCommand: 1 pdv's (132 bytes), presID=1
DIMSE Command Received:

# Dicom-Data-Set
# Used TransferSyntax: LittleEndianImplicit
(0000,0002) UI =SecondaryCaptureImageStorage # 26, 1 AffectedSOPClassUID
(0000,0100) US 1 # 2, 1 CommandField
(0000,0110) US 1 # 2, 1 MessageID
(0000,0700) US 0 # 2, 1 Priority
(0000,0800) US 0 # 2, 1 DataSetType
(0000,1000) UI [100.118.116.2005.2.1.1132055943.781.1] # 38, 1 AffectedSOPInstanceUID
Received C-Store RQ: MsgID: 1
AffectedSOPClassUID: =SecondaryCaptureImageStorage
AffectedSOPInstanceUID: 100.118.116.2005.2.1.1132055943.781.1
Priority: 0
Data Set: Present
RECV:DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 16372 bytes read (last: NO)
.DIMSE receiveFileData: 632 bytes read (last: YES)

.
5) always with option (-xb +xs +ti). Option +xi (--implicit only) tranfert failed. i failed also allown or whit all possible -x_ et +t_ option. i have enable all transfert syntaxe on server (dvtk emulator) see log of move scu. i dont know with.
Presentation Contexts:
Context ID: 1 (Accepted)
Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =LittleEndianImplicit
Context ID: 3 (Accepted)
Abstract Syntax: =MOVEStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =LittleEndianImplicit
Requested Extended Negotiation: none
Accepted Extended Negotiation: none
Association Accepted (Max Send PDV: 16372)
================================
Sending query
Move SCU RQ: MsgID 1
Request:

# Dicom-Data-Set
# Used TransferSyntax: UnknownTransferSyntax
(0008,0052) CS [STUDY] # 6, 1 QueryRetrieveLevel
(0020,000d) UI [100.118.116.2005.2.1.1132055943.796.3] # 38, 1 StudyInstanceUID
DIMSE Command To Send:

# Dicom-Data-Set
# Used TransferSyntax: UnknownTransferSyntax
(0000,0000) UL 0 # 4, 1 CommandGroupLength
(0000,0002) UI =MOVEStudyRootQueryRetrieveInformationModel # 28, 1 AffectedSOPClassUID
(0000,0100) US 33 # 2, 1 CommandField
(0000,0110) US 1 # 2, 1 MessageID
(0000,0600) AE [DOGPACS] # 8, 1 MoveDestination
(0000,0700) US 0 # 2, 1 Priority
(0000,0800) US 1 # 2, 1 DataSetType
DIMSE sendDcmDataset: sending 104 bytes
DIMSE sendDcmDataset: sending 60 bytes
DIMSE receiveCommand
DIMSE receiveCommand: 1 pdv's (128 bytes), presID=3
DIMSE Command Received:

# Dicom-Data-Set
# Used TransferSyntax: LittleEndianImplicit
(0000,0002) UI =MOVEStudyRootQueryRetrieveInformationModel # 28, 1 AffectedSOPClassUID
(0000,0100) US 32801 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 257 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
(0000,1020) US 6 # 2, 1 NumberOfRemainingSuboperations
(0000,1021) US 0 # 2, 1 NumberOfCompletedSuboperations
(0000,1022) US 0 # 2, 1 NumberOfFailedSuboperations
(0000,1023) US 0 # 2, 1 NumberOfWarningSuboperations
Move Response 1: C-Move RSP: MsgID: 1 [Status=Pending]
AffectedSOPClassUID: =MOVEStudyRootQueryRetrieveInformationModel
Data Set: Not Present
NumberOfRemainingSubOperations: 6
NumberOfCompletedSubOperations: 0
NumberOfFailedSubOperations: 0
NumberOfWarningSubOperations: 0
PDU Type: Associate Request, PDU Length: 213 + 6 bytes PDU header
01 00 00 00 00 d5 00 01 00 00 44 4f 47 50 41 43
53 20 20 20 20 20 20 20 20 20 43 41 4c 4c 45 44
5f 41 45 20 20 20 20 20 20 20 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 10 00 00 15 31 2e
32 2e 38 34 30 2e 31 30 30 30 38 2e 33 2e 31 2e
31 2e 31 20 00 00 38 01 00 00 00 30 00 00 19 31
2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 35 2e 31
2e 34 2e 31 2e 31 2e 37 40 00 00 13 31 2e 32 2e
38 34 30 2e 31 30 30 30 38 2e 31 2e 32 2e 31 50
00 00 38 51 00 00 04 00 00 40 00 52 00 00 22 31
2e 32 2e 38 32 36 2e 30 2e 31 2e 33 36 38 30 30
34 33 2e 32 2e 31 35 34 35 2e 31 2e 32 2e 31 2e
37 55 00 00 06 64 76 74 32 2e 31
Constructing Associate AC PDU
DIMSE receiveCommand
DIMSE receiveCommand
DIMSE receiveCommand: 1 pdv's (128 bytes), presID=3
DIMSE Command Received:

# Dicom-Data-Set
# Used TransferSyntax: LittleEndianImplicit
(0000,0002) UI =MOVEStudyRootQueryRetrieveInformationModel # 28, 1 AffectedSOPClassUID
(0000,0100) US 32801 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 257 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
(0000,1020) US 5 # 2, 1 NumberOfRemainingSuboperations
(0000,1021) US 0 # 2, 1 NumberOfCompletedSuboperations
(0000,1022) US 1 # 2, 1 NumberOfFailedSuboperations
(0000,1023) US 0 # 2, 1 NumberOfWarningSuboperations
Move Response 2: C-Move RSP: MsgID: 1 [Status=Pending]
AffectedSOPClassUID: =MOVEStudyRootQueryRetrieveInformationModel
Data Set: Not Present
NumberOfRemainingSubOperations: 5
NumberOfCompletedSubOperations: 0
NumberOfFailedSubOperations: 1
NumberOfWarningSubOperations: 0
6) the avdavantage of compressed transfert syntaxt (incoming )is jsut to list the bandwidth usage ??

7)juste +ti or +tb or +te do wath i am waiting.
dicom file received is write in implicit little endian.
if i edite tag 0002,0010 i found 1.2.840.10008.1.2 or 1.2.840.10008.1.2.1 or 1.2.840.10008.1.2.2 depending asked format for writing. So correct me if it is false but tag 0002,0010 of the meta data is the tag of transfer syntax for writing files and NOT the networking transfet syntax.

thank you , it was long ;)[/i]

Marco Eichelberg
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 1445
Joined: Tue, 2004-11-02, 17:22
Location: Oldenburg, Germany
Contact:

#2 Post by Marco Eichelberg »

can i use movescu with --prefer-big and --prefer-lossless same time.?
No. You can only specify a single --prefer option. The storescu and storescp tools allow for more complex negotiations of presentation contexts (i.e. combinations of SOP class and transfer syntax) by way of a configuration file, but we have never implemented that for movescu.
are incoming association, outgoing association and output transfert syntax independant? can i use -xb +xs +ti (propose-little , --prefer-big , --write-xfer-big)
Yes.
i have see in dicom standart documenttation than a compressed dicom image is in explicit little endian is it true orcan it be changed ?
All compressed DICOM transfer syntaxes are equivalent to Explicit VR little endian except for the pixel data element which is treated differently. There is no way in DICOM to transmit a compressed images with big endian byte order.
-xb define the outgoing association to use (propose) explicit big endian [...]
i use dvtk serveur emulator. and i disable implicit litle endian transfert syntaxe. so i have set server support juste EBE abd ELE TS. i obtene this results ...
Your results are correct. Note, however, that movescu will always propose Big Endian and Little Endian. The -xb option only changes the order in which the transfer syntaxes are proposed - in this case Big Endian is proposed first, i.e. first in list, so that a server that always accepts the first known transfer syntax then selects big endian.
+xs is to set the incoming association from the remote pacs server for sub operation (sending dicom files) (--prefer-lossless)
so dicom file are supposed to be send in jpeg lossless no ?
The +xs option only tells movescu to accept Lossless JPEG transfer syntaxes on the incoming connection if the image archive proposes them. Whether or not the images are transferred with lossless JPEG or uncompressed is the decision of the image archive - movescu will accept both. There is no way to prevent the PACS from sending uncompressed, this is the default that all DICOM systems always have to support.
always with option (-xb +xs +ti). Option +xi (--implicit only) tranfert failed. i failed also allown or whit all possible -x_ et +t_ option. i have enable all transfert syntaxe on server (dvtk emulator) see log of move scu. i dont know with.
In theory this should not happen. Must be a bug somewhere. Of course I would suspect the bug in the other system :wink:
the avdavantage of compressed transfert syntaxt (incoming )is jsut to list the bandwidth usage ??
Compressed network transfer is only useful if the image is stored in compressed form in the image archive. In that case, a compressed transfer will save network bandwidth and CPU time in the image archive which would otherwise first have to decompress the image "on the fly" and then deliver it over the network connection.
So correct me if it is false but tag 0002,0010 of the meta data is the tag of transfer syntax for writing files and NOT the networking transfet syntax.
Correct. Attribute (0002,0010) is never transferred over the network - this attribute is generated when movescu stores an incoming image in a file and describes the transfer syntax in which the file is encoded. Since movescu can receive images in one transfer syntax and store in another (as long as they are both uncompressed), (0002,0010) is no indication for what happened on the network connection.

tom
Posts: 31
Joined: Thu, 2008-04-10, 19:50

#3 Post by tom »

thank you for your responce it is realy helpfull. :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:

if i make a findscu i ask for -xe ( transfert in explicit little endian). the log is:

i propose ELE EBE ILE in this order remote serveur accept syntax explicit little endian. ok
but some information are send with a unknow transfert syntax and some information are received with a implicit little endian syntax and information resquested are trnasfered with the resquested and acepted transfert syntax explicit little endian.

i have try some serveur dvtk osirix online serveur ... and my proposed transfert syntax is accepted (assocition is ok as asked) but i can allways see in log some tranfert "unknow" or in "implicit little endian". i don t know if it is a DICOM standart imperatif ?? or somethink not implemented in movescu et findscu .. could you explaine my that ??

i have bolted in log transfert syntax not understoud.

Request Parameters:
Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.5.4
Our Implementation Version Name: OFFIS_DCMTK_354
Their Implementation Class UID:
Their Implementation Version Name:
Application Context Name: 1.2.840.10008.3.1.1.1
Calling Application Name: DOGPACS
Called Application Name: OSTOM
Responding Application Name: resp AP Title
Our Max PDU Receive Size: 16384
Their Max PDU Receive Size: 0
Presentation Contexts:
Context ID: 1 (Proposed)
Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Proposed Transfer Syntax(es):
=LittleEndianExplicit
=BigEndianExplicit
=LittleEndianImplicit
Requested Extended Negotiation: none
Accepted Extended Negotiation: none
Requesting Association
Constructing Associate RQ PDU
PDU Type: Associate Accept, PDU Length: 190 + 6 bytes PDU header
02 00 00 00 00 be 00 01 00 00 4f 53 54 4f 4d 20
20 20 20 20 20 20 20 20 20 20 44 4f 47 50 41 43
53 20 20 20 20 20 20 20 20 20 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 10 00 00 15 31 2e
32 2e 38 34 30 2e 31 30 30 30 38 2e 33 2e 31 2e
31 2e 31 21 00 00 1b 01 00 00 00 40 00 00 13 31
2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32
2e 31 50 00 00 3e 51 00 00 04 00 00 40 00 52 00
00 20 31 2e 32 2e 38 32 36 2e 30 2e 31 2e 33 36
38 30 30 34 33 2e 31 2e 31 2e 34 2e 33 2e 35 39
2e 32 55 00 00 0e 44 43 4d 4f 42 4a 34 2e 33 2e
35 39 2e 32
Association Parameters Negotiated:
Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.5.4
Our Implementation Version Name: OFFIS_DCMTK_354
Their Implementation Class UID: 1.2.826.0.1.3680043.1.1.4.3.59.2
Their Implementation Version Name: DCMOBJ4.3.59.2
Application Context Name: 1.2.840.10008.3.1.1.1
Calling Application Name: DOGPACS
Called Application Name: OSTOM
Responding Application Name: OSTOM
Our Max PDU Receive Size: 16384
Their Max PDU Receive Size: 16384
Presentation Contexts:
Context ID: 1 (Accepted)
Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =LittleEndianExplicit
Requested Extended Negotiation: none
Accepted Extended Negotiation: none
Association Accepted (Max Send PDV: 16372)
Find SCU RQ: MsgID 1
REQUEST:

# Dicom-Data-Set
# Used TransferSyntax: UnknownTransferSyntax
(0008,0052) CS [STUDY] # 6, 1 QueryRetrieveLevel
(0008,0061) CS [CT] # 2, 1 ModalitiesInStudy
(0010,0010) PN (no value available) # 0, 0 PatientsName
(0020,000d) UI (no value available) # 0, 0 StudyInstanceUID
--------
DIMSE Command To Send:

# Dicom-Data-Set
# Used TransferSyntax: UnknownTransferSyntax
(0000,0000) UL 0 # 4, 1 CommandGroupLength
(0000,0002) UI =FINDStudyRootQueryRetrieveInformationModel # 28, 1 AffectedSOPClassUID
(0000,0100) US 32 # 2, 1 CommandField
(0000,0110) US 1 # 2, 1 MessageID
(0000,0700) US 2 # 2, 1 Priority
(0000,0800) US 1 # 2, 1 DataSetType
DIMSE sendDcmDataset: sending 88 bytes
DIMSE sendDcmDataset: sending 40 bytes
DIMSE receiveCommand
DIMSE receiveCommand: 1 pdv's (88 bytes), presID=1
DIMSE Command Received:

# Dicom-Data-Set
# Used TransferSyntax: LittleEndianImplicit
(0000,0002) UI =FINDStudyRootQueryRetrieveInformationModel # 28, 1 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 258 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 132 bytes read (last: YES)
RESPONSE: 1 (Pending)

# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0005) CS (no value available) # 0, 0 SpecificCharacterSet
(0008,0052) CS [STUDY ] # 6, 1 QueryRetrieveLevel
(0008,0054) AE [OSTOM ] # 6, 1 RetrieveAETitle
(0008,0061) CS [CT] # 2, 1 ModalitiesInStudy
(0010,0010) PN [1047_060301_leg ] # 16, 1 PatientsName
(0020,000d) UI [1.2.392.200080.100.200.784297366.109.74.92.210.144.186] # 54, 1 StudyInstanceUID
--------
DIMSE receiveCommand
DIMSE receiveCommand: 1 pdv's (88 bytes), presID=1
DIMSE Command Received:
the same phenome is produce by movescu.

i have make the same observation for movescu application the 2 first log quoted in my last post are from the same move request , bigendian was asked , associtation was make in big endian but you can see some transfert syntax in sub opperation in implicit little endiane

if i modifie the movescu application to supporte only explicit little endian the find faild because not association in implicit little endian are supported

i have looked log posted on forum and they have all transfert unknow and in implicite ( for some sub operation).

i dont understant that transfert

thanks

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest