MINT Integration

144 views
Skip to first unread message

Mario

unread,
Dec 11, 2012, 7:50:45 PM12/11/12
to mint...@googlegroups.com
Hi All,

I was hoping that someone could please help me out with some guidance or point me in the right direction. For my final year project at university i am attempting to build a web application that can display medical images (possibly videos too). At the moment i am using dcm4che to store the DICOM files and retrieve them using the WADO service. There are limitation to the WADO,  and I have to query the dcm4che database directly to retrieve information about the studies/series/instances. To my understanding MINT does not provide image rendering of DICOM files, however i was wondering if there was any way to integrate it with WADO in DCM4CHEE and get them to work together, what steps would i take to integrate MINT with WADO. I have tried to do some research on it but i couldnt find any guidance, or anything alike, so i was hoping someone could point me in the right direction.

Thank you in advance,
Mario

Andy Wilson

unread,
Dec 14, 2012, 10:23:51 AM12/14/12
to mint...@googlegroups.com
Hi Mario,

MINT is for medical imaging (DICOM) data storage and retrieval and doesn’t provide anything that will help with rendering the images.

WADO and MINT are complementary, but not designed to interoperate.  WADO is based on SOAP, whereas MINT (and the new WADO-RS) are based on REST.  You seem to be asking if you could store your DICOM files in a MINT server and then load them using the WADO interface, is that right?  If so, I’m not aware of anything which does this – in theory, you could create an adaption layer or proxy, but I suspect that’s more work than you want to do.

I’m assuming your application code is written in Java.  What about using the MINTJavaSDK to load the data using the MINT interface into your code?  You can get the code for this here: http://medical-imaging-network-transport.googlecode.com/svn/trunk/MINTJavaSDK (use Subversion to check out a copy).

You can use the DICOM2MINT or DICOMSend utilities (also in Subversion at http://medical-imaging-network-transport.googlecode.com/svn/trunk/) to convert or send your DICOM files to the MINT server.

Hope this helps,
Andy.

Tim Dawson

unread,
Dec 16, 2012, 4:12:54 PM12/16/12
to mint...@googlegroups.com

Hi Mario,

 

The lack of direct access to metadata with WADO was indeed one of the major reasons MINT was created.  You are correct that MINT does not provide image rendering of DICOM files. This was a design decision made for separation of concerns, as providing data access is a completely separate thing from rendering images.

 

The reference implementation of MINT is available on http://code.google.com/p/medical-imaging-network-transport/ . It uses DCM4CHE libraries internally, and creates a war file that could be deployed alongside DCM4CHEE’s war.  True integration could be done by rewriting the database layer in the reference implementation to use DCM4CHEE’s structures.  Unfortunately there is not a lot of additional documentation beyond what you have probably already found on the Google code site - once we proved the ideas of MINT in the reference implementation, many of the contributors to MINT shifted focus to commercial products development as well as getting the ideas submitted as DICOM standards such as WADO-RS, STOW, and QIDO (which make up the core of MINT 2.0).

 

Tim


________________________________________________________________________
This email has been scanned for all viruses and found to be virus free. If you have questions regarding this scanning please visit the Information Services area of http://home.vitalimages.com
________________________________________________________________________

Mario

unread,
Jan 14, 2013, 11:51:37 AM1/14/13
to mint...@googlegroups.com
Hi Andy/Tim,

Thank you both for the response and clarifying my request. As I understand creating an adaptation layer between WADO and MINT may require a lot of work and MINT 2.0 will provide what i need but my project is due in the next few months therefore  I am looking to leverage existing tools/frameworks to build my application.

The application i am building is for mobile phones, using HTML5 and retrieve the content from PACS server (i am using DCM4CHEE).

I would like to still use MINT as I think it is a very useful and would like to include it in my project.

I have managed to deploy the WAR file, and looking through the utilities, DICOM2MINT/DICOMSend i have had difficulty in using the DICOM2MINT tool from a Linux (CentOS 6) machine. I keep receiving this error:

[root@localhost DICOM2MINT]# ./DICOM2MINT.sh once xml /opt/DICOMDATA/MRBRAIN.DCM http://localhost:8080/MINTServer/ nodelete

java.net.UnknownHostException: http:80
   at gnu.java.net.PlainSocketImpl.connect(libgcj.so.10)
   at java.net.Socket.connect(libgcj.so.10)
   at java.net.Socket.connect(libgcj.so.10)
   at gnu.java.net.protocol.http.HTTPConnection.getSocket(libgcj.so.10)
   at gnu.java.net.protocol.http.HTTPConnection.getOutputStream(libgcj.so.10)
   at gnu.java.net.protocol.http.Request.dispatch(libgcj.so.10)
   at gnu.java.net.protocol.http.HTTPURLConnection.connect(libgcj.so.10)
   at gnu.java.net.protocol.http.HTTPURLConnection.getResponseCode(libgcj.so.10)
   at org.nema.medical.mint.dcmimport.DCMImportMain.checkServerExists(DCMImportMain.java:259)
   at org.nema.medical.mint.dcmimport.DCMImportMain.main(DCMImportMain.java:133)


I have used the utility from a Windows machine and have been able to send DICOM to the MINTServer running on the Linux machine.

For this reason i am unable to test my method of using MINT, as i would like to run the DICOM2MINT as a daemon on the DCM4CHEE DICOM Folder, so I was wondering if you could please provide some guidance since you guys have a good knowledge of MINT.

If i was to use the DICOM2MINT utility as DAEMON service to scan the DCM4CHEE in correct directory for new DICOM files that are added, this would convert them and send them to the MINT Server? If that is the case then i would be able to request the MINTServer and retrieve the XML and be able to format it to JSON using an XLST.

Thank you in advanced and i hope you guys can help me. Hope I have provided enough information of what im a trying to create.

Mario

Timothy Culp (Harris)

unread,
Jan 14, 2013, 12:23:16 PM1/14/13
to mint...@googlegroups.com
Mario,

I believe the DICOM2MINT.sh script does not take the same parameters as the calling the java application natively. So you would either do something like:

java -jar DICOM2MINT.jar once xml /opt/DICOMDATA/MRBRAIN.DCM http://localhost:8080/MINTServer/ nodelete

or

DICOM2MINT.sh /opt/DICOMDATA/MRBRAIN.DCM localhost nodelete

The script was meant to simplify the parameter passing but I guess it just leads to confusion. Calling the application directly should work on both platforms.

Mario

unread,
Jan 14, 2013, 1:55:42 PM1/14/13
to mint...@googlegroups.com
I have attempted both of the commands and still i cannot successfully send the DICOM to the MINT server. I have built a fresh JAR DICOM2MINT but still the same thing. This is the error code, i dont know if its just me being stupid.

[root@localhost build]# java -jar DICOM2MINT.jar once xml /opt/DICOMDATA/MRBRAIN.DCM http://localhost:8080/MINTServer/ nodelete
Exception in thread "main" java.lang.ExceptionInInitializerError
   at java.lang.Class.initializeClass(libgcj.so.10)
   at org.nema.medical.mint.dcmimport.DCMImportMain.main(DCMImportMain.java:153)
Caused by: java.lang.RuntimeException: javax.xml.parsers.ParserConfigurationException: http://apache.org/xml/features/nonvalidating/load-external-dtd
   at org.nema.medical.mint.dcm2mint.ProcessImportDir.<clinit>(ProcessImportDir.java:90)
   at java.lang.Class.initializeClass(libgcj.so.10)
   ...1 more
Caused by: javax.xml.parsers.ParserConfigurationException: http://apache.org/xml/features/nonvalidating/load-external-dtd
   at gnu.xml.dom.DomDocumentBuilderFactory.setFeature(libgcj.so.10)
   at org.nema.medical.mint.dcm2mint.ProcessImportDir.<clinit>(ProcessImportDir.java:87)
   ...2 more

Thanks,

Mario

Timothy Culp (Harris)

unread,
Jan 14, 2013, 2:31:30 PM1/14/13
to mint...@googlegroups.com
The only time I have seen issues with DICOM2MINT is when the MINTServer is out of sync with the DICOM2MINT application. This can happen if the server and the applications were built at different times causing marshalling errors if the schemas are different. Or it can happen if the default JRE is different then the JDK you used to build the server or application. 

Make sure your JAVA_HOME environment variable is set to point to the JDK directory you used to build your baseline.
Reply all
Reply to author
Forward
0 new messages