view TODO @ 2158:fd142a352480 StoneWebViewer-2.5

closing StoneWebViewer-2.5
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 27 Sep 2024 22:32:55 +0200
parents 1458f3bcb991
children 84ad648b86ac
line wrap: on
line source


======================
== Stone Web viewer ==
======================

------------
Improvements
------------

* Save/load annotations as attachments of their parent series
  (including detection of collisions thanks to revisions).
  https://book.orthanc-server.com/faq/features.html#metadata-attachments
  
* Internationalization and translations (i18n). Some possible libraries:
  https://phrase.com/blog/posts/the-best-javascript-i18n-libraries/

* Configurable keyboard shortcuts. See Osimis Web viewer:
  https://bitbucket.org/osimis/osimis-webviewer-plugin/src/master/doc/default-configuration.json

* Handle mobile gestures.

* Display GSPS layers (Grayscale Softcopy Presentation State).

* Use "ImagerPixelSpacing" (0018,1164) tag if "PixelSpacing" is missing

* Override which tags are displayed in the image information in the
  top-left, top-right and bottom-right pannels.

  For reference, in the case of MRI, "Echo Time" (0018,0081),
  "Repetition Time" (0018,0080), "Magnetic Field Strength (0018,0087)
  and "Slice Thickness" (0018,0050) would be useful to have.

  https://groups.google.com/g/orthanc-users/c/_kDp_ieYTgI/m/KHBxpSSOCQAJ
  
* Add a button (and/or a keyboard shortcut) to select the next series
  in the main viewport. In Osimis viewer, this was implemented by
  up/down arrow keys (prev/next series).
  https://groups.google.com/g/orthanc-users/c/u_lH9aqKsdw/m/KQ7U9CkiAAAJ.

* Minor: Rotate the anchors of the text after rotation of the display.


------------
Known issues
------------

* When opening a CT with 700 slices, if you drop the thumbnail in the viewport
  before the studies/../metadata have been loaded, the series will never be displayed.
  https://groups.google.com/g/orthanc-users/c/04D4exKMVSA

* Compatibility with Google Chrome browser on iPad Air 4:
  https://groups.google.com/g/orthanc-users/c/7SgedbIiA2k/
  https://groups.google.com/g/orthanc-users/c/RfQJFgkOUYY/m/za7rkcLNBQAJ

-----------------
Code refactorings
-----------------

* Replace "ParsedDicomCache" by "Orthanc::ParsedDicomCache" (new in
  Orthanc framework 1.9.0)

* Replace calls to /studies/.../series/.../metadata by calls to
  /instances?StudyInstanceUID=...&SeriesInstanceUID=...&includefield=...&includefield=...
  to benefit from ExtraMainDicomTags stored in DB and avoid reading from disk

--------
Wishlist
--------

* Display video files even if the Orthanc REST API is not available
  (using pure DICOMweb). This could possible be done using the
  DICOMweb Bulk Data URI, and/or a dedicated JavaScript video player.

* "Start the Viewer with a specific Dicom file and display the
  specific images. For example I start the Viewer with dicomFile and
  open slide1, slide4, slide8, slide12 ?"
  https://groups.google.com/g/orthanc-users/c/6KSe0WEEfco/m/nOIl57EzAAAJ

* Configuration option related to the "DicomSource" class in order to
  systematically request server-side transcoding.

* Fully implement "Basic Image Review" profile from IHE:
  https://wiki.ihe.net/index.php/Basic_Image_Review

* Support hanging protocols (automatically adapt the layout given the
  type of modality to be displayed):
  https://groups.google.com/g/orthanc-users/c/bGtK3q9ZUmg/m/gr8kCcVWCAAJ

* When opening the viewer, directly load the first series in the
  viewport (like the OsimisViewer). Whatch out the known issue
  wrt. dropping a series before the studies/../metadata have been
  loaded.

* Create secondary capture DICOM images with the annotations burned in:
  https://groups.google.com/g/orthanc-users/c/T3h-6dIjvww/m/sVtHxwT_AQAJ

* Configure the default layout (e.g. 1x2 instead of 1x1) and the
  default view of the left toolbox:
  https://groups.google.com/g/orthanc-users/c/y2B_RIzegNc/m/H9MhY9y2AgAJ

* Display the PatientName & ID in the page title such that it appears 
  in the browser tab name
  https://groups.google.com/g/orthanc-users/c/F7cK8axehfA/m/ku-CPsvbAQAJ

--------
Won't do
--------

* Debian packaging, which requires source-level build dependencies:
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=975069#22

  => A solution for AMD64 architectures is to use the standalone
  Debian repository that is provided by Sebastien Jodogne:
  https://book.orthanc-server.com/users/cookbook.html#obtaining-binaries



==================================
== Stone of Orthanc C++ library ==
==================================

-------
General
-------

* Documentation

-------------
Optimizations
-------------

* Speedup RT-STRUCT projection in sagittal + coronal views
* Speedup RT-STRUCT loading
* "ParseDicomFromOrthanc": new command

-----------------
Platform-specific
-----------------

* WebAssembly: Possible issue in "emscripten_set_timeout()" if the
  Oracle is destroyed while a sleep event is still being processed
  (the callback payload would be invalid). This is not a problem as
  long as the Oracle singleton is never destroyed. A cleaner solution
  would be similar to "WebAssemblyViewport::CreateObjectCookie()".

* Add precompiled headers for Microsoft Visual Studio.