nroduit / Weasis

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

ONE SEQUENCES SPLIT INTO MANY SPECIALLY FOR MRI CASES #442

Open arunjoshtech opened 1 year ago

arunjoshtech commented 1 year ago

Describe the bug. What happened?

This is being long time issues when we open MRI cases the single sequences will be spilt into 4 or 5 sequences in weasis viewer. But the same images are displaying as single thumbnail in all other dicom viewers. I think is is happening with multi frame MRI studies, I have attached with alternative viewer thumbnail for the same sequences MRI MULTIPLE IN RADIANT WEASIS REFERENCE KINS DICOM VIEWER ![Uploading one series into multiple_mri case weasis.PNG…]()

What version of Weasis are you running?

4.1.2 and older versions too

On which system the problem occurs?

Windows

Relevant log output

05.07.2023 17:32:57.951 *INFO* [main] org.weasis.launcher.ConfigData: Starting Weasis...
05.07.2023 17:32:58.054 *INFO* [main] org.weasis.launcher.ConfigData: Initialization of the launch configuration...
05.07.2023 17:32:58.055 *INFO* [main] org.weasis.launcher.ConfigData: Main arg 0 = weasis://%24dicom%3Aget%20-w%20https%3A%2F%2Ftrad.ai%2Fdrive%2FKINSOLUTIONS%2FTeam%2FImages%2F62%2F2023%2F7%2F5%2F2794%2F1.2.840.113619.2.25.4.2147483647.1687535428.368-2794%2F1.2.840.113619.2.25.4.2147483647.1687535428.368-2794.xml/
05.07.2023 17:32:58.151 *CONFIG* [main] org.weasis.launcher.Singleton: Local port of the Singleton server: 62,437
05.07.2023 17:32:58.201 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of locale.lang.code = en
05.07.2023 17:32:58.202 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of locale.format.code = en_IN
05.07.2023 17:32:58.203 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.level = INFO
05.07.2023 17:32:58.203 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.activate = false
05.07.2023 17:32:58.204 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.number = 5
05.07.2023 17:32:58.205 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.size = 10MB
05.07.2023 17:32:58.205 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.stack.limit = 3
05.07.2023 17:32:58.206 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.pattern = {0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* [{2}] {3}: {5}
05.07.2023 17:32:59.411 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of weasis.show.disclaimer = true
05.07.2023 17:32:59.422 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of weasis.show.release = true
05.07.2023 17:32:59.454 *INFO* [main] org.weasis.launcher.WeasisLauncher: 
***** Configuration *****
  Last running version = 4.1.2
  Current version = 3.5.3
  Application name = Weasis
  Application Source ID = 64D59807
  Application Profile = default
  Application local codebase = C:\Program Files\Weasis\app
  Application codebase URL = file:/C:/Program%20Files/Weasis/app
  Application configuration file = file:/C:/Program%20Files/Weasis/app/conf/config.properties
  Application extension configuration file = file:/C:/Program%20Files/Weasis/app/conf/ext-config.properties
  User = Administrator
  User home directory = C:\Users\Administrator\.weasis
  Resources path = C:\Program Files\Weasis\app\resources
  Preferences directory = C:\Users\Administrator\.weasis\preferences\Administrator\default
  Look and Feel = org.pushingpixels.substance.api.skin.SubstanceTwilightLookAndFeel
  Languages path = file:/C:/Program%20Files/Weasis/app/bundle-i18n/buildNumber.properties
  Languages available = en,ar,bs_BA,bg_BG,zh_CN,zh_TW,hr_HR,cs,fr,de,el,hu_HU,it,ja,ko,ms_MY,pl_PL,pt,pt_BR,ro,ru_RU,sr_RS,sk_SK,es,sv,tr,uk,vi,vi_VN
  OSGI native specs = windows-x86-64
  HTTP user agent = Weasis/3.5.3 (Windows 10; 10.0; amd64)
  Operating system = Windows 10 10.0 amd64
  Java vendor = N/A
  Java version = 14-internal
  Java Path = C:\Program Files\Weasis\runtime
  Java max memory (less survivor space) = 2.0 GiB
***** End of Configuration *****
05.07.2023 17:32:59.458 *INFO* [main] org.weasis.launcher.WeasisLauncher: 
Starting OSGI Bundles...

         | | /| / /__ ___ ____ (_)__
         | |/ |/ / -_) _ `(_-</ (_-<
         |__/|__/\__/\_,_/___/_/___/

05.07.2023 17:32:59.920 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: jackson-databind-2.14.2
05.07.2023 17:32:59.929 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: jogamp-2.4.0
05.07.2023 17:32:59.938 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: org.apache.felix.scr-2.2.6
05.07.2023 17:32:59.943 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: org.apache.felix.gogo.command-1.1.2
05.07.2023 17:32:59.962 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: org.apache.felix.configadmin-1.9.26
05.07.2023 17:32:59.974 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: jogamp-windows-x86-64-2.4.0
05.07.2023 17:32:59.980 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: jaxb-osgi-3.0.2
05.07.2023 17:32:59.996 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-core-img-4.6.1-jdk11
05.07.2023 17:33:00.022 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: jackson-core-2.14.2
05.07.2023 17:33:00.036 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: osgi.promise-8.1.0
05.07.2023 17:33:00.048 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: docking-frames-1.1.4
05.07.2023 17:33:00.054 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: org.apache.felix.gogo.shell-1.1.4
05.07.2023 17:33:00.059 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: org.apache.felix.metatype-1.2.4
05.07.2023 17:33:00.066 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: jakarta.json-1.1.6
05.07.2023 17:33:00.071 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: miglayout-swing-11.0
05.07.2023 17:33:00.076 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: org.apache.felix.gogo.runtime-1.1.6
05.07.2023 17:33:00.082 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: joml-1.10.5
05.07.2023 17:33:00.087 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: jackson-annotations-2.14.2
05.07.2023 17:33:00.094 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-opencv-core-windows-x86-64-4.6.1-dcm
05.07.2023 17:33:00.111 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: miglayout-core-11.0
05.07.2023 17:33:00.116 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: slf4j-api-1.7.36
05.07.2023 17:33:00.137 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: zip4j-2.11.4
05.07.2023 17:33:00.142 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: org.osgi.service.component-1.5.1
05.07.2023 17:33:00.158 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-dicom-send-4.1.2
05.07.2023 17:33:00.175 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-dicom-viewer3d-4.1.2
05.07.2023 17:33:00.188 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-dicom-viewer2d-4.1.2
05.07.2023 17:33:00.202 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-base-viewer2d-4.1.2
05.07.2023 17:33:00.215 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-dicom-au-4.1.2
05.07.2023 17:33:00.230 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-dicom-explorer-4.1.2
05.07.2023 17:33:00.249 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-core-4.1.2
05.07.2023 17:33:00.265 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-imageio-codec-4.1.2
05.07.2023 17:33:00.283 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-dicom-isowriter-4.1.2
05.07.2023 17:33:00.295 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-dicom-sr-4.1.2
05.07.2023 17:33:00.308 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-dicom-qr-4.1.2
05.07.2023 17:33:00.320 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-dicom-codec-4.1.2
05.07.2023 17:33:00.333 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-base-ui-4.1.2
05.07.2023 17:33:00.346 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-dicom-wave-4.1.2
05.07.2023 17:33:00.360 *INFO* [main] org.weasis.launcher.FileUtil: Uninstall unused bundle: weasis-dicom-rt-4.1.2
05.07.2023 17:33:03.678 *INFO* [FelixStartLevel] org.opencv.osgi: Successfully loaded OpenCV native library.

Additional contextual elements

Log has nothing to do with this it seems, Just copy pasted it. windows 10 windows 11

nroduit commented 1 year ago

If you refer to the documentation:

According to predefined rules, some series are separated into sub-series also represented by a thumbnail with a number preceded by ‘#’ in the upper right corner. Series splitting is necessary for the consistency of some tools such as the MPR, cross-lines and synchronization of series.

Look at the DEFAULT and MR rules from the link above and see which fields within the series change value. If it's a specific case that hasn't been addressed, I can modify the rules.

Note that you can merge separate series by selecting them and choosing "Merge Selected Series" (right-click).

arunjoshtech commented 1 year ago

Since we use your weasis for different doctors and they may have different versions, so we cant make changes in settings every time. As per user perspective we need it to be default as all other dicom viewer handle without split into multiple sequences and it lead to lots of hard work to see a single sequences by click in to 5 thumbnail.

nroduit commented 1 year ago

First, we need to identify which attribute of the rule triggers the separation, because the problem may also be on the modality side.

arunjoshtech commented 1 year ago

understood but by default it is fine in Radiant and our dicom viewer. It is happening with weasis alone. Please check with sample images if needed I can provide you

nroduit commented 1 year ago

I'd like to discuss the cause of the problem before coming to any conclusions. Please provide information or an sample for this.

I can show you plenty of inconsistent situations in Radiant or other viewers as a result of not splitting series into sub-series.

arunjoshtech commented 1 year ago

Dear Sir, Please find below sample image for the issues we are discussing. (I referred other viewer for the inputs) MRI SPLIT IMAGE WEASIS ANONYMISED.zip

nroduit commented 1 year ago

Thanks for the sample. What causes the separation in multi-frame is the stack-id field which defines a group of images. I don't really understand why this value is changed every 3 images in this case.

Unfortunately I can't change this rule by default because it's actually the expected behavior.

arunjoshtech commented 1 year ago

I request it should be handled for real time usage since we are completely depend on weasis and at presently we are facing this issues with different medical center and it need lots of effort to click to see all images of one sequences by radiologist. I have checked almost 7 viewers found no split happening. This is as input not comparing. it will be great as a viewer those who depend weasis for MRI CASES

nroduit commented 1 year ago

Automatic sub-series separation is a choice made in Weasis for a better user experience with view synchronization, 3D cursor and volume rendering tools.

In the example provided, it's clear that the separation of one file is relevant according to the stack-id attribute (see below). image

However, for this other file, the stack-id attribute is chaning every 3 image. I do not understand the meaning of this group of images. image

There are several possible solutions to this problem:

  1. Donwnload on github the release package weasis-native.zip
  2. Modify MRI rule
  3. Rebuild the release from the weasis-native.zip file

It is also possible to modify only the resources folder and provide it thourgh an URL as property (see weasis.resources.url in Preferences)

arunjoshtech commented 1 year ago

Dear Sir, Please reconsider to manage at weasis default since all viewer support this without split into multiple thumbnail. Even yesterday we connected a center due to this issues radiologist not able to view images. We are forcing all radiologist to use Radiant or other viewer. Genuinely reaching you the feedback , everyone feel it as weasis have bug in their system for not handling such images. Almost all siemens , Philips MRI image has this issue with weasis and weasis team must understand the reality and handled it by default,

nroduit commented 1 year ago

Please start by considering my message above, plus the fact that it's possible to merge series in 2 clicks.

If you have a solution to propose to exclude separation for this specific case while preserving the separation of image groups defined in DICOM, please let us know.

Once again, you can always suggest improving the separation rules, but for the moment I don't have any other similar requests.

We're also working on improving the management of user preferences at server level. This project should be completed in early 2024.

arunjoshtech commented 1 year ago

"plus the fact that it's possible to merge series in 2 clicks.." Can you explain about this, can we merge split sequences into on by click ?

We tried your suggestion Uncomment and change the MRI separation rules to suit your needs by: It resolved the issues but introduced new issues that DWI IMAGES Getting MERGED INTO ONE SEQUENCES. Makes un suitable to use those sequences, and we tried with Split rules to resolve it (splitting tags comment) but not able to resolve it. Please refer attached images and anonymized DICOM IMAGES Anony_multiframe _split and merge sequesnces_rpbelieve.zip merged dwi sequences actual dwi sequences

nroduit commented 1 year ago

I publish this video.

Let me know about the rule changes, as we need to make sure that the changes don't create more problems than they solve.

nroduit commented 8 months ago

Due to the lack of recent activity, we are closing this issue for now. However, if you have any new information or updates related to this issue, please feel free to reopen it.