nroduit / Weasis

Weasis is a DICOM viewer available as a desktop application or as a web-based application.
https://nroduit.github.io
Other
831 stars 295 forks source link

Problems with Weasis integration URL #600

Open leonardopangaio opened 1 month ago

leonardopangaio commented 1 month ago

Describe the bug. What happened?

Hello everyone.

I think that I got an issue. I'm trying to call Weasis using a HTML file with this URL: href="weasis://$dicom:rs+--url='https://full.functional.orthanc.server.url/dicom-web'+-r='studyUID=1.3.840.20241013.1342.29000000189399961'"

The Weasis application is opening, but it's not making the request to the Orthanc server.

Watching the logs, I cannot see the request and cannot see whats happening. Both Orthanc and Nginx are not login the request that I made.

If I make a try using the DICOM explorer, and search this study in the Orthanc server, I find the study and retrieve it.

What version of Weasis are you running?

4.5.1

On which system the problem occurs?

Linux

Relevant log output

- default.log

13.10.2024 03:59:50.167 *INFO * [FelixStartLevel] o.w.c.internal.cv.NativeOpenCVCodec: Native OpenCV is activated
13.10.2024 03:59:50.168 *INFO * [FelixStartLevel] org.weasis.core.internal.Activator: Register Image Codec Plug-in: OpenCV imgcodecs
13.10.2024 03:59:50.185 *INFO * [FelixStartLevel] org.weasis.core.internal.Activator: Register Image Codec Plug-in: JDK ImageIO
13.10.2024 03:59:50.202 *INFO * [FelixStartLevel] org.weasis.dicom.codec.DicomCodec: Activate DicomCodec
13.10.2024 03:59:50.204 *INFO * [FelixStartLevel] org.weasis.core.internal.Activator: Register Image Codec Plug-in: dcm4che
13.10.2024 03:59:50.426 *INFO * [AWT-EventQueue-0] org.weasis.core.internal.Activator: Register series viewer plug-in: Default System Application
13.10.2024 03:59:50.516 *DEBUG* [AWT-EventQueue-0] org.weasis.base.ui.gui.WeasisWin: Max main screen bound: java.awt.Rectangle[x=58,y=27,width=2502,height=1053]
13.10.2024 03:59:50.526 *INFO * [AWT-EventQueue-0] org.weasis.base.ui.gui.WeasisWin: End of loading the GUI...
13.10.2024 03:59:50.553 *INFO * [FelixStartLevel] o.w.base.ui.gui.WeasisWinListener: Activate the main window PropertyChangeListener
13.10.2024 03:59:50.824 *INFO * [FelixStartLevel] org.weasis.dicom.codec.DicomCodec: Register DicomSpecialElementFactory: SR => org.weasis.dicom.sr.SRElementFactory
13.10.2024 03:59:50.827 *INFO * [AWT-EventQueue-0] o.w.base.ui.gui.WeasisWinListener: Register data explorer Plug-in: DICOM Explorer
13.10.2024 03:59:50.846 *INFO * [FelixStartLevel] org.weasis.dicom.codec.DicomCodec: Register DicomSpecialElementFactory: AU => org.weasis.dicom.au.AuElementFactory
13.10.2024 03:59:50.861 *INFO * [FelixStartLevel] org.weasis.dicom.codec.DicomCodec: Register DicomSpecialElementFactory: ECG => org.weasis.dicom.wave.WaveElementFactory
13.10.2024 03:59:50.861 *INFO * [FelixStartLevel] org.weasis.dicom.codec.DicomCodec: Register DicomSpecialElementFactory: HD => org.weasis.dicom.wave.WaveElementFactory
13.10.2024 03:59:50.903 *INFO * [AWT-EventQueue-0] org.weasis.core.internal.Activator: Register series viewer plug-in: 2D Viewer
13.10.2024 03:59:50.908 *INFO * [AWT-EventQueue-0] o.w.core.ui.docking.ExtToolFactory: Activate the Segmentation panel
13.10.2024 03:59:50.909 *DEBUG* [AWT-EventQueue-0] o.w.core.api.service.BundleTools: Add Tool Extension [org.weasis.dicom.viewer2d.dockable.SegmentationToolFactory@4494641a] for org.weasis.dicom.viewer2d.View2dContainer
13.10.2024 03:59:50.909 *INFO * [AWT-EventQueue-0] org.weasis.core.internal.Activator: Register series viewer plug-in: Orthogonal MPR
13.10.2024 03:59:50.909 *INFO * [AWT-EventQueue-0] org.weasis.core.internal.Activator: Register series viewer plug-in: DICOM Structured Report
13.10.2024 03:59:50.911 *INFO * [AWT-EventQueue-0] org.weasis.core.internal.Activator: Register series viewer plug-in: DICOM Voice Audio Waveform
13.10.2024 03:59:50.937 *INFO * [FelixStartLevel] org.weasis.dicom.codec.DicomCodec: Register DicomSpecialElementFactory: RTSTRUCT => org.weasis.dicom.rt.RTElementFactory
13.10.2024 03:59:50.937 *INFO * [FelixStartLevel] org.weasis.dicom.codec.DicomCodec: Register DicomSpecialElementFactory: RTPLAN => org.weasis.dicom.rt.RTElementFactory
13.10.2024 03:59:50.937 *INFO * [FelixStartLevel] org.weasis.dicom.codec.DicomCodec: Register DicomSpecialElementFactory: RTDOSE => org.weasis.dicom.rt.RTElementFactory
13.10.2024 03:59:50.968 *INFO * [AWT-EventQueue-0] org.weasis.core.internal.Activator: Register series viewer plug-in: DICOM Waveform
13.10.2024 03:59:50.970 *INFO * [AWT-EventQueue-0] org.weasis.core.internal.Activator: Register series viewer plug-in: Image Viewer
13.10.2024 03:59:50.971 *INFO * [FelixStartLevel] o.w.dicom.viewer3d.View3DFactory: 3D Viewer is activated
13.10.2024 03:59:50.973 *INFO * [AWT-EventQueue-0] o.w.core.ui.docking.ExtToolFactory: Activate the Display panel
13.10.2024 03:59:50.973 *DEBUG* [AWT-EventQueue-0] o.w.core.api.service.BundleTools: Add Tool Extension [org.weasis.dicom.rt.RtDisplayToolFactory@e81e457] for org.weasis.dicom.viewer2d.View2dContainer
13.10.2024 03:59:50.979 *DEBUG* [AWT-EventQueue-0] o.w.core.api.service.BundleTools: Add Toolbar [3D Viewer] for org.weasis.dicom.viewer2d.View2dContainer
13.10.2024 03:59:51.010 *INFO * [FelixStartLevel] o.w.dicom.viewer3d.View3DFactory: Checking 3D capabilities
13.10.2024 03:59:51.487 *INFO * [FelixStartLevel] o.w.dicom.viewer3d.View3DFactory: *PERF* 3D initialization time: 477 ms
13.10.2024 03:59:51.487 *INFO * [FelixStartLevel] o.w.dicom.viewer3d.View3DFactory: Video card for OpenGL: Intel, Mesa Intel(R) UHD Graphics (CML GT2) 4.6 (Core profile, arb, compat[ES2, ES3, ES31, ES32], FBO, hardware) - 4.6 (Core Profile) Mesa 23.2.1-1ubuntu3.1~22.04.2
13.10.2024 03:59:51.487 *INFO * [AWT-EventQueue-0] org.weasis.core.internal.Activator: Register series viewer plug-in: 3D Viewer
13.10.2024 03:59:51.488 *INFO * [main] org.weasis.launcher.WeasisLauncher: Logs has been delegated to the OSGI service and can be read in /home/leonardopangaio/snap/weasis/105/.weasis/log/default.log

- boot.log
```log
13.10.2024 03:59:48.743 *INFO * Starting Weasis...
13.10.2024 03:59:48.745 *INFO * Initialization of the launch configuration...
13.10.2024 03:59:48.746 *INFO * Main arg 0 = weasis://$dicom:rs+--url='https://full.functional.orthanc.server.url/dicom-web'+-r='studyUID=1.3.840.20241013.1342.29000000189399961'
13.10.2024 03:59:48.763 *INFO * Properties: {weasis.user=leonardopangaio, weasis.name=Weasis, weasis.version=4.5.1, weasis.config.hash=174436, weasis.path=/home/leonardopangaio/snap/weasis/105/.weasis, weasis.codebase.url=file:/snap/weasis/105/lib/app, weasis.pref.local.session=true, weasis.codebase.local=/snap/weasis/105/lib/app, felix.config.properties=file:/snap/weasis/105/lib/app/conf/base.json, weasis.source.id=514E0574, weasis.profile=default, http.agent=Weasis/4.5.1 (Linux; 6.8.0-45-generic; amd64; pf:default; rv:4.5.1) Java/22.0.2}
13.10.2024 03:59:48.781 *DEBUG* Check if another instance running for id: 514E0574
13.10.2024 03:59:48.915 *INFO * Local port of the Singleton server: 45173
13.10.2024 03:59:48.921 *INFO * Config of locale.lang.code = en
13.10.2024 03:59:48.921 *INFO * Config of locale.format.code = system
13.10.2024 03:59:48.921 *INFO * Config of org.apache.sling.commons.log.level = TRACE
13.10.2024 03:59:48.921 *INFO * Config of org.apache.sling.commons.log.file.activate = true
13.10.2024 03:59:48.922 *INFO * Config of org.apache.sling.commons.log.file.number = 5
13.10.2024 03:59:48.922 *INFO * Config of org.apache.sling.commons.log.file.size = 10MB
13.10.2024 03:59:48.922 *INFO * Config of org.apache.sling.commons.log.stack.limit = 100
13.10.2024 03:59:48.922 *INFO * Config of org.apache.sling.commons.log.pattern = %d{dd.MM.yyyy HH:mm:ss.SSS} *%-5level* [%thread] %logger{36}: %msg%ex{3}%n
13.10.2024 03:59:48.929 *INFO * Config of weasis.linux.windows.decoration = false
13.10.2024 03:59:48.962 *INFO * Config of flatlaf.uiScale = -1
13.10.2024 03:59:49.381 *INFO * Config of weasis.show.disclaimer = true
13.10.2024 03:59:49.381 *INFO * Config of weasis.show.release = true
13.10.2024 03:59:49.401 *INFO * 
***** Configuration *****
  Last running version = 4.5.1
  Current version = 4.5.1
  Application name = Weasis
  Application Source ID = 514E0574
  Application Profile = default
  Application local codebase = /snap/weasis/105/lib/app
  Application codebase URL = file:/snap/weasis/105/lib/app
  Application configuration file = file:/snap/weasis/105/lib/app/conf/base.json
  User = leonardopangaio
  User home directory = /home/leonardopangaio/snap/weasis/105/.weasis
  Resources path = /snap/weasis/105/lib/app/resources
  Preferences directory = /home/leonardopangaio/snap/weasis/105/.weasis/preferences/leonardopangaio/default
  Look and Feel = org.weasis.launcher.FlatWeasisTheme
  Languages path = file:/snap/weasis/105/lib/app/bundle-i18n/
  Languages available = en,bg_BG,bs_BA,ca_ES,cs,de,el,es,fa,fa_IR,fr,hr_HR,hu_HU,it,ja,ko,pl_PL,pt,pt_BR,ro,ru_RU,si,sr_RS,sv,tr,uk,vi,vi_VN,zh_CN,zh_Hans,zh_TW
  OSGI native specs = linux-x86-64
  HTTP user agent = Weasis/4.5.1 (Linux; 6.8.0-45-generic; amd64; pf:default; rv:4.5.1) Java/22.0.2
  Operating system = Linux 6.8.0-45-generic amd64
  Java vendor = Eclipse Adoptium
  Java version = 22.0.2
  Java Path = /snap/weasis/105/lib/runtime
  Java max memory (less survivor space) = 3.8 GiB
***** End of Configuration *****
13.10.2024 03:59:49.401 *INFO * 
Starting OSGI Bundles...

        __        __             _     
        \ \      / /__  __ _ ___(_)___ 
         \ \ /\ / / _ \/ _` / __| / __|
          \ V  V /  __/ (_| \__ \ \__ \
           \_/\_/ \___|\__,_|___/_|___/




### Additional contextual elements

_No response_
nroduit commented 1 month ago

You should start by enabling logs in Weasis. Then the URL syntax doesn't match the API, see the example on the Orthanc demo server.

leonardopangaio commented 1 month ago

Hello @nroduit, thanks by the answer.

It's working now, it was my mistake, because i did a lot of tests, but in major with bad formatted url. In cases with the correct url, I thought that was not working because there is some kind of delay (something like 10 or 20 seconds) on the transactions, that are not showed on log and there is no info on app interface that the QR is being made, and I was closing the application before anything was written to the log.

One more time, thanks a lot by the answer.