{style} .panel {-moz-border-radius: 7px; border-radius: 7px;} .panelMacro table {-moz-border-radius: 15px; border-radius: 15px;} {style} |
There are two Weasis distributions: the WEB distribution (weasis.war) and the portable distribution (weasis-portable.zip). Here we are talking about how to connect the WEB distribution with any web application. |
The easiest way to launch Weasis from a web context is to use weasis-pacs-connector. For connecting to dcm4chee web interface, follow the instructions in Installing Weasis in DCM4CHEE.
weasis-pacs-connector: standard usage
weasis-pacs-connector: when embedding the xml manifest
JNLP is generally executed from a web browser but it can be also executed from the operating system by the command: |
There are two requirements:
<?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://localhost:8080/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://localhost:8080/weasis/weasis-launcher.jar" main="true" /> <jar href="http://localhost:8080/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 --> <extension href="http://localhost:8080/weasis/substance.jnlp" /> <!-- 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://localhost:8080/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://localhost:8080/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://localhost:8080/weasis" /> <!-- Optional parameter. Define the code base ext of Weasis for the JNLP --> <property name="jnlp.weasis.weasis.codebase.ext.url" value="http://localhost:8080/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://localhost:8080/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"> <!-- Example for opening dicom files from remote xml file --> <argument>$dicom:get -w http://localhost:8080/dcm4chee-web/wadoQueries/wado_query3888637380.xml.gz</argument> <!-- Example for opening dicom files from local foler --> <argument>$dicom:get -l "/home/Images/MRIX LUMBAR/"</argument> <!-- Example for opening dicom files by embedding the xml file encoded in gzip and then in base64, it must be in one line without space at the beginning --> <argument>$dicom:get -i "H4sIAAAAAAAAALVV7Y+aMBz+vr+i6XdLXwDBHHdxpy4mvgX0dvtkOqnaBOGO1qn//RUQnW5uy3JHCC2/1+d5Wsrdw36TgB8iVzJLA0gQhkCkiyyW6SqAW71seBA83H+62/E4m79uR..."</argument> <!-- Example for opening dicom files from URLs --> <argument>$dicom:get -r http://server/images/img1.dcm http://server/images/img2.dcm</argument> </application-desc> </jnlp> |
Replace "http://localhost:8080/weasis" by your server location and "<argument>...</argument>" by your data to load. Adapt other parameters if necessary. |
weasis-pacs-connector services return jnlp and they allow either to build a manifest from a PACS via DICOM C-Find or to upload the manifest by http POST (http://localhost:8080/weasis-pacs-connector/viewer?upload=manifest). |
<?xml version="1.0" encoding="utf-8" ?> <wado_query xmlns= "http://www.weasis.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" wadoURL="http://localhost:8080/wado" requireOnlySOPInstanceUID="false" additionnalParameters="" overrideDicomTagsList="" > <Patient PatientID="VafMYPDf" PatientName="MATRIX" PatientBirthDate="19450201" > <Study StudyInstanceUID="2.16.840.1.113669.632.20.1211.10000322126" StudyDescription="Angio^Membres inferieurs" StudyDate="20061006" StudyTime="163746.921000" > <Series SeriesInstanceUID="1.3.12.2.1107.5.2.31.30222.30000006100606325120300005943" SeriesDescription="V_Fl3d_cor_dynamique_SUB_MIP_COR" SeriesNumber="45" Modality="MR" > <Instance SOPInstanceUID="1.3.12.2.1107.5.2.31.30222.30000006100606325120300006058" InstanceNumber="1" /> <Instance SOPInstanceUID="1.3.12.2.1107.5.2.31.30222.30000006100606325120300006176" InstanceNumber="2" /> <Instance SOPInstanceUID="1.3.12.2.1107.5.2.31.30222.30000006100606325120300006294" InstanceNumber="3" /> <Instance SOPInstanceUID="1.3.12.2.1107.5.2.31.30222.30000006100606325120300006412" InstanceNumber="4" /> <Instance SOPInstanceUID="1.3.12.2.1107.5.2.31.30222.30000006100606325120300006530" InstanceNumber="5" /> <Instance SOPInstanceUID="1.3.12.2.1107.5.2.31.30222.30000006100606325120300006648" InstanceNumber="6" /> <Instance SOPInstanceUID="1.3.12.2.1107.5.2.31.30222.30000006100606325120300006766" InstanceNumber="7" /> <Instance SOPInstanceUID="1.3.12.2.1107.5.2.31.30222.30000006100606325120300006886" InstanceNumber="8" /> <Instance SOPInstanceUID="1.3.12.2.1107.5.2.31.30222.30000006100606325120300007001" InstanceNumber="9" /> </Series> <Series SeriesInstanceUID="1.3.12.2.1107.5.2.31.30222.30010006100612371225000000838" SeriesDescription="MIP TOTAL" SeriesNumber="63" Modality="MR" > <Instance SOPInstanceUID="1.3.12.2.1107.5.2.31.30222.30010006100612371225000000837" InstanceNumber="1" /> </Series> </Study> </Patient> <Patient PatientID="017589" PatientName="Validate WADAKOKOA" PatientBirthDate="20010901" > <Study StudyInstanceUID="1.2.392.200036.9107.500.11141010042100073" StudyDescription="胸部立位 V→D犬4" StudyDate="20100421" StudyTime="113836" > <Series SeriesInstanceUID="1.2.392.200036.9107.500.305.1410.141010042100073.121" SeriesDescription="V→D犬4" SeriesNumber="1" Modality="CR" > <Instance SOPInstanceUID="1.2.392.200036.9107.500.305.1410.20100421.114831.109.101410" InstanceNumber="1" /> <Instance SOPInstanceUID="1.2.392.200036.9107.500.305.1410.20100421.114828.234.101410" InstanceNumber="2" /> <Instance SOPInstanceUID="1.2.392.200036.9107.500.305.1410.20100421.114823.421.101410" InstanceNumber="3" /> </Series> </Study> </Patient> </wado_query> |
PatientBirthDate help to identify a patient. |
The example above requires a PACS with a WADO server to retrieve the images. |
Example that requires only a WEB server (Weasis will only download files - no WADO requests)
<?xml version="1.0" encoding="utf-8" ?> <wado_query xmlns= "http://www.weasis.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" wadoURL="http://localhost:8080/images" requireOnlySOPInstanceUID="false" additionnalParameters="" overrideDicomTagsList="" > <Patient PatientID="017589" PatientName="Validate WADAKOKOA" PatientBirthDate="20010901" > <Study StudyInstanceUID="1.2.392.200036.9107.500.11141010042100073" StudyDescription="胸部立位 V→D犬4" StudyDate="20100421" StudyTime="113836" > <Series SeriesInstanceUID="1.2.392.200036.9107.500.305.1410.141010042100073.121" SeriesDescription="V→D犬4" SeriesNumber="1" Modality="CR" DirectDownloadThumbnail="thumb_4563173729424544.jpg" > <Instance SOPInstanceUID="1.2.392.200036.9107.500.305.1410.20100421.114831.109.101410" InstanceNumber="1" DirectDownloadFile="image_4563173729424543.dcm"/> <Instance SOPInstanceUID="1.2.392.200036.9107.500.305.1410.20100421.114828.234.101410" InstanceNumber="2" DirectDownloadFile="image_4563173729424544.dcm"/> <Instance SOPInstanceUID="1.2.392.200036.9107.500.305.1410.20100421.114823.421.101410" InstanceNumber="3" DirectDownloadFile="image_4563173729424545.dcm"/> </Series> </Study> </Patient> </wado_query> |
The same ones as above. |