Weasis viewer and Conquest web - working, 3.0 option in 1.4.19c1

  • Enabling java console showed errors "org.weasis.dicom.explorer.wado.LoadSeries Download interruption"


    I located a fix/workaround for an apparent bug in weasis:


    https://groups.google.com/forum/#!topic/dcm4che/9EmDxWJV6_0


    In the lua code this becomes:


    overrideDicomTagsList="0x00000000"


    while it was


    overrideDicomTagsList=""


    The change forces a different mechanism for downloading that does work over internet. Without the change it only works for us on an intranet.


    Marcel

  • Here is the code for a study level viewer:


    Put this dicom.ini in cgi-bin:


    studyviewer = weasisstudyviewer
    [weasisstudyviewer]
    source = viewers\launchWeasisStudy.cq
    header = Content-Type: application/x-java-jnlp-file\
    [weasisstudyxml]
    source = viewers\weasissstudyxml.lua


    Put this file in cgi-bin\viewers\launchWeasisStudy.cq (almost identical copy from: http://www.dcm4che.org/conflue…sis+from+any+environments)

    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 %webscriptadress%?%extra%&mode=weasisstudyxml&study=%study2%&dum=.xml </argument> </application-desc> </jnlp>


    Put this code in cgi-bin\viewers\weasisstudyxml.lua


    And go. Note that the first file downloads weasis from the internet - better make that local. Also note that at least the dgate.exe in cgi-bin needs to be updated to 1.4.17beta.


    Assumptions:
    1) webscriptaddress is set correctly in cgi-bin/dicom.ini
    2) The server's own AE title is in acrnema.map and has the correct IP and PORT.
    3) dicom.ini in cgi-bin refers to a recent dgate.dic and acrnema.map


    Marcel

  • With the remarkable help of Marcel we are all up and running successfully using Weasis as viewer to our internet clients. I'm in the process of dcoumenting all the changes that were necessary in order to make this work. In addition, all the roadbumps we hit along the way and how to avoid them in getting you up and running.


    THANKS MARCEL!!!


    Robby

  • Hi,


    At https://groups.google.com/forum/#!topic ... 3d_Oer2qGU and https://groups.google.com/forum/#!topic ... OzKxH9EH6c, I found something about this problem related for others weasis users. Here is a snippet.


    "Except the Java security restrictions described here, I forgot to mention another blocking issue (since JRE 1.7.0_40) which only allows to put property in resources when starting with "java." or "jnlp." in jnlp file. This issue has been fixed since Weasis 1.1.2 and in recent versions of weasis-pacs-connector. So, it concerns only other implementations that build the jnlp file (also the old dcm4chee-web implementation), see the workaround in the updated documentation on how to build jnlp."


    With the help and kindness of Mr Marcel, I made some changes in .Cq files to Weasis to solve the problem.


    Here is "launchWeasisStudy.cq" 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+" codebase="http://dicom.vital-it.ch:8089/weasis" href=""> <information> <title>Weasis</title> <vendor>Weasis Team</vendor> <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" /> <shortcut online="false"> <desktop /> <menu submenu="Weasis" /> </shortcut> </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 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 the file in pack200 compression --> <property name="jnlp.packEnabled" value="true" /> </resources> <application-desc main-class="org.weasis.launcher.WebstartLauncher"> <!-- ======================================================================================================= Workaround for Java security restriction which only allow to put property in resources when starting with "java." or "jnlp.". So property is passed here as argument with prefix "-VMP": <argument>-VMPpropertyname="value"</argument>. This workaround allows to have a fully trusted application with dynamic jnlp (only since weasis 1.1.2, for previous version see revision=16573), http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6653241 --> <!-- 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://dicom.vital-it.ch:8089/weasis/conf/config.properties"</argument> <!-- Optional parameter. Define the location of ext-config.properties (extend/override config.properties) --> <argument>-VMPfelix.extended.config.properties="http://dicom.vital-it.ch:8089/weasis/conf/ext-config.properties"</argument> <!-- Required parameter. Define the code base of Weasis for the JNLP --> <argument>-VMPweasis.codebase.url="http://dicom.vital-it.ch:8089/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> <!-- Optional parameter. Allows to get plug-ins translations --> <argument>-VMPweasis.i18n="http://dicom.vital-it.ch:8089/weasis-i18n"</argument> <!-- Optional Weasis Documentation, appears in the menu Help > User Manual --> <!-- <argument>-VMPweasis.help.url="http://dicom.vital-it.ch:8089/weasis-doc"</argument> --> <!-- ======================================================================================================= --> <!-- Example for opening dicom files from URLs --> <argument>$dicom:get -w %webscriptadress%?%extra%&mode=weasisstudyxml&study=%study2%&dum=.xml</argument> </application-desc> </jnlp>


    And "launchWeasis.cq" file:


    Luiz

  • The above posts use weasis from the source. With a local downloaded weasis (in htdocs/weasis, with files e.g., htdocs/weasis/felix.jar, use these files:


    launchWeasis.cq

    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://%server_name%/weasis" href=""> <information> <title>Weasis</title> <vendor>Weasis Team</vendor> <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" /> <shortcut online="false"> <desktop /> <menu submenu="Weasis" /> </shortcut> </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 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 the file in pack200 compression --> <property name="jnlp.packEnabled" value="true" /> </resources> <application-desc main-class="org.weasis.launcher.WebstartLauncher"> <!-- ======================================================================================================= Workaround for Java security restriction which only allow to put property in resources when starting with "java." or "jnlp.". So property is passed here as argument with prefix "-VMP": <argument>-VMPpropertyname="value"</argument>. This workaround allows to have a fully trusted application with dynamic jnlp (only since weasis 1.1.2, for previous version see revision=16573), http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6653241 --> <!-- 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://%server_name%/weasis/conf/config.properties"</argument> <!-- Optional parameter. Define the location of ext-config.properties (extend/override config.properties) --> <argument>-VMPfelix.extended.config.properties="http://%server_name%/weasis/conf/ext-config.properties"</argument> <!-- Required parameter. Define the code base of Weasis for the JNLP --> <argument>-VMPweasis.codebase.url="http://%server_name%/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> <!-- Optional parameter. Allows to get plug-ins translations --> <argument>-VMPweasis.i18n="http://%server_name%/weasis-i18n"</argument> <!-- Optional Weasis Documentation, appears in the menu Help > User Manual --> <!-- <argument>-VMPweasis.help.url="http://%server_name%/weasis-doc"</argument> --> <!-- ======================================================================================================= --> <argument>$dicom:get -w %webscriptadress%?%extra%&mode=weasisseriesxml&series=%series2%&dum=.xml</argument> </application-desc> </jnlp>


    luanchWeasisStudy.cq

    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://%server_name%/weasis" href=""> <information> <title>Weasis</title> <vendor>Weasis Team</vendor> <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" /> <shortcut online="false"> <desktop /> <menu submenu="Weasis" /> </shortcut> </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 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 the file in pack200 compression --> <property name="jnlp.packEnabled" value="true" /> </resources> <application-desc main-class="org.weasis.launcher.WebstartLauncher"> <!-- ======================================================================================================= Workaround for Java security restriction which only allow to put property in resources when starting with "java." or "jnlp.". So property is passed here as argument with prefix "-VMP": <argument>-VMPpropertyname="value"</argument>. This workaround allows to have a fully trusted application with dynamic jnlp (only since weasis 1.1.2, for previous version see revision=16573), http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6653241 --> <!-- 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://%server_name%/weasis/conf/config.properties"</argument> <!-- Optional parameter. Define the location of ext-config.properties (extend/override config.properties) --> <argument>-VMPfelix.extended.config.properties="http://%server_name%/weasis/conf/ext-config.properties"</argument> <!-- Required parameter. Define the code base of Weasis for the JNLP --> <argument>-VMPweasis.codebase.url="http://%server_name%/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> <!-- Optional parameter. Allows to get plug-ins translations --> <argument>-VMPweasis.i18n="http://%server_name%/weasis-i18n"</argument> <!-- Optional Weasis Documentation, appears in the menu Help > User Manual --> <!-- <argument>-VMPweasis.help.url="http://%server_name%/weasis-doc"</argument> --> <!-- ======================================================================================================= --> <!-- Example for opening dicom files from URLs --> <argument>$dicom:get -w %webscriptadress%?%extra%&mode=weasisstudyxml&study=%study2%&dum=.xml</argument> </application-desc> </jnlp>


    In cgi-bin/dicom.ini use:


    EDIT: this has been tested with Weasis 1.2.7 and JRE7

  • Hi,


    I just tested with Weasis 1.2.8 and all works well.


    Only to newbies, to install weasis locally in your server, download Weasis portable zip file for sourceforge, and unpack it in your web server directory.
    After configure your webserver, change your settings as posted previously by Mr Marcel.


    Luiz

  • Hi,
    im trying to do the same with my conquest server.
    I got the newest version from sourceforge and the server and the web interface doing well.
    But by clicking the button "view" at the web-interface, i get a "dgate.exe" to download and not a jnlp File for weasis.


    Is there any link wrong?
    I changed the files in the web server directonary (dicom.ini, launchweasis, launchweasisstudy) and install the weasis-portable files.


    %server-name% has to be added in your code, right? is this the ip or CONQUESTSRV1?



    Thx

  • Hi,
    ok i downloaded the newest version of weasis portable (1.1.1?) and configure the parameters.
    (I wanna get it started with Windows)
    The Web-Interface works fine now and i get a dgate.jnlp data, by clicking on the "view" button.
    By opening the jnlp file, weasis is getting downloaded, but i get this error message:
    (and weasis doesnt start) :/


    I hope you can help me :/
    (I attached all files i have changed)


    Thanks a lot!!!
    phskate


    Error Message:


    java.lang.NullPointerException
    at java.io.File.<init>(Unknown Source)
    at org.weasis.launcher.WeasisLauncher.loadProperties(WeasisLauncher.java:647)
    at org.weasis.launcher.WeasisLauncher.launch(WeasisLauncher.java:238)
    at org.weasis.launcher.WebstartLauncher.main(WebstartLauncher.java:60)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.sun.javaws.Launcher.executeApplication(Unknown Source)
    at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
    at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
    at com.sun.javaws.Launcher.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)



    My 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+" codebase="http://127.0.0.1/weasis" href=""> <information> <title>Weasis</title> <vendor>Weasis Team</vendor> <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" /> <shortcut online="false"> <desktop /> <menu submenu="Weasis" /> </shortcut> </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 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 the file in pack200 compression --> <property name="jnlp.packEnabled" value="true" /> </resources> <application-desc main-class="org.weasis.launcher.WebstartLauncher"> <!-- ======================================================================================================= Workaround for Java security restriction which only allow to put property in resources when starting with "java." or "jnlp.". So property is passed here as argument with prefix "-VMP": <argument>-VMPpropertyname="value"</argument>. This workaround allows to have a fully trusted application with dynamic jnlp (only since weasis 1.1.2, for previous version see revision=16573), http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6653241 --> <!-- 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://127.0.0.1/weasis/conf/config.properties"</argument> <!-- Optional parameter. Define the location of ext-config.properties (extend/override config.properties) --> <argument>-VMPfelix.extended.config.properties="http://127.0.0.1/weasis/conf/ext-config.properties"</argument> <!-- Required parameter. Define the code base of Weasis for the JNLP --> <argument>-VMPweasis.codebase.url="http://127.0.0.1/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> <!-- Optional parameter. Allows to get plug-ins translations --> <argument>-VMPweasis.i18n="http://127.0.0.1/weasis-i18n"</argument> <!-- Optional Weasis Documentation, appears in the menu Help > User Manual --> <!-- <argument>-VMPweasis.help.url="http://127.0.0.1/weasis-doc"</argument> --> <!-- ======================================================================================================= --> <argument>$dicom:get -w http://127.0.0.1/cgi-bin/dgate.exe?port=5678&address=127.0.0.1&mode=weasisseriesxml&series=0009703828:1.3.46.670589.5.2.10.2156913941.892665339.860724&dum=.xml</argument> </application-desc> </jnlp>


    My dicom.ini:

    Code
    ## This file contains configuration information for the conquest cgi web server;# it must be in the same directory as the dgate.exe in the web server script directory.# For wamp: dgate.exe runs if it is put in C:\wamp\Apache2\cgi-bin# The server home page is then "http://127.0.0.1/cgi-bin/dgate.exe?mode=top"# The cgi interface has been tested with wamp5, dgate4.12d, and ie6sp1## modified 20070213: default to n4, note about ocx only required on client# modified 20080902: webreadonly ON; graphics and viewer configs; sample scripted web pages# modified 20101121: Added wadoservers section# modified 20120213: Added SQLServer, SqLite (enables lua dbquery and sql, see sample3)# modified 20120213: Added ACRNemaMap, Dictionay (enables lua dicomquery, see sample3)# modified 20120219: Organized the general samples, ecrf, soap and json# modified 20130528: Added new viewers, OpenCLinica; For 1.4.17 release[sscscp]MicroPACS = sscscpTempdir = c:\temp# database layout (copy dicom.sql to the web server script directory or point to the one in your dicom server directory)kFactorFile = c:\dicomserver\dicom.sqlTruncateFieldNames = 10# gives access to the SQL server of the DICOM server# use of independent database is also allowed (depends on scripts used)SQLServer = c:\dicomserver\data\dbase\conquest.db3SQlite = 1# gives access to all DICOM servers known in acrnema.mapACRNemaMap = C:\dicomserver\acrnema.mapDictionary = C:\dicomserver\dgate.dic# default IP address and port of DICOM server (may be non-local, web pages empty if wrong)WebServerFor = 127.0.0.1TCPPort = 5678# AE title: only used if web client originates queries or movesMyACRNema = CONQUESTSRV1# path to script engine: ocx will not download images if wrong - shows as black square with controls# for wamp: dgate.exe runs if it is put in C:\wamp\Apache2\cgi-binWebScriptAddress = http://127.0.0.1/cgi-bin/dgate.exe# web or local location of ActiveFormProj1.ocx for download (include trailing / or \)# the activeX control will not download if wrong or security too high - shows as white square with red x# note: it only needs to be registered by the client, not the server!# for wamp: the ocx canNOT be in C:\wamp\Apache2\cgi-bin, I put it in c:\wamp\www (above cgi-bin)# - the default value is derived from WebScriptAddress#WebCodeBase = http://127.0.0.1/# if set to 1 (default), the web user cannot edit databases and (in future) other things# webpush enables push of data to other serversWebReadonly = 0WebPush = 1# this is an optional virtual directory used to http: all images from mag0# this entry is experimental and unused except for viewer=seriesviewer2# in this mode (only) ocx will not download images if wrong - shows as black square with # controls - the default value is derived from WebScriptAddress#WebMAG0Address = http://127.0.0.1/mag0# excerpt from C:\wamp\Apache2\conf\httpd.conf required for WebMAG0Address (un-# there)# or use the wamp traybar menu to create the alias#Alias /mag0/ "c:/dicomserver/data/" ##<Directory "c:/dicomserver/data"># Options Indexes MultiViews# AllowOverride None# Order allow,deny# Allow from all#</Directory># these settings control size of slice and series viewers, max size of transmitted dicom images # (0=original), compression for images sent to the activex (may be un,n1..4,j1,j2), the size of # the icons in the image list, the image type used for icons and slice display, and the dgate # mode containing the viewer (may be seriesviewer, seriesviewer2, noviewer, serversideviewer, # or aiviewer - java code of the latter not included with 1.4.14).# note: all items require at least one space left and right of the '=' ![webdefaults]size = 560dsize = 0compress = uniconsize = 48graphic = gifviewer = weasisviewerstudyviewer = weasisstudyviewer# enter address (up to not including the ?) of the WADO server for each DICOM AE listed# the sample (for AE TESTWADOSRV) comes from the DICOM standard and is not valid# the default is the local conquest server (which could use virtualservers as WADO bridge)# These WADO entries are used in 'list .... on ....'#[wadoservers]#TESTWADOSRV = http://www.hospital-stmarco/radiology/wado.php#bridge = AEOFDICOMSERVER# Here are scripted series viewers: ImageJA, dwv, flexviewer (=aiviewer), weasis# And one scripted study viewer: studyweasis[imagejaviewer]source = viewers\imagejaviewer.cq[dwv]source = viewers\dwv.lua[flexviewer]source = viewers\flexviewer.lua[weasisviewer]source = viewers\launchWeasis.cqheader = Content-Type: application/x-java-jnlp-file\[weasisstudyviewer]source = viewers\launchWeasisStudy.cqheader = Content-Type: application/x-java-jnlp-file\[weasisseriesxml]source = viewers\weasisseriesxml.lua[weasisstudyxml]source = viewers\weasisstudyxml.lua[DefaultPage]source = *.lua[OpenClinica]Source=(local)TargetServer=user@server.domain:password=xxxxx# Below here are all samples with no clear functionality# Here are some sample web pages to show how scripting works# this creates web page http://xxxxx/cgi-bin/dgate.exe?mode=sample[sample]variable = sample 1source = samples\sample.cq# this creates web page http://xxxxx/cgi-bin/dgate.exe?mode=sample2# This sample posts a file# Note: in the header parameter newline is written as \[sample2]variable = sample 2header= Content-type: text/html\Cache-Control: no-cache\line0 = <HEAD><TITLE>Conquest DICOM server - %variable%</TITLE></HEAD>line1 = <BODY BGCOLOR='CFDFCF'>line2 = <H2>Conquest DICOM server - %query_string%</H2>line3 = <FORM ACTION="dgate.exe" METHOD=POST ENCTYPE="multipart/form-data">line4 = <INPUT NAME=mode TYPE=HIDDEN VALUE=soaprequest>line5 = <INPUT NAME=port TYPE=HIDDEN VALUE=5678>line6 = <INPUT NAME=address TYPE=HIDDEN VALUE=127.0.0.1>line7 = Upload file to enter into server (dcm/v2/HL7/zip/7z/gz/tar): <INPUT NAME=filetoupload SIZE=40 TYPE=file VALUE=>line8 = <INPUT TYPE=SUBMIT VALUE=Go>line9 = </FORM>line10 = </BODY># this creates a web page scripted in lua http://xxxxx/cgi-bin/dgate.exe?mode=sample3#[sample3]#source = samples\sample3.lua# these entries create an experimental SOAP interface scripted in lua[wsdl]source = soap\wsdl.xmlheader = Content-type: text/xml\[soaprequest]source = soap\soaprequest.lua# these entries create an experimental JSON interface scripted in lua[sample4]source = json\json_sample.htmlheader = Content-type: text/html\Cache-Control: no-cache\[jsonrequest]source = json\jsonrequest.lua# these entries create a simple eCRF interface# ..?mode=studyfinder&dest=CONQUESTSRV1&key=afc0501:baseline&query==2040XXXX# creates SQL database and enters information[markstudy]source = ecrf\markstudyseries.luacaption= Select for submission[markseries]source = ecrf\markstudyseries.luacaption= Select for submission# show SQL database and selects processing[shoppingcart]source = ecrf\shoppingcart.luacaption= Process selected data# process information[ecrfprocess]source = ecrf\ecrfprocess.lua# new query form[queryforecrf]source = ecrf\queryforecrf.lua


    Launchweasis:

    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://%server_name%/weasis" href=""> <information> <title>Weasis</title> <vendor>Weasis Team</vendor> <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" /> <shortcut online="false"> <desktop /> <menu submenu="Weasis" /> </shortcut> </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 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 the file in pack200 compression --> <property name="jnlp.packEnabled" value="true" /> </resources> <application-desc main-class="org.weasis.launcher.WebstartLauncher"> <!-- ======================================================================================================= Workaround for Java security restriction which only allow to put property in resources when starting with "java." or "jnlp.". So property is passed here as argument with prefix "-VMP": <argument>-VMPpropertyname="value"</argument>. This workaround allows to have a fully trusted application with dynamic jnlp (only since weasis 1.1.2, for previous version see revision=16573), http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6653241 --> <!-- 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://%server_name%/weasis/conf/config.properties"</argument> <!-- Optional parameter. Define the location of ext-config.properties (extend/override config.properties) --> <argument>-VMPfelix.extended.config.properties="http://%server_name%/weasis/conf/ext-config.properties"</argument> <!-- Required parameter. Define the code base of Weasis for the JNLP --> <argument>-VMPweasis.codebase.url="http://%server_name%/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>


    Launweasisstudy:

  • Hi,


    WebScriptAddress is not set correctly for remote access. This adress is used in links created by the web interface for links embedded in other filesm such as the xml file with all the slice references.


    I assume you used the files provided with 1.4.17d?


    Marcel

  • Hi to all.
    First of all thanks to all the people who worked during last year to find a way to set-up Weasis with Conquest. Greath JOB, REALLY !
    After this I have a question (forgive me, I'm a noobs about Weasis and Java Applets).
    I know that Weasis support Dicom Uncompressed and Dicom JPG and JPEG-2000 compressed images.
    There is a way to use this feature ?
    In my Test installation I can see that all the images are recompressed to UN ( = Uncompressed), and this cause a huge network load during images retrieve.
    For an Internet Connetion for example Lossless JPEG 2000 or JPEG are the best way to send all the images quickly without loosing image quality at the other side.


    I've taken a look to the WEASISSTUDYXML.LUA and I saw that there is a specific section used to set the wadoTransferSyntaxUID, but It appears to have no relevance over the transmitted files.


    I'm doing something wrong ?


    Thanks againg for reading this, and have a nice Conquest !


    Davidone.


  • OOOPS !


    I swear to have taken a look at dicom.ini file and..... found nothing !
    Thanks Marcel and sorry for my eyes !!!


    But now I have another 2 questions are opened.


    1. I used a Brain MRI to make some tests and Weasis work well, but in some cases series are splitted in differents sub-series. For example. The Localizer series contains 5 axial images, 5 sagittal images and 5 coronal images. When I open this study with weasis I can see the series splitted by plane (5 ax, 5 Sag and 5 coronal).


    2. Thanks to Conquest and Weasis a possible application is to make a conquest dicom gateway able to get images from differents PACS and then display by weasis. Unfortunately the Dicom gateway isn't available thought the web server. There is a way to do It ?


    Thanks again for support and have a nice day.


    Davidone.

  • Hi Marcel. I'm back again.


    I checked the Dicom gateway functionality and unfortunately It Isn't available by the web interface.


    For example. I set:
    VirtualServerFor0 = PACS


    Where PACS is a real PACS fullfilled of Tons of Dicom studies.


    By using a Dicom client like K-PACS if I query CONQUEST I can see all the studyes on both PACS and CONQUEST (and of course I can retrieve them). But If I try to query CONQUEST from web interface I can see LOCALS studies only.
    Of course I can use the function "FIND STUDIES on server PACS" but in this way i need to push It to CONQUEST before I can be able to see it through Weasis.


    I've certainly discoveret hot water, but for a moment I hoped that the gateway was also possible via the web interface.


    There is another way to do It ?


    Thanks again for your attention.


    Davide.

  • Hi,


    the option 'find patient on local' is local, it uses a database query.


    the option 'find patient on server' when applied to local uses a dicom query and will go into virtual servers.


    I realise that the latter option does not have a viewer (e.g., weasis) link.


    The scripted interface by Luiz (packed i n in the 1.4.17d release) uses dicom queries and should go into virtual servers. ImageDate and ImageNumber in the lua scripts should be replaced by InstanceDate and InstanceNumber though.


    regards,


    Marcel


  • Thanks again for your reply Marcel.
    I was out of business for the last month due to a car accident where someone didn't stopped at the right time and knocked to my car !


    Now I'm back here !


    1) About scripting and Virtual Server I can undestand what are you suggesting me, but unfortunately I'm not so trained about lua and programming other than my alarm clock :-)
    I realize that whith LUA could be possible resolve almost needs but I'm too stupid to undestant how without examples (I'm a dumb, and I need to study a little :-) ).


    2) Now I want to report to you a little Conquest misconfiguration about Weasis.
    Taking a look at the file LaunchWeasisStudy.cq at rows 72 and 73 we have the following parameters:


    Code
    <!-- Optional parameter. Allows to get plug-ins translations --> <argument>-VMPweasis.i18n="http://%server_name%/weasis-i18n"</argument>


    Actually with Weasis 1.2.9 this is not correct. In order to load correctly the multilanguage plug-in you need to adjust the path and the folder name as follow:


    Code
    <!-- Optional parameter. Allows to get plug-ins translations --> <argument>-VMPweasis.i18n="http://%server_name%/weasis/boundle-i18n"</argument>


    I think that this fix could be useful to be included in the next Conquest release, and should be updated also launchWeasis.cq file.


    3) About 1 month ago was released Weasis 2.0.0.0. I think this is the beginning of a new Weasis Fork.
    In this new release some things has changed and needs to fe fixed in order to work correctly with Conquest.
    By downloading Weasis 2.0.0.0-portable, if you execute It locally all works fine, so I assume that this release works fine.
    Unfortunately when extracted weasis folder from the archive into the web server folder, I've found that Weasis 2 works in little different way, perhaps due to incomplete parameters passed during initialization.


    1. There's a missing file needed to launch Weasis: substance.jnlp. I've taken It "as is" from the old version (1.2.9) and this issue was fixed immediately.
    2. Don't ask me why but I needed to make a .zip of the content of the folder resources and place It in the same weasis folder. Ofcourse after this the 'resource' folder can be deleted ! this folder containg weasis logo and icon, LUT presets and Windowing presets. Isn't mandatory to have this loaded but could help :-)
    3. Language initialization is Always English unless the user manually modify the settings in preferences. If you want to start weasis with a different language localization you need to edit the file ext-config.properties inside conf folder and need to uncomment rows 33 and 35 and set the language you prefer.
    This is the original untouched portion of the configuration file:

    Code
    ##### Language code (see Java Locale: http://www.oracle.com/technetwork/java/javase/locales-137662.html). Default value is "en_US". If value is "system" then the locale of the operating system will be used (client-side).
    #locale.lang.code=fr
    ##### Format code for number and date (see Java Locale). Default value is "system". If value is "system" then the locale of the operating system will be used (client-side).
    #locale.format.code=fr_CH


    Perhaps this isn't the perfect way because this is a sort of override, but for now I solved the problem in this way.


    I repeat again: by lauching weasis using the Win32 loader the program loads correctly, so I suspect that there are new parameters that needs to be passed from the weasisstudylauncher.


    This isn't a bug. Is a natural evolution of the software.


    Now I hope that my personal experience could be helpful to other peoples and to try to find a way to keep up-to date the weasis's Conquest launcher.


    Thanks for reading this. I apologize for my bad english... I can't do better !


    Davide.

Participate now!

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