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

  • Hi Guys - (especially Marcel - Love your work) Sorry I'm a bit late to the party


    We have been using Conquest as our in-house Pacs server for a couple of years - utilising only basic functionality - Thank you to all involved in making it available
    But I had a brain wave that made me think we could use the webserver function so that Clinicians could check xrays from home or on the road. I manged to get the webserver working and can view images server side but cannot for the life of me get weasis working
    I consider myself competent with general network and IT stuff but a newbie at Java and Wado Lua etc
    I have tried everything on this thread and always get to the same point. Clicking view from a study or series list will download the dgate.jnlp file with a warning it cold be dangerous but then I try to open that I get a Java Web Start dialog box requesting JRE 1.6.0_10+ and then an Application Error box - Unable to Launch Application - Name : Weasis Publisher: Weasis team From http://192.168.2.101


    Obviously I am trying to open weasis locally but I get the same result if the system configuration tries to download it from the web


    Background - I apologize if this is covered elsewhere or if Robby ever wrote about his odyssey then I would love that info. At work I am trying this on a WIN XP clunker and so am using Appserv rather than WAMP. I have also tried on Win 10 machine at home again using Appserv because there was a port conflict with wamp - which I could change if required but then that added another variable into the equation. This second machine has the latest version of Java and Weasis portable


    One thing I was uncertain of is what the local path to weasis should be but since I get the same error with the web down load I suspect that is not the problem
    Also not sure if I need the weasis pacs connector at this stage and where it should be placed if I do


    Anyway I am happy to provide additional info as require - since I have exactly the same problem on 2 very different set ups I can't help feeling I have been a complete dork and made a very simple mistake or assumption somewhere down the road


    Thanks in advance


    Richard

  • Richard,


    please download the jnlp file and inspect that all its links and format are OK. It may be that the jnlp file conquest makes is out of date. The correct format of the jnlp is likely dependent on the weasis version. I have not tested this for quite a while.


    The file is embedded in cgi-bin/viewers/launchWeasis.cq.


    The only modified line in launchWeasis.cq compared to the standard weasis jnlp is:


    <argument>$dicom:get -w %webscriptadress%?%extra%&mode=weasisseriesxml&compress=%compress%&series=%series2%&dum=.xml</argument>


    where webscriptadress comes from cgi-bin.dicom.ini. It accepts the spelling error ;->>>. This line passes an xml file with the url of each slice generated in turn by by weasisseriesxml.lua. But you are stuck before.


    Good luck


    Marcel

  • Hi Marcel Thanks for the quick reply


    As predicted I qualify for dunce of the year....


    I checked the argument line as suggested and the downloaded a new dgate.jnlp


    I then ran the dgate.jnlp and checked the launch file from error dialog box and all looked OK
    and THEN noticed a line above stating I didn't have the correct version of JRE....... DOH!! Had 1.6.0_6 and needs to be 10+


    So downloaded an update and on the local machine (127.0.0.1) all works .. YEAH like YEAAAH


    I am at work at present so don't have time to play but a quick try from another machine on the same network all goes well, weasis opens but no images either from study or series request


    I can probably work through this tonight but I you have the obvious solution ?


    But I had better check if my expectations are what is actually going to happen


    When I open the web server from a remote machine I want to reach the DICOM server interface and can search for images - Correct can do that
    I am then hoping that when I click view I will be faced with weasis opening and images presented - Not happening yet


    At present I have to accept the dgate.jnlp - is it possible so that it is just downloaded and wesis opens automatically?
    Second as mentioned - no images


    I am so close I can smell it ...........


    Many thanks Richard

  • Hi,


    from the jnlp file get the shortcut to the xml file and download that. Check the urls in there. It may be that webscriptaddress is set incorrectly - that what gets put into the urls.


    Or the xml file may be outdated for your current weasis version. The lua code that generates that is only a few lines, so should be easy to fix. Which version of Weasis are you on?


    regards,


    Marcel

  • Thanks Marcel I will check those things tomorrow


    I am currently on Weasis 1.2 - Only because that was the current version when the posts in this thread we sent. In my blind search I had tried many different versions which of course all failed for the Java reason, so I can easily experiment with different versions


    I have a day off tomorrow so will see what I can achieve with your pointers and the other info around- Thanks again- Will let you know what happens in 36 hrs or so


    But I was thinking at work today - (always a dangerous activity) and am wondering if in my naievity I am approaching my requirements the wrong way. I don't think I expressed it very well before. So here goes again
    My plan was to have a system where our vets could login from any browser to see images This works fine for serverside images I can get them on my ipad OK - but I can't manipulate them - just zoom and basic jpeg functions if I save them locally - OK for ipad really but not so good if you have a 5K 27" MAC - (I hasten to add I don't but the specialists do).
    I thought that if I could implement a weasis system then all the jnlp/Java action and the running of weasis would happen on the same machine as Conquest and would just be served up as a web page in any browser any platform
    As mentioned currently - even when I get the lack of images sorted out - it appears that the required jnlp file and weasis are downloaded from the server (or net)to the computer doing the search and then run on that computer. This only works (at least for me) if the computer is running the exactly correct version of JRE and I suspect (although yet to check) that it wont work on an ipad - no Java - or a MAC -although where does appear to be a weasis-mac folder on the web server so that's hopeful


    As you can see a little knowledge can be very frustrating


    If this approach is the wrong way to realise the dream then that's fine I will still press on to see what I can achieve- for interests sake, but is there a better way to do all this ? -


    I don't wish to be a serial poster and don't want to waste anyone's time with hand holding, I am quite happy investigating myself but would appreciate your opinion as to whether I am woefully misguided on what can be achieved with weasis as described


    Best wishes from downunder - 36 C today and only the start of spring :D


    Richard

  • Hi Richard,


    weasis indeed runs on the user's machine. There are also HTML5 viewers like dwv that run on the user's side.


    It is possible to run quite some things on the server, but I have never gotten around to code a more full fledged viewer.


    in wadoViewer.lua you can see the contours of a serverside viewer. It would be possible to add level/window/resolution frame controls etc. Disadvantage is that updates will be quite slow.


    Marcel

  • Hi Marcel


    Well your almost rid of me - I had a good day today


    I checked the jnlp file generated from the launchweasis.cq file a realised the problem was with the webscriptaddresss - well sort of
    Because my sever is behind a file wall and needs port forwarding the webscriptaddress is ipaddsress:portnumber (ie 123.456.78.9:1223)
    But I noticed that the generated file has the correct full address in most places but where the %server_name% variable is used only the ipaddress is used not the port number. So I hard entered the full address at every instance and VIOLA weasis and images Thanks so much for your guidance


    The only issue on windows is the whole process seems to be very Java specific, at least for me
    I have to have JRE 1.0.6_10+ or it fails any early or later versions won't work and later versions actually have to be removed
    Not sure if I can edit the .lq file for late java versions?


    Now... I am trying to get things to work on macs
    Because I don't know where to put the weasis files on the webserver for local download - I tried all the usual suspects and none worked so if anyone can help out that would be great - I have made a bastardised Launchweasis.cg which points to the remote site for weasis download and then local server for images


    The generated jnlp works like magic if i copy to my Win machine and run but on the mac only get weasis and no images. I assume there is something amiss with the $dicom:get argument on a mac?


    Here is the file with my server ip address and port changed to protect the innocent


    <!-- 20140126; mvh; new version for java7; updated to pass compress mode -->


    <?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://123.456.78.9:1234/weasis/conf/config.properties"</argument>


    <!-- Optional parameter. Define the location of ext-config.properties (extend/override config.properties) -->
    <argument>-VMPfelix.extended.config.properties="http://123.456.78.9:1234/weasis/conf/ext-config.properties"</argument>


    <!-- Required parameter. Define the code base of Weasis for the JNLP -->
    <argument>-VMPweasis.codebase.url="http://123.456.78.9:1234/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://123.456.78.9:1234/weasis-i18n"</argument>


    <!-- Optional Weasis Documentation, appears in the menu Help > User Manual -->
    <!-- <argument>-VMPweasis.help.url="http://123.456.78.9:1234/weasis-doc"</argument> -->


    <!-- ======================================================================================================= -->
    <!-- Example for opening dicom files from URLs -->
    <argument>$dicom:get -w http://123.456.78.9:1234/cgi-bin/dgate.exe?
    port=4006&address=127.0.0.1&mode=weasisstudyxml&compress=un&study=50661109181703042:1.2.392.200036.9107.500.11506611091803122&dum=.xml</argument>
    </application-desc>
    </jnlp>


    Once again your help has been really appreciated


    Cheers Richard

  • Hi,


    after:


    http://123.456.78.9:1234/cgi-bin/dgate.exe?
    port=4006&address=127.0.0.1&mode=weasisstudyxml&compress=un&study=50661109181703042:1.2.392.200036.9107.500.11506611091803122


    try to generate something like this (which is ignored by dgate):


    &dum=dum.xml


    Then the browser thinks it is downloading xml. Maybe this helps.


    Marcel

  • Hi Marcel


    Thanks for that


    The generated jnlp file now finishes with


    <!-- Example for opening dicom files from URLs -->
    <argument>$dicom:get -w http://my server ip address:33895/cgi-bin/dgate.exe?port=4006&address=127.0.0.1&mode=weasisstudyxml&compress=un&study=50661109181703042:1.2.392.200036.9107.500.11506611091803122&dum=dum.xml</argument>
    </application-desc>
    </jnlp>



    Sadly this hasn't helped but the same altered file run on my PC works fine as did the unaltered


    I wonder if anyone has got weasis/conquest working on a MAC?


    Anyway I really appreciate the time you have spent helping and if you have any other moments of inspiration it would be great to know


    Best wishes Richard

  • Hi Richard,


    There also may an issue with the xml file, try to download:


    http://my server ip address:33895/cgi-bin/dgate.exe?port=4006&address=127.0.0.1&mode=weasisstudyxml&compress=un&study=50661109181703042:1.2.392.200036.9107.500.11506611091803122&dum=dum.xml


    And see if what is in there.


    Marcel

  • Hi Marcel


    Success at last and once again it was a simple Java issue


    After much fiddling about I removed SE 8 and loaded SE 7 onto the mac when I realised I could replicate the problem on my windows by upgrading Java on it


    Now it all works fine


    I am a happy boy it even works with downloading weasis from the server machine rather than remotely


    Only problem now is the mac hates not using the most up to date version of Java (as does my windows machine but at least it isn't quite so vocal about it) And you can bet one of the clinicians will not be able to resist the urge to click update!

    I don't have the knowledge or skill but I wonder if it is possible to update the process to work with Java 8 - or if anyone has it working with Java 8


    Anyway thats for another day its time for me to return to the bosom of my family :)


    Best wishes and many thanks


    Richard

  • Hi Marcel


    Thats a good point


    The whole journey started with me trying the newest version with an older Java. But then I tried up grading and went past the sweet spot


    I'm now so confused as to what works with what I shall just delete all and start again


    Will post how I go


    Cheers Richard

  • Ok - So as they say in movies "It's The Circle of Life'


    After a bit of fiddling and extracting the weasis files twice to get rid of a can't load substance.jnlp error for some reason, I got the new version working with my Java 6 system - and nice it is too


    I then updated to Java JRE 8 and at the same time under Javas suggestion deleted my JRE 6 files.


    All good except .jnlp file no longer associated to Java - I associated manually but suspect a reboot would have sorted that out so did reboot anyway


    The fired it all up and ended up with the view button downloading a dgate.exe file not a dgate.jnlp - which I think is where I started going wrong initially


    However I changed the extension from .exe to jnlp and all worked fine


    Another reboot and then download file was dgate.jnlp


    Open that and Weasis opened without a murmur - but no images


    Closed everything and then tried again and now everything is working fine


    Weasis 2.0.5, Jave JRE 8 and Conquest 1.4.19alpha - just cos I can


    So the odyssey is complete and I am sure if I was a bit more savy it would have taken 5 hrs rather than 5 days but the end result is so much sweeter


    Thanks again and Merry Christmas


    Richard

  • Here are updates for the latest Weasis V2.0.7


    Install Java
    Download weasis-portable.zip (14.2 MB) and unzip it into e.g. folder c:\xampp\htdocs\weasis


    Replace 2 files with the code below


    LaunchWeasis.cq

    Code
    <!-- 20160825; mvh; latest Weasis version --><?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> </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="http://127.0.0.1/weasis/weasis-launcher.jar" main="true" /> <jar href="http://127.0.0.1/weasis/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 --> <!-- Allows to get files in pack200 compression, only since Weasis 1.1.2 --> <property name="jnlp.packEnabled" value="true" /> <!-- ================================================================================================================= --> <!-- Security Workaround. Add prefix "jnlp.weasis" for having a fully trusted application without signing jnlp (only since weasis 1.2.9), 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) --> <property name="jnlp.weasis.felix.config.properties" value="http://127.0.0.1/weasis/conf/config.properties" /> <!-- Optional parameter. Define the location of ext-config.properties (extend/override config.properties) --> <property name="jnlp.weasis.felix.extended.config.properties" value="http://127.0.0.1/weasis-ext/conf/ext-config.properties" /> <!-- Required parameter. Define the code base of Weasis for the JNLP --> <property name="jnlp.weasis.weasis.codebase.url" value="http://127.0.0.1/weasis" /> <!-- Optional parameter. Define the code base ext of Weasis for the JNLP --> <property name="jnlp.weasis.weasis.codebase.ext.url" value="http://127.0.0.1/weasis-ext" /> <!-- Required parameter. OSGI console parameter --> <property name="jnlp.weasis.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="jnlp.weasis.apple.laf.useScreenMenuBar" value="true" /> <!-- Optional parameter. Allows to get plug-ins translations --> <property name="jnlp.weasis.weasis.i18n" value="http://127.0.0.1/weasis-i18n" /> <!-- Optional Weasis Documentation --> <!-- <property name="jnlp.weasis.weasis.help.url" value="${cdb}/../weasis-doc" /> --> <!-- ================================================================================================================= --> </resources> <application-desc main-class="org.weasis.launcher.WebstartLauncher"> <argument>$dicom:get -w %webscriptadress%?%extra%&mode=weasisseriesxml&compress=%compress%&series=%series2%&dum=.xml</argument> </application-desc> </jnlp>


    and file


    LaunchWeasisStudy.cq


    Enable the viewers as such:


    [webdefaults]
    ...
    viewer = weasis
    studyviewer = studyweasis


    [weasis]
    source = viewers\LaunchWeasis.cq
    header = Content-Type: application/x-java-jnlp-file\


    [studyweasis]
    source = viewers\LaunchWeasisStudy.cq
    header = Content-Type: application/x-java-jnlp-file\


    [weasisseriesxml]
    source = viewers\weasisseriesxml.lua


    [weasisstudyxml]
    source = viewers\weasisstudyxml.lua


    It then works locally for me. To make it work remotely, replace all instances of 127.0.0.1 in the cq files with the server's address


    Marcel

Participate now!

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