view TODO @ 1990:f03a827f8b47

cppcheck
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 31 Oct 2022 21:05:49 +0100
parents f75fbcc0e486
children f2a094fa8c33
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).

* 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
  https://groups.google.com/g/orthanc-users/c/u_lH9aqKsdw/m/KQ7U9CkiAAAJ.  In Osimis viewer,
  this was implemented by up/down arrow keys (prev/next series)

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

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

* "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).  Whatchout the known issues 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