C-Move one specific DicomSR

437 views
Skip to first unread message

Timo

unread,
Feb 1, 2021, 9:35:35 AM2/1/21
to dcm4che
Hey there,

I'm trying to c-move one specific dicom structured report (and not the entire study) from our pacs using dcm4che toolkit v5.22.6. Actually I just want to receive one private tag from this dicom SR.

I configured AET, IP and port in the pacs, opened a storeSCP and used moveSCU to move the file using this command with series level:

    ./movescu -c SOM...@123.456.7.8:1234 -m StudyInstanceUID=1.2.3 -m SeriesInstanceUID=1.2.3.4  -L SERIES --dest STORESCP

storeSCP:
    ./storescp -b STOR...@123.456.7.8:5678 --accept-unknown --directory someDirectory

I'm actually receiving a dicom file which can't be opened with a dicom viewer (weasis), while the original file can be opened. When I replace the storescp with dcmtk (dcmtk storescp) it works fine (still using dcm4chee for c-move). As I'm planning to do some modifications I would prefer using dcm4chee.

I have following questions:
- How to achieve this by using dcm4chee-toolkit's storescp?
- Is there an easier way to query one specific private tag?

Best regards

Timo

Gunter Zeilinger

unread,
Feb 2, 2021, 4:51:26 AM2/2/21
to dcm4che
Can you dump the retrieved SR by dcmdump?
What's its Transfer Syntax?
You may use WADO-RS or WADO-URI dicomWeb services to fetch the SR. With WADO-RS you may use the Metadata retrieve service to get the SR with application/dicom+json or multipart/related;type=application/dicom+xml content type.

Timo H.

unread,
Feb 2, 2021, 11:35:57 AM2/2/21
to dcm...@googlegroups.com
Thanks for your response. I will definitely have a look at the wado services.

I added some lines of the output of dcmdump below:

[...]
158: (0002,0002) UI #30 [1.2.840.10008.5.1.4.1.1.88.11] MediaStorageSOPClassUI
[...]
268: (0002,0010) UI #18 [1.2.276.0.50.1.2.1] TransferSyntaxUID
[...]
16:37:24,185 WARN  - Unrecognized VR code: 1400H - treat as UN
16:37:24,193 WARN  - IOException during read of (4B50,0403) [...] @ 366
java.io.EOFException
at org.dcm4che3.util.StreamUtils.readFully(StreamUtils.java:74)
at org.dcm4che3.io.DicomInputStream.readFully(DicomInputStream.java:396)
at org.dcm4che3.io.DicomInputStream.readValue(DicomInputStream.java:796)
at org.dcm4che3.tool.dcmdump.DcmDump.readValue(DcmDump.java:123)
at org.dcm4che3.io.DicomInputStream.readAttributes(DicomInputStream.java:545)
at org.dcm4che3.io.DicomInputStream.readDataset(DicomInputStream.java:479)
at org.dcm4che3.tool.dcmdump.DcmDump.parse(DcmDump.java:87)
at org.dcm4che3.tool.dcmdump.DcmDump.main(DcmDump.java:247)
dcmdump: null




--
You received this message because you are subscribed to a topic in the Google Groups "dcm4che" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dcm4che/WeOCAP_LXrc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dcm4che+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dcm4che/236ecf78-1f47-4056-a083-b7b2ebeaaab5n%40googlegroups.com.

Gunter Zeilinger

unread,
Feb 2, 2021, 12:01:04 PM2/2/21
to dcm4che
Is the object on the storage filesystem of the archive parse-able by dcmdump?
You can find its path in private Instance Attribute Storage Path (7777,1051) , expanding the Study and SR Series in the Archive UI.
If so, is the object downloaded by the UI still parse-able?
Would need a corrupted file to see, how it's got corrupted.

Gunter Zeilinger

unread,
Feb 2, 2021, 12:47:51 PM2/2/21
to dcm4che
(0002,0010) UI #18 [1.2.276.0.50.1.2.1] TransferSyntaxUID

There is no such Transfer Syntax defined by DICOM!

16:37:24,193 WARN  - IOException during read of (4B50,0403) [...] @ 366
java.io.EOFException

looks like the Dataset after the File Meta Information is Deflated (ZIP steams start with 50 4b 03 04)
But the Transfer Syntax UID for Deflated Explicit VR Little Endian is 1.2.840.10008.1.2.1.99.

Found an error concerning retrieve of objects received/stored with Deflated Explicit VR Little Endian Transfer Syntax in current archive  version 5.23.0, but it looks different to your reported one.

Gunter Zeilinger

unread,
Feb 2, 2021, 1:00:20 PM2/2/21
to dcm4che
UID prefix 1.2.276.0 is assigned to German DIN CERTCO: https://oidref.com/1.2.276.0 - but there is no child .50 registered.


https://oidref.com/1.2.276.0

Timo

unread,
Feb 3, 2021, 8:20:37 AM2/3/21
to dcm4che
Thank you again for your responses.

Let me clarify, that the pacs I'm trying to get the dicomSR from is called "jiveX" by Visus. In the pacs filesystem the files are saved as *.dicomzip. I think dcmdump doesn't support this file format, as it returns: "dcmdump: Not a DICOM Stream"

Your pointing out that the problem is related to an unknown transfer syntax which helped me to find some information in the docs of the pacs. I guess the problem is related to this section 7.6 "Private Transfer Syntaxes":

"If a DICOM communication between two JiveX Servers is established, a private VISUS transfer syntax may be used if configured. The private transfer syntaxes support sending ZIP compressed objects and will only be used for communication between JiveX Servers, never to 3rd party “StorageSCPs"

I guess the problem is on the server side here and I will have to write them? Why is this working with dcmtk? How is the server identifying if it communicates to another jivex?

Thanks again!

Gunter Zeilinger

unread,
Feb 3, 2021, 8:36:49 AM2/3/21
to dcm4che
You may specify

    --sop-classes <file|url>         file path or URL of list of accepted
                                     SOP Classes,
                                     resource:sop-classes.properties by
                                     default1.2.840.10008.1.2.1.99

referring a modified sop-classes.properties with "*" replaced by a specific list of accepted Transfer Syntaxes (e.g.: 1.2.840.10008.1.2,1.2.840.10008.1.2.1,1.2.840.10008.1.2.1.99,1.2.840.10008.1.2.4.50,1.2.840.10008.1.2.4.51,1.2.840.10008.1.2.4.57,1.2.840.10008.1.2.4.70,1.2.840.10008.1.2.4.80,1.2.840.10008.1.2.4.81,1.2.840.10008.1.2.4.90,1.2.840.10008.1.2.4.91,1.2.840.10008.1.2.4.100,1.2.840.10008.1.2.4.101,1.2.840.10008.1.2.4.102,1.2.840.10008.1.2.4.103,1.2.840.10008.1.2.4.104,1.2.840.10008.1.2.4.105,1.2.840.10008.1.2.4.106,1.2.840.10008.1.2.4.107,1.2.840.10008.1.2.4.108,1.2.840.10008.1.2.5)

Timo

unread,
Feb 3, 2021, 9:15:58 AM2/3/21
to dcm4che
Thank you so much. Works perfectly fine now! I just replaced every '*' with the given example transfer syntaxes.

r. moeller

unread,
Feb 15, 2021, 9:28:29 AM2/15/21
to dcm4che
Hello folks, I am not sure if this is the right channel. Please apologize if not.
I have a QNAP PACS installed and easily exported studies from WEASIS to this PACS.
But I can't import any data from the QNAP PACS to WEASIS. Can somebody help me with that ?

Thanks much
Reply all
Reply to author
Forward
0 new messages