dicomrouter tool

155 views
Skip to first unread message

David M

unread,
Mar 23, 2020, 2:05:31 PM3/23/20
to RSNA MIRC CTP/TFS User Group
Hi!
does somebody use the tool called "dicomrouter" downlodable from RSNA mirc site? 
I'm looking for some examples of a config file but i'm not lucky today.
can we help me please?
thankyou very much.

John Perry

unread,
Mar 23, 2020, 4:09:19 PM3/23/20
to rsnas-ctpmir...@googlegroups.com
The program displays a help file (attached to this message).
 
The program was written to distribute DICOM transmissions to one or more destinations according to their contents. Each destination has a queue which has a priority. Non-empty queues are serviced in priority order. To be entered into a queue for a destination, an object must meet the requirements of the destination's script. The script language is described in the help file. The configuration is a single XML file, also described in the help file.
 
The use case (15 years ago) was images being generated in Radiology and immediately sent to both the PACS and a viewer in the ER. With PACS everywhere today, I don't know if the program has any value. I haven't run it in a long, long time.
 
JP
--
You received this message because you are subscribed to the Google Groups "RSNA MIRC CTP/TFS User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rsnas-ctpmirc-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rsnas-ctpmirc-user-group/87ef191f-f15c-43bc-b867-f0aabd66b726%40googlegroups.com.
help.html

David M

unread,
Mar 24, 2020, 6:34:26 AM3/24/20
to RSNA MIRC CTP/TFS User Group
morning John,
first of all thankyou very much!
yes I know this file, but, did you has a template/example of this script?
I need do something that PACS can't do and I hope that this produt could do it even thought the "age" of this app.

thank you!!


El dilluns, 23 març de 2020 21:09:19 UTC+1, John Perry va escriure:
The program displays a help file (attached to this message).
 
The program was written to distribute DICOM transmissions to one or more destinations according to their contents. Each destination has a queue which has a priority. Non-empty queues are serviced in priority order. To be entered into a queue for a destination, an object must meet the requirements of the destination's script. The script language is described in the help file. The configuration is a single XML file, also described in the help file.
 
The use case (15 years ago) was images being generated in Radiology and immediately sent to both the PACS and a viewer in the ER. With PACS everywhere today, I don't know if the program has any value. I haven't run it in a long, long time.
 
JP
 
From: David M
Sent: Monday, March 23, 2020 1:05 PM
Subject: [MIRC CTP/TFS User Group] dicomrouter tool
 
Hi!
does somebody use the tool called "dicomrouter" downlodable from RSNA mirc site?
I'm looking for some examples of a config file but i'm not lucky today.
can we help me please?
thankyou very much.
--
You received this message because you are subscribed to the Google Groups "RSNA MIRC CTP/TFS User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rsnas-ctpmirc-user-group+unsub...@googlegroups.com.

John Perry

unread,
Mar 24, 2020, 10:37:48 AM3/24/20
to rsnas-ctpmir...@googlegroups.com
David:
 
I rebuilt DicomRouter and put the updated version on the RSNA site at:
 
 
I made a few changes to add features that were not available when it was originally written (specifically, several script functions).
 
If I understood your last email correctly, you want guidance on how to create the configuration file for a specific project.
 
Here is a configuration I used for testing:
 
<router log-depth="20">
    <scp
        aetitle="ROUTER"
        ipaddress="autodetect"
        port="9000" />
    <queue
        name="CT"
        destination="dicom://CTP:ROU...@192.168.0.225:9001"
        priority="5">
        <script>
            Modality.equals("CT")
        </script>
    </queue>
    <queue
        name="MR"
        destination="dicom://CTP:ROU...@192.168.0.225:9002"
        priority="3">
        <script>
            Modality.equals("MR")
        </script>
    </queue>
    <queue
        name="XX"
        destination="dicom://CTP:ROU...@192.168.0.225:9003"
        priority="9">
        <script>
            !Modality.equals("CT") * !Modality.equals("MR")
        </script>
    </queue>
    <queue
        name="All Images"
        destination="dicom://CTP:ROU...@192.168.0.225:9004"
        priority="10">
        <script>
            true.
        </script>
    </queue>
</router>
 
The file must be called config.xml, and it must be in the DicomRouter directory that is automatically created by the installer.
 
In this configuration, I specified that the router's DICOM Storage SCP listen on port 9000. When the SCP receives images, it doesn't care about the AE Titles, but the program displays the configuration parameters on its Status pane in case a modality or ACS administrator needs them to configure their equipment.
 
I defined four queues in this configuration. Each queue has its own DICOM name, destination URL, priority, and script.
 
All received images are presented to all queues. Each queue accepts only the images that match its script. The script language is described in this wiki article: http://mircwiki.rsna.org/index.php?title=The_CTP_DICOM_Filter. The article describes the syntax as well as all the functions that are available in scripts.
 
The first queue only accepts CT images. The second, only MR. The third, only images that are neither CT nor MR. The last queue accepts all images. Note that I used DICOM standard keywords in the scripts. If you want to use numerical notation, be sure to read the article above, which specifies that elements be enclosed in square brackets, not parentheses - e.g., [0008,0060], not (0008,0060).
 
For testing, I set up a CTP site with four pipelines, each with a DicomStorageSCP on its own port (9001, 9002, 9003, and 9004). In a real-world situation, queues would probably be aimed at systems with different IP addresses, but the queue doesn't care where it is pointed.
To unsubscribe from this group and stop receiving emails from it, send an email to rsnas-ctpmirc-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rsnas-ctpmirc-user-group/6678c39c-a5d2-4350-8535-fa156126fbec%40googlegroups.com.

David M

unread,
Mar 24, 2020, 11:05:12 AM3/24/20
to RSNA MIRC CTP/TFS User Group
Hi John!
yes!
i take a look and send you my comments.
awesome!
thank you very much.

El dimarts, 24 març de 2020 15:37:48 UTC+1, John Perry va escriure:

David M

unread,
Mar 30, 2020, 11:31:39 AM3/30/20
to RSNA MIRC CTP/TFS User Group
Hi John,
Dicomrouter works fine but no accepts "SR" files.
can I do something with this issue?
thank you!


El dimarts, 24 març de 2020 16:05:12 UTC+1, David M va escriure:

John Perry

unread,
Apr 1, 2020, 1:01:15 PM4/1/20
to rsnas-ctpmir...@googlegroups.com
David:
 
I tried to test it, but I must have broken something, and I can't get it to run anymore. The code is very old, and all the libraries it uses have evolved significantly since DicomRouter was written. I finally concluded that it would be best to rewrite the program to use the modern libraries. It will take me a few days.
To unsubscribe from this group and stop receiving emails from it, send an email to rsnas-ctpmirc-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rsnas-ctpmirc-user-group/f280770f-5b0c-4402-a702-76e6565bd81b%40googlegroups.com.

David M

unread,
Apr 2, 2020, 3:06:07 PM4/2/20
to RSNA MIRC CTP/TFS User Group
ok John,
 
thankyou very much!!


El dimecres, 1 abril de 2020 19:01:15 UTC+2, John Perry va escriure:

John Perry

unread,
Apr 10, 2020, 11:03:11 AM4/10/20
to RSNA MIRC CTP/TFS User Group
David:

I put a new DicomRouter installer on the RSNA MIRC site at: http://mirc.rsna.org/download/DicomRouter-installer.jar.

This is an almost complete rewrite, using the latest CTP and Util libraries. It handles all the transfer syntaxes that CTP knows, including the SRs.

I'd appreciate your trying it.

Note: This version has a couple changes in the config file. They are described in the Help tab when you run the program. One is that the script language has been extended to include more functions. The other it that I changed the name of the log depth attribute. Your old config.xml file will still work, but if you want a different depth than the default, you should change the attribute name. 

I recommend doing a clean install because I moved some of the files around in the DicomRouter directory tree. 

If you get a chance to try it, please let me know if it works for you.

JP

Oliver Stephan

unread,
Feb 2, 2021, 5:47:57 AM2/2/21
to RSNA MIRC CTP/TFS User Group
Hi John,

I am once again impressed by how much you put yourself into the subject.
Am I correct when I say that the CTP server can replace the Dicom router? You only have to set up two stages, DicomReceive and DicomStore.
Thanks.

Best regards 
Oliver

John Perry

unread,
Feb 2, 2021, 8:47:22 AM2/2/21
to rsnas-ctpmir...@googlegroups.com
Oliver:
 
You can use CTP to route DICOM objects. To do so, you set up a pipeline with a single DicomImportService, plus one DicomExportService for each destination, each with its own script selecting which image types are to go to the destination.
 
Unlike DicomRouter, CTP does not support assigning a priority for an export queue, so if you are handling a large volume of images and some destinations have higher priority than others, DicomRouter is a better choice.
 
DicomRouter has a nicer status display, although the same information is available in CTP; it's just distributed across several pages.
 
DicomRouter is a little simpler to configure since everything is in one file, while in a CTP configuration, you have the CTP config.xml file plus one script file for each destination.
 
JP
To unsubscribe from this group and stop receiving emails from it, send an email to rsnas-ctpmirc-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rsnas-ctpmirc-user-group/a87ae757-400b-4808-938a-8869f9d2ade8n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages