view TODO @ 2128:43c679659a70 StoneWebViewer-2.3

closing StoneWebViewer-2.3
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 30 May 2024 17:08:17 +0200
parents a7a77488ddb1
children 82024e1f304f
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

* Flip X/Y : Should change the affine transformation of the 2D scene,
  not the texture. Flipping the texture makes the reference lines and
  crosshair invalid.

* Handle mobile gestures.

* Display GSPS layers (Grayscale Softcopy Presentation State).


------------
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

* 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)


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

* Vertical "timeline" to see the position of the current frame in the
  series, and to change the current frame by clicking on the timeline.

* Display a pixel probe with the Hounsfield Unit.
  https://groups.google.com/g/orthanc-users/c/m7S0wbYYW5s/m/MBaxIQ_IAAAJ

* 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.

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

* "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

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

* 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).  Whatchout the known issues wrt dropping a series
  before the studies/../metadata have been loaded.


==================================
== 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