Storescu/ dcmqrscp Transfer Syntax option

All other questions regarding DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
wkhan69
Posts: 11
Joined: Thu, 2020-01-30, 15:07

Storescu/ dcmqrscp Transfer Syntax option

#1 Post by wkhan69 »

Hi,
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
and from the dcmqrscp side:

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

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

Re: Storescu/ dcmqrscp Transfer Syntax option

#2 Post by Michael Onken »

Hi,

JPEG Baseline options are -xy for storescu, and +xy for dcmqrscp, I think.

Best regards,
Michael

PS instead of storescu you could also use dcmsend which is smarter than storescu. It can also decompress if desired, eg if the server does not accept compression. To decompress also lossy images with dcmsend, use option +dly

wkhan69
Posts: 11
Joined: Thu, 2020-01-30, 15:07

Re: Storescu/ dcmqrscp Transfer Syntax option

#3 Post by wkhan69 »

Thanks Michael! It worked! Here are the details: (in verbose mode - non-debug):

storescu output:

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 ACME1 -v -xy
I: checking input files ...
I: Requesting Association
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
I: Converting transfer syntax: JPEG Baseline -> JPEG Baseline
I: Sending Store Request (MsgID 1, VLm)
XMIT: .............
I: Received Store Response (Success)
I: Releasing Association
PS C:\temp2>
dcmqrscp output:

Code: Select all

PS C:\temp2> .\dcmqrscp -v --config dcmqrscp2.cfg  +xy
I: Association Received (Soft1:ACME1 -> ACME_STORE)
I: Association Acknowledged (Max Send PDV: 16372)
I: Received Store SCP:
I: ===================== INCOMING DIMSE MESSAGE ====================
I: Message Type                  : C-STORE RQ
I: Message ID                    : 1
I: Affected SOP Class UID        : VLMicroscopicImageStorage
I: Affected SOP Instance UID     : 1.2.276.0.75.2.7.30.1.3.191115115548333.0.113789
I: Data Set                      : present
I: Priority                      : medium
I: ======================= END DIMSE MESSAGE =======================
RECV: .............
I: Sending:
I: ===================== OUTGOING DIMSE MESSAGE ====================
I: Message Type                  : C-STORE RSP
I: Message ID Being Responded To : 1
I: Affected SOP Class UID        : VLMicroscopicImageStorage
I: Affected SOP Instance UID     : 1.2.276.0.75.2.7.30.1.3.191115115548333.0.113789
I: Data Set                      : none
I: DIMSE Status                  : 0x0000: Success
I: ======================= END DIMSE MESSAGE =======================
I: Association Release
PS C:\temp2>
This is bizarre though. The images are 12-bit RGB jpeg, not 8-bit. Yet, the storescu and dcmqrscp options "--propose-jpeg8" works and "--propose-jpeg12" does not work? In any case, I'm glad something is working!

wkhan69
Posts: 11
Joined: Thu, 2020-01-30, 15:07

Re: Storescu/ dcmqrscp Transfer Syntax option

#4 Post by wkhan69 »

Follow-up question:

Why does storescu rename the transferred file? My file, originally called "1.2.276.0.75.2.7.30.1.3.191115115548333.0.113789.dcm" was renamed to "VLm_5e3a007bde9846f1.dcm" when it appeared on the dcmqrscp side. Even when I use the option "--no-rename", it still renames the transferred file? (ie: " .\storescu localhost 11112 .\DicomFilesToSend\1.2.276.0.75.2.7.30.1.3.19
1115115548333.0.113789.dcm -aec ACME_STORE -aet ACME1 -v -xy --no-rename" )

wkhan69
Posts: 11
Joined: Thu, 2020-01-30, 15:07

Re: Storescu/ dcmqrscp Transfer Syntax option

#5 Post by wkhan69 »

2nd followup question: If I want to be able to store any type of dicom file (ie: using any compression, etc.), what options should I use with storescu and dcmqrscp commands?

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

Re: Storescu/ dcmqrscp Transfer Syntax option

#6 Post by J. Riesmeier »

Why does storescu rename the transferred file? My file, originally called "1.2.276.0.75.2.7.30.1.3.191115115548333.0.113789.dcm" was renamed to "VLm_5e3a007bde9846f1.dcm" when it appeared on the dcmqrscp side.
The DICOM Storage Service does not transfer DICOM files but DICOM datasets, so the filename is generated by the SCP (dcmqrscp); the name is not transferred.
Even when I use the option "--no-rename", it still renames the transferred file?
The SCU (storescu) has nothing to do with the filename generation on the SCP side. Also, the pretty new option --no-rename has a different meaning. The following excerpt is from storescu's manpage:

Code: Select all

  -rn   --no-rename
          do not rename processed files (default)

  +rn   --rename
          append .done/.bad to processed files

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

Re: Storescu/ dcmqrscp Transfer Syntax option

#7 Post by J. Riesmeier »

If I want to be able to store any type of dicom file (ie: using any compression, etc.), what options should I use with storescu and dcmqrscp commands?
Instead of storescu, I would suggest that you use dcmsend for this purpose.

For dcmqrscp, there is not ready-to-use solution yet. But, of course, you could specify the presentation contexts to be supported in an association negotiation profile. See documentation for details.

wkhan69
Posts: 11
Joined: Thu, 2020-01-30, 15:07

Re: Storescu/ dcmqrscp Transfer Syntax option

#8 Post by wkhan69 »

Thanks for your help J. Riesmeier!

Phil59
Posts: 2
Joined: Fri, 2020-02-07, 18:41

Re: Storescu/ dcmqrscp Transfer Syntax option

#9 Post by Phil59 »

I always use dcmsend for such things but it turns out to be not working properly for 2 days. Still it's renaming the files during the transferring proccess. I'm kinda beginner so I can't understand the problem exactly but I'm going to take part in a conference in Europe this week and I need to solve it somehow as soon as possible as I'm planning to look for some flats for sale in Barcelona after I finish my job here. However I can't find any answers and can't solve the problem.

Post Reply

Who is online

Users browsing this forum: Baidu [Spider] and 1 guest