--
You received this message because you are subscribed to the Google Groups "xnat_discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xnat_discussi...@googlegroups.com.
To post to this group, send email to xnat_di...@googlegroups.com.
Visit this group at http://groups.google.com/group/xnat_discussion.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "xnat_discussion" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/xnat_discussion/7yAYzp-dYag/unsubscribe.
To unsubscribe from this group and all its topics, send an email to xnat_discussi...@googlegroups.com.
Hey Antonio,
Kevin and I were just discussing your question this morning. One thing I think Kevin and I are both pretty certain about is that you do NOT want to use DICOM composite operations to manage transfers between a server up on EC2 and some endpoint somewhere. For long-haul transfers, DICOM is just terrible, with no validation of transfer integrity, little error messaging, etc.
WADO *may* do what you want if you can find a decent implementation, but dcm4chee is pretty old stuff and isn’t even written using dcm4che2. I’m not familiar with GDCM other than knowing that it exists. I am familiar with DCMTK, but only as a set of command-line tools. Others in the discussion group may have a better idea than I do of PACS with WADO implementations that are available out there.
It does sound like XNAT would do a lot of the things that you want, with a couple caveats:
· Like Kevin said, XNAT runs a DICOM SCP receiver that handles C-STORE operations. The problem with it is the same as above: it’s great when you’re transferring data a short way, e.g. we run multiple receivers on our CNDA installation that takes in data from scanners downstairs where research subjects come in for scans. But without something in the middle to manage the traffic across the internet, you are guaranteed a certain amount of data loss trying to do C-STORE operations there.
· XNAT does not currently support C-FIND and C-MOVE operations to transfer data to or from other PACS (I’m actually working on this right now for an operational deployment of XNAT called TIP; these functions will be available as a module sometime in the near future and standard in XNAT in the 1.7 release).
The XNAT REST API should actually fulfill a lot of your requirements though. Basically deploy an XNAT onto an EC2 server, start it up, then start pushing data via the XNAT upload applet (which itself uses the REST API) or via a script utilizing curl or the XNAT data client (the XNAT REST client works but is deprecated). You can also use C++ to make the REST calls, either with standard networking libraries or some pre-packaged REST client library. You can do just about anything in XNAT with the REST API, including importing, retrieving, and querying your data.
I’d recommend having a look at the XNAT developer documentation for a start:
https://wiki.xnat.org/display/XNAT16/Home
Let me know if you have any particular questions.
Sr. Programmer/Analyst
Neuroinformatics Research Group
Washington University School of Medicine