Multi Compression With One instance of DGATE

  • Hello,


    is it possible to compress incoming studies in two or three differents formats (un, j2 and jk for instance) with only one instance of DGATE ?
    I would like to make three directories by study with each of the different compression.


    I'm using dgate for a long time in differents versions under linux, and it's working well !


    I can create threes instances of dgate and param each one with the different wanted compression, i just would like to know if there was another simpliest way to do that.


    Thanks before.
    Great job.

  • Hi Marcel,


    thanks for your answer.
    I want to use this feature to open studies in different level compression via Wado.
    So i'd rather use three instances of dgate with three databases.
    I'm using the objectfile to create xml for wado...


    Many Thanks.

  • Hi,


    i'm sure the server works with Wado request but i can't configure it !!!
    I'm using directdownloadfile to make it works, but i can't pass the transfersyntax within....


    Under linux, i can't acces the webserver... with the URL like http://loaclhost/dgate?
    When i'm trying to do taht it want to download the dgate file !!!!

  • Hi Marcel,


    It's still doesn't work for me and I don't see why so I'm going to describe you my context :


    My main error is that my own web application which use conquest mainly for PACS protocol, generate it's own jnlp file and wado query for weasis. This works because I use the "DirectDownloadFile" option in the wado and I give an url for the dicom files.


    Since I want to use stream compression for dicom with dgate, I need to use dgate query to retrieve the image.


    So I removed the "DirectDownloadFile" mode and also add the "overrideDicomTagsList" : "0x00000000" option as you mention in an another post.


    Weasis is launching well and download all DicomObjects from dgate but I have a java.io.EOFException


    Code
    11.12.2013 16:31:33.332 *INFO* [pool-1-thread-1] org.weasis.dicom.explorer.wado.DownloadManager Downloading WADO references: http://<my_external_ip>/media/weasis_data/5a7952e02228abb206365d796f76108b/wado/wado_query_1.2.392.200036.9125.1.58730.33930.20120129.94545.17_20131211.xmlCacheEntry[http://<my_external_ip>/media/weasis_data/5a7952e02228abb206365d796f76108b/wado/wado_query_1.2.392.200036.9125.1.58730.33930.20120129.94545.17_20131211.xml]: updateAvailable=true,lastModified=Wed Dec 11 13:07:19 CET 2013,length=79011.12.2013 16:31:33.474 *INFO* [pool-1-thread-1] org.weasis.dicom.explorer.wado.DownloadManager [Validate with XSD schema] wado_query is valid11.12.2013 16:31:33.491 *INFO* [pool-1-thread-1] org.weasis.dicom.explorer.wado.DownloadManager Adding new patient: PATIENT NAME11.12.2013 16:31:33.502 *INFO* [pool-2-thread-1] org.weasis.dicom.explorer.wado.LoadSeries Downloading series of PATIENT NAME [1.2.392.200036.9125.3.481999152236.64672508865.21803296]11.12.2013 16:31:33.580 *INFO* [AWT-EventQueue-2] org.weasis.dicom.explorer.DicomExplorer Add series: 1.2.392.200036.9125.3.481999152236.64672508865.21803296java.io.EOFException at org.dcm4che2.io.DicomInputStream.readFully(DicomInputStream.java) at org.dcm4che2.io.DicomInputStream.readBytes(DicomInputStream.java) at org.dcm4che2.io.DicomInputStream.readValue(DicomInputStream.java) at org.dcm4che2.io.StopTagInputHandler.readValue(StopTagInputHandler.java) at org.dcm4che2.io.DicomInputStream.parse(DicomInputStream.java) at org.dcm4che2.io.DicomInputStream.readDicomObject(DicomInputStream.java) at org.dcm4che2.io.DicomInputStream.readDicomObject(DicomInputStream.java) at org.weasis.dicom.explorer.wado.LoadSeries$Download.writFile(LoadSeries.java) at org.weasis.dicom.explorer.wado.LoadSeries$Download.call(LoadSeries.java) at org.weasis.dicom.explorer.wado.LoadSeries$Download.call(LoadSeries.java) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)11.12.2013 16:31:34.054 *WARN* [pool-5-thread-1] org.weasis.dicom.explorer.wado.LoadSeries Download interruption http://<my_external_ip>/cgi-bin/dgate?requestType=WADO&studyUID=1.2.392.200036.9125.1.58730.33930.20120129.94545.17&seriesUID=1.2.392.200036.9125.3.481999152236.64672508865.21803296&objectUID=1.2.392.200036.9125.9.0.235928477.97333248.1662250136&contentType=application%2Fdicom 11.12.2013 16:31:34.092 *INFO* [AWT-EventQueue-2] org.weasis.dicom.explorer.DicomModel Remove Patient: PATIENT NAME11.12.2013 16:31:34.092 *INFO* [AWT-EventQueue-2] org.weasis.dicom.explorer.DicomModel Remove Study: 29 janv. 2012 00:00:00


    My wado query is


    XML
    <?xml version="1.0" encoding="UTF-8"?><wado_query additionnalParameters="" overrideDicomTagsList="0x00000000" requireOnlySOPInstanceUID="false" wadoURL="http://<my_external_ip>/cgi-bin/dgate" xmlns="http://www.weasis.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Patient PatientBirthDate="19650525" PatientID="DEV-VEN-1201000345-CR" PatientName="PATIENT NAME"><Study StudyDate="20120129" StudyDescription="" StudyInstanceUID="1.2.392.200036.9125.1.58730.33930.20120129.94545.17" StudyTime="094725.000"><Series Modality="CR" SeriesDescription="" SeriesInstanceUID="1.2.392.200036.9125.3.481999152236.64672508865.21803296" SeriesNumber="1001"><Instance InstanceNumber="1001" SOPInstanceUID="1.2.392.200036.9125.9.0.235928477.97333248.1662250136"/></Series></Study></Patient></wado_query>


    my jnlp template is :

    XML
    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd"><jnlp spec="1.6+" codebase="http://{{{local_host_ip}}}/media/weasis" href=""> <information> ... <security> <all-permissions /> </security> <resources><!-- Requires Java SE 6 update 10 release for jnlp extension without codebase (substance.jnlp) --> <j2se version="1.6.0_10+" href="http://java.sun.com/products/autodl/j2se" initial-heap-size="128m" max-heap-size="512m" /> <j2se version="1.6.0_10+" initial-heap-size="128m" max-heap-size="512m" /> <jar href="weasis-launcher.jar" main="true" /> <jar href="felix.jar" /><!-- Optional library (Substance Look and feel, only since version 1.0.8). Requires the new Java Plug-in introduced inthe Java SE 6 update 10 release.For previous JRE 6, substance.jnlp needs a static codebase URL --> <extension href="substance.jnlp" /><!-- Allows to get the file in pack200 compression --></resources> <application-desc main-class="org.weasis.launcher.WebstartLauncher"><!-- Required parameter. Define the location of config.properties (the OSGI configuration and the list of plug-ins to install/start) --> <argument>-VMPfelix.config.properties="http://{{{local_host_ip}}}/media/weasis/conf/config.properties"</argument><!-- Optional parameter. Define the location of ext-config.properties (extend/override config.properties) --> <argument>-VMPfelix.extended.config.properties="http://{{{local_host_ip}}}/media/weasis/conf/ext-config.properties"</argument><!-- Required parameter. Define the code base of Weasis for the JNLP --> <argument>-VMPweasis.codebase.url="http://{{{local_host_ip}}}/media/weasis"</argument><!-- Required parameter. Start local OSGI console on the port 17179 --> <argument>-VMPgosh.args="-sc telnetd -p 17179 start"</argument><!-- Optional parameter. Allows to have the Weasis menu bar in the top bar on Mac OS X (works only with the native Aqua look and feel) --> <argument>-VMPapple.laf.useScreenMenuBar="true"</argument><!-- Example for opening dicom files from remote xml file --> <argument>$dicom:get -w {{{wado_query_file_url}}}</argument> </application-desc></jnlp>


    The query looks good and I don't know why there is this EOFException...


    I'm using dgate dgate-1.4.17c and weasis 1.2.7 in my web app.


    Don't know where to look for next so I try to have your weasis example working on my server.


    https://<my_external_ip>/cgi-bin/dgate?mode=weasis&series=DEV-VEN-1201000345-CR:1.2.392.200036.9125.3.481999152236.64672508865.21803296 <= works !


    I get a jnlp file


    XML
    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd"> <jnlp spec="1.6+" version="1.1.3" codebase="http://dicom.vital-it.ch:8089/weasis" href=""> <information> <title>Weasis</title> <vendor>Hôpitaux Universitaires de Genève (HUG)</vendor> <homepage href="docs/help.html"/> <description>DICOM images viewer</description> <description kind="short">An application to visualize and analyze DICOM images.</description> <description kind="one-line">DICOM images viewer</description> <description kind="tooltip">Weasis</description> <icon href="images/logo-button.png" kind="default" /> <icon href="images/about.png" kind="splash" /> </information> <security> <all-permissions/> </security> <resources> <!-- Requires Java SE 6 update 10 release for jnlp extension without codebase (substance.jnlp) --> <j2se version="1.6.0_10+" href="http://java.sun.com/products/autodl/j2se" initial-heap-size="128m" max-heap-size="512m" /> <j2se version="1.6.0_10+" initial-heap-size="128m" max-heap-size="512m" /> <!-- Weasis launcher --> <jar href="weasis-launcher.jar" main="true" /> <!-- OSGI Felix framework --> <jar href="felix.jar" /> <!-- Optional library (Substance Look and feel, only since version 1.0.8). Requires the new Java Plug-in introduced in the Java SE 6 update 10 release.For previous JRE 6, substance.jnlp needs a static codebase URL --> <extension href="substance.jnlp"/> <!-- Allows to get files in pack200 compression, only available from Weasis 1.1.2 --> <property name="jnlp.packEnabled" value="true" /> <!-- Required parameter. Define the location of config.properties (the OSGI configuration and the list of plug-ins to install/start) --> <property name="felix.config.properties" value="http://dicom.vital-it.ch:8089/weasis/conf/config.properties" /> <!-- Required parameter. Define the code base of Weasis for the JNLP --> <property name="weasis.codebase.url" value="http://dicom.vital-it.ch:8089/weasis" /> <!-- Required parameter. Start OSGI console on the port 17179 --> <property name="gosh.args" value="-sc telnetd -p 17179 start" /> <!-- Optional parameter. Allows to have the Weasis menu bar in the top bar on Mac OS X (works only with the native Aqua look and feel) --> <property name="apple.laf.useScreenMenuBar" value="true" /> <!-- Optional parameter. Allows to get plug-ins translations --> <property name="weasis.i18n" value="http://dicom.vital-it.ch:8089/weasis-i18n" /> <!-- Optional Weasis Documentation, appears in the menu Help > User Manual --> <!-- <property name="weasis.help.url" value="http://dicom.vital-it.ch:8089/weasis-doc" /> --> </resources> <!-- Main class --> <application-desc main-class="org.weasis.launcher.WebstartLauncher"> <!-- Example for opening dicom files from URLs --> <argument>$dicom:get -w http://<my_external_ip>/cgi-bin/dgate?port=20000&address=127.0.0.1&mode=weasisseriesxml&series=DEV-VEN-1201000345-CR:1.2.392.200036.9125.3.481999152236.64672508865.21803296&dum=.xml </argument> </application-desc> </jnlp>


    and then an xml error in java console for the wado request

    Code
    11.12.2013 17:08:43.195 *INFO* [pool-1-thread-1] org.weasis.dicom.explorer.wado.DownloadManager Downloading WADO references: http://<my_external_ip>/cgi-bin/dgate?port=20000&address=127.0.0.1&mode=weasisseriesxml&series=DEV-VEN-1201000345-CR:1.2.392.200036.9125.3.481999152236.64672508865.21803296&dum=.xmlERROR: 'ParseError at [row,col]:[1,1]Message: Contenu non autorisé dans le prologue.'11.12.2013 17:08:43.644 *ERROR* [pool-1-thread-1] org.weasis.dicom.explorer.wado.DownloadManager [Validate with XSD schema] wado_query is NOT valid11.12.2013 17:08:43.644 *ERROR* [pool-1-thread-1] org.weasis.dicom.explorer.wado.DownloadManager Reason: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]Message: Contenu non autorisé dans le prologue.javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]Message: Contenu non autorisé dans le prologue. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source) at org.weasis.dicom.explorer.wado.DownloadManager.buildDicomSeriesFromXml(DownloadManager.java) at org.weasis.dicom.explorer.wado.LoadRemoteDicomManifest.doInBackground(LoadRemoteDicomManifest.java) at org.weasis.dicom.explorer.wado.LoadRemoteDicomManifest.doInBackground(LoadRemoteDicomManifest.java) at javax.swing.SwingWorker$1.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at javax.swing.SwingWorker.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)


    and if I try the url in webbrowser:


    http://<my_external_ip>/cgi-bin/dgate?port=20000&address=127.0.0.1&mode=weasisseriesxml&series=&dum=.xml


    I have a Dicom Object file but it seems the same file that I have with my own application and dont work with weasis.


    May be u can see what I doing wrong ...


    my cgi-bin/dicom.ini is



    Thanks for your time.

  • Hi,


    for this to work, dgate in cgi-bin needs to have access to an acrnema.map where CONQUESTSRV1 is correctly defined as the local DICOM server, and an up to date dgatesop.lst. These files are defined in cgi-bin/dgate.exe


    EDIT: dgate.dic must be correct, dgatesop.lst is not used.


    Can you check this? Also make sure webscriptaddress in cgi-bin/dgate.exe is correct.


    Then at least my weasis viewer works correctly.


    Marcel

  • Hi,


    finally, to be clear in the configuration to have :
    1st:
    CONQUEST (local server) with dgate.dic, dicom.ini, acrnema.map, dgatesop.lst...


    2nd: into cgi-bin :
    dgate (the same exe than the other one)
    dicom.ini modified with special things for webserver (detailed in my precedent post)
    dgate.dic
    viewers/*weasis*.lua or *.cq


    Is it correct and complete or there is another thing i forget ?


    Thanks before

  • Are these correct?


    kFactorFile = /home/user/data/dicom.sql
    ACRNemaMap = /home/user/data/acrnema.map
    SOPClassList = /home/user/data/dgatesop.lst


    otherwise the viewers won't work! And CONQUESTSRV1 must be defined in that acrnema.map as the local server (you can define the same server more than once).


    Marcel

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!