I am trying to send a dicom file using storescu command to a PACS simulator (using dcmqrscp command). I have followed the example here: https://support.dcmtk.org/redmine/proje ... gWithDCMTK
(see "Sending Images with storescu" section). The example seems to work for me as long as I use the " +xs --prefer-lossless " option with dcmqrscp . ie: "dcmqrscp -c dcmqrscp.cfg --prefer-lossless". This is used along with "storescu localhost 11112 ct-compressed.dcm -aec ACME_STORE -aet ACME1 -d --required --propose-lossless". (interesting that "dcmqrscp -c dcmqrscp.cfg --propose-lossless" does not work).
My question is, when I try to send my own sample dicom file, located here:
https://drive.google.com/file/d/12Kx9Zg ... sp=sharing
what options can I use with the storescu and dcmqrscp commands for the transfer syntax/compression? This file, when I view with a dicom view, shows it is a jpeg baseline (process 1). I don't see any option for this in the help manuals for storescu and dcmqrscp commands. This file is encoded with a jpeg lossy type (baseline 1), and is not compressed (other than the regular compression that is part of the jpeg "lossy" format). As well, I believe the image created in this dicom file (RGB) is 12-bit data. Even so, with the "-xx" option with storescu command and "+xx" with the dcmqrscp command do not work. I've experimented with various other transfer syntax/compression options for both commands, but with no success.
Can anyone suggest any options I can try, or is there something else I am missing?
Code: Select all
PS C:\temp2> .\storescu localhost 11112 .\DicomFilesToSend\1.2.276.0.75.2.7.30.1.3.19
1115115548333.0.113789.dcm -aec ACME_STORE -aet ANY -d -xx
D: $dcmtk: storescu v3.6.5 2019-10-28 $
D:
I: checking input files ...
D: Request Parameters:
D: ====================== BEGIN A-ASSOCIATE-RQ =====================
D: Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.5
D: Our Implementation Version Name: OFFIS_DCMTK_365
D: Their Implementation Class UID:
D: Their Implementation Version Name:
D: Application Context Name: 1.2.840.10008.3.1.1.1
D: Calling Application Name: ANY
D: Called Application Name: ACME_STORE
D: Responding Application Name: ACME_STORE
D: Our Max PDU Receive Size: 16384
D: Their Max PDU Receive Size: 0
D: Presentation Contexts:
D: Context ID: 1 (Proposed)
D: Abstract Syntax: =AmbulatoryECGWaveformStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =JPEGExtended:Process2+4
D: Context ID: 3 (Proposed)
D: Abstract Syntax: =AmbulatoryECGWaveformStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =LittleEndianExplicit
D: =BigEndianExplicit
D: =LittleEndianImplicit
D: Context ID: 5 (Proposed)
D: Abstract Syntax: =BasicTextSRStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =JPEGExtended:Process2+4
...
D: Abstract Syntax: =XRayRadiofluoroscopicImageStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =LittleEndianExplicit
D: =BigEndianExplicit
D: =LittleEndianImplicit
D: Requested Extended Negotiation: none
D: Accepted Extended Negotiation: none
D: Requested User Identity Negotiation: none
D: User Identity Negotiation Response: none
D: ======================= END A-ASSOCIATE-RQ ======================
I: Requesting Association
D: setting network send timeout to 60 seconds
D: setting network receive timeout to 60 seconds
D: Constructing Associate RQ PDU
D: PDU Type: Associate Accept, PDU Length: 4315 + 6 bytes PDU header
D: Only dumping 512 bytes.
D: 02 00 00 00 10 db 00 01 00 00 41 43 4d 45 5f 53
D: 54 4f 52 45 20 20 20 20 20 20 41 4e 59 20 20 20
D: 20 20 20 20 20 20 20 20 20 20 00 00 00 00 00 00
D: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D: 00 00 00 00 00 00 00 00 00 00 10 00 00 15 31 2e
D: 32 2e 38 34 30 2e 31 30 30 30 38 2e 33 2e 31 2e
D: 31 2e 31 21 00 00 1e 01 00 00 00 40 00 00 16 31
D: 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32
D: 2e 34 2e 35 31 21 00 00 1b 03 00 00 00 40 00 00
D: 13 31 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31
D: 2e 32 2e 31 21 00 00 1e 05 00 00 00 40 00 00 16
D: 31 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e
D: 32 2e 34 2e 35 31 21 00 00 1b 07 00 00 00 40 00
D: 00 13 31 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e
D: 31 2e 32 2e 31 21 00 00 1e 09 00 00 00 40 00 00
D: 16 31 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31
D: 2e 32 2e 34 2e 35 31 21 00 00 1b 0b 00 00 00 40
D: 00 00 13 31 2e 32 2e 38 34 30 2e 31 30 30 30 38
D: 2e 31 2e 32 2e 31 21 00 00 1e 0d 00 00 00 40 00
D: 00 16 31 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e
D: 31 2e 32 2e 34 2e 35 31 21 00 00 1b 0f 00 00 00
D: 40 00 00 13 31 2e 32 2e 38 34 30 2e 31 30 30 30
D: 38 2e 31 2e 32 2e 31 21 00 00 1e 11 00 00 00 40
D: 00 00 16 31 2e 32 2e 38 34 30 2e 31 30 30 30 38
D: 2e 31 2e 32 2e 34 2e 35 31 21 00 00 1b 13 00 00
D: 00 40 00 00 13 31 2e 32 2e 38 34 30 2e 31 30 30
D: 30 38 2e 31 2e 32 2e 31 21 00 00 1e 15 00 00 00
D: 40 00 00 16 31 2e 32 2e 38 34 30 2e 31 30 30 30
D: 38 2e 31 2e 32 2e 34 2e 35 31 21 00 00 1b 17 00
D: 00 00 40 00 00 13 31 2e 32 2e 38 34 30 2e 31 30
D: 30 30 38 2e 31 2e 32 2e 31 21 00 00 1e 19 00 00
D: 00 40 00 00 16 31 2e 32 2e 38 34 30 2e 31 30 30
D:
D: Parsing an A-ASSOCIATE PDU
D: Transport connection: TCP/IP, unencrypted.
D: Association Parameters Negotiated:
D: ====================== BEGIN A-ASSOCIATE-AC =====================
D: Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.5
D: Our Implementation Version Name: OFFIS_DCMTK_365
D: Their Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.5
D: Their Implementation Version Name: OFFIS_DCMTK_365
D: Application Context Name: 1.2.840.10008.3.1.1.1
D: Calling Application Name: ANY
D: Called Application Name: ACME_STORE
D: Responding Application Name: ACME_STORE
D: Our Max PDU Receive Size: 16384
D: Their Max PDU Receive Size: 16384
D: Presentation Contexts:
D: Context ID: 1 (Accepted)
D: Abstract Syntax: =AmbulatoryECGWaveformStorage
D: Proposed SCP/SCU Role: Default
D: Accepted SCP/SCU Role: Default
D: Accepted Transfer Syntax: =JPEGExtended:Process2+4
D: Context ID: 3 (Accepted)
D: Abstract Syntax: =AmbulatoryECGWaveformStorage
D: Proposed SCP/SCU Role: Default
D: Accepted SCP/SCU Role: Default
...
D: Context ID: 255 (Accepted)
D: Abstract Syntax: =XRayRadiofluoroscopicImageStorage
D: Proposed SCP/SCU Role: Default
D: Accepted SCP/SCU Role: Default
D: Accepted Transfer Syntax: =LittleEndianExplicit
D: Requested Extended Negotiation: none
D: Accepted Extended Negotiation: none
D: Requested User Identity Negotiation: none
D: User Identity Negotiation Response: none
D: ======================= END A-ASSOCIATE-AC ======================
I: Association Accepted (Max Send PDV: 16372)
I: Sending file: .\DicomFilesToSend\1.2.276.0.75.2.7.30.1.3.191115115548333.0.113789.dcm
D: DcmMetaInfo::checkAndReadPreamble() TransferSyntax="Little Endian Explicit"
D: DcmDataset::read() TransferSyntax="JPEG Baseline"
I: Converting transfer syntax: JPEG Baseline -> Little Endian Explicit
I: Sending Store Request (MsgID 1, VLm)
D: ===================== OUTGOING DIMSE MESSAGE ====================
D: Message Type : C-STORE RQ
D: Message ID : 1
D: Affected SOP Class UID : VLMicroscopicImageStorage
D: Affected SOP Instance UID : 1.2.276.0.75.2.7.30.1.3.191115115548333.0.113789
D: Data Set : present
D: Priority : medium
D: ======================= END DIMSE MESSAGE =======================
W: DIMSE Warning: (ANY,ACME_STORE): sendMessage: unable to convert dataset from 'JPEG Baseline' transfer syntax to 'Little Endian Explicit'
E: Store Failed, file: .\DicomFilesToSend\1.2.276.0.75.2.7.30.1.3.191115115548333.0.113789.dcm:
E: 0006:020e DIMSE Failed to send message
E: Store SCU Failed: 0006:020e DIMSE Failed to send message
I: Aborting Association
Code: Select all
PS C:\temp2> .\dcmqrscp -d --config dcmqrscp2.cfg +xx
D: $dcmtk: dcmqrscp v3.6.5 2019-10-28 $
D:
D: Association Received: Soft1
D: setting network send timeout to 60 seconds
D: setting network receive timeout to 60 seconds
D: PDU Type: Associate Request, PDU Length: 11273 + 6 bytes PDU header
D: Only dumping 512 bytes.
D: 01 00 00 00 2c 09 00 01 00 00 41 43 4d 45 5f 53
D: 54 4f 52 45 20 20 20 20 20 20 41 4e 59 20 20 20
D: 20 20 20 20 20 20 20 20 20 20 00 00 00 00 00 00
D: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D: 00 00 00 00 00 00 00 00 00 00 10 00 00 15 31 2e
D: 32 2e 38 34 30 2e 31 30 30 30 38 2e 33 2e 31 2e
D: 31 2e 31 20 00 00 3f 01 00 ff 00 30 00 00 1d 31
D: 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 35 2e 31
D: 2e 34 2e 31 2e 31 2e 39 2e 31 2e 33 40 00 00 16
D: 31 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e
D: 32 2e 34 2e 35 31 20 00 00 68 03 00 ff 00 30 00
D: 00 1d 31 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e
D: 35 2e 31 2e 34 2e 31 2e 31 2e 39 2e 31 2e 33 40
D: 00 00 13 31 2e 32 2e 38 34 30 2e 31 30 30 30 38
D: 2e 31 2e 32 2e 31 40 00 00 13 31 2e 32 2e 38 34
D: 30 2e 31 30 30 30 38 2e 31 2e 32 2e 32 40 00 00
D: 11 31 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31
D: 2e 32 20 00 00 3f 05 00 ff 00 30 00 00 1d 31 2e
D: 32 2e 38 34 30 2e 31 30 30 30 38 2e 35 2e 31 2e
D: 34 2e 31 2e 31 2e 38 38 2e 31 31 40 00 00 16 31
D: 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32
D: 2e 34 2e 35 31 20 00 00 68 07 00 ff 00 30 00 00
D: 1d 31 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 35
D: 2e 31 2e 34 2e 31 2e 31 2e 38 38 2e 31 31 40 00
D: 00 13 31 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e
D: 31 2e 32 2e 31 40 00 00 13 31 2e 32 2e 38 34 30
D: 2e 31 30 30 30 38 2e 31 2e 32 2e 32 40 00 00 11
D: 31 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e
D: 32 20 00 00 3f 09 00 ff 00 30 00 00 1d 31 2e 32
D: 2e 38 34 30 2e 31 30 30 30 38 2e 35 2e 31 2e 34
D: 2e 31 2e 31 2e 39 2e 34 2e 31 40 00 00 16 31 2e
D: 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32 2e
D:
D: Parsing an A-ASSOCIATE PDU
I: Association Received (Soft1:ANY -> ACME_STORE)
D: Parameters:
D: ====================== BEGIN A-ASSOCIATE-RQ =====================
D: Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.5
D: Our Implementation Version Name: OFFIS_DCMTK_365
D: Their Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.5
D: Their Implementation Version Name: OFFIS_DCMTK_365
D: Application Context Name: 1.2.840.10008.3.1.1.1
D: Calling Application Name: ANY
D: Called Application Name: ACME_STORE
D: Responding Application Name:
D: Our Max PDU Receive Size: 16384
D: Their Max PDU Receive Size: 16384
D: Presentation Contexts:
D: Context ID: 1 (Proposed)
D: Abstract Syntax: =AmbulatoryECGWaveformStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =JPEGExtended:Process2+4
D: Context ID: 3 (Proposed)
D: Abstract Syntax: =AmbulatoryECGWaveformStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =LittleEndianExplicit
D: =BigEndianExplicit
D: =LittleEndianImplicit
D: Context ID: 5 (Proposed)
D: Abstract Syntax: =BasicTextSRStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =JPEGExtended:Process2+4
D: Context ID: 7 (Proposed)
D: Abstract Syntax: =BasicTextSRStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =LittleEndianExplicit
D: =BigEndianExplicit
D: =LittleEndianImplicit
D: Context ID: 9 (Proposed)
D: Abstract Syntax: =BasicVoiceAudioWaveformStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =JPEGExtended:Process2+4
D: Context ID: 11 (Proposed)
D: Abstract Syntax: =BasicVoiceAudioWaveformStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =LittleEndianExplicit
D: =BigEndianExplicit
D: =LittleEndianImplicit
D: Context ID: 13 (Proposed)
D: Abstract Syntax: =BlendingSoftcopyPresentationStateStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =JPEGExtended:Process2+4
D: Context ID: 15 (Proposed)
D: Abstract Syntax: =BlendingSoftcopyPresentationStateStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =LittleEndianExplicit
D: =BigEndianExplicit
D: =LittleEndianImplicit
D: Context ID: 17 (Proposed)
D: Abstract Syntax: =CardiacElectrophysiologyWaveformStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =JPEGExtended:Process2+4
D: Context ID: 19 (Proposed)
D: Abstract Syntax: =CardiacElectrophysiologyWaveformStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =LittleEndianExplicit
D: =BigEndianExplicit
D: =LittleEndianImplicit
D: Context ID: 21 (Proposed)
D: Abstract Syntax: =ChestCADSRStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =JPEGExtended:Process2+4
D: Context ID: 23 (Proposed)
D: Abstract Syntax: =ChestCADSRStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =LittleEndianExplicit
D: =BigEndianExplicit
D: =LittleEndianImplicit
D: Context ID: 25 (Proposed)
D: Abstract Syntax: =ColonCADSRStorage
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =JPEGExtended:Process2+4
...
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =LittleEndianExplicit
D: =BigEndianExplicit
D: =LittleEndianImplicit
D: Requested Extended Negotiation: none
D: Accepted Extended Negotiation: none
D: Requested User Identity Negotiation: none
D: User Identity Negotiation Response: none
D: ======================= END A-ASSOCIATE-RQ ======================
D: Constructing Associate AC PDU
I: Association Acknowledged (Max Send PDV: 16372)
D: ====================== BEGIN A-ASSOCIATE-AC =====================
D: Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.5
D: Our Implementation Version Name: OFFIS_DCMTK_365
D: Their Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.5
D: Their Implementation Version Name: OFFIS_DCMTK_365
D: Application Context Name: 1.2.840.10008.3.1.1.1
D: Calling Application Name: ANY
D: Called Application Name: ACME_STORE
D: Responding Application Name:
D: Our Max PDU Receive Size: 16384
D: Their Max PDU Receive Size: 16384
D: Presentation Contexts:
D: Context ID: 1 (Accepted)
D: Abstract Syntax: =AmbulatoryECGWaveformStorage
D: Proposed SCP/SCU Role: Default
D: Accepted SCP/SCU Role: Default
D: Accepted Transfer Syntax: =JPEGExtended:Process2+4
D: Context ID: 3 (Accepted)
D: Abstract Syntax: =AmbulatoryECGWaveformStorage
D: Proposed SCP/SCU Role: Default
D: Accepted SCP/SCU Role: Default
D: Accepted Transfer Syntax: =LittleEndianExplicit
...
D: Context ID: 253 (Accepted)
D: Abstract Syntax: =XRayRadiofluoroscopicImageStorage
D: Proposed SCP/SCU Role: Default
D: Accepted SCP/SCU Role: Default
D: Accepted Transfer Syntax: =JPEGExtended:Process2+4
D: Context ID: 255 (Accepted)
D: Abstract Syntax: =XRayRadiofluoroscopicImageStorage
D: Proposed SCP/SCU Role: Default
D: Accepted SCP/SCU Role: Default
D: Accepted Transfer Syntax: =LittleEndianExplicit
D: Requested Extended Negotiation: none
D: Accepted Extended Negotiation: none
D: Requested User Identity Negotiation: none
D: User Identity Negotiation Response: none
D: ======================= END A-ASSOCIATE-AC ======================
I: Association Aborted