changeset 1691:4a49de03a419

porting the "pickableStudyIds" feature of Osimis Web viewer
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 25 Nov 2020 17:54:04 +0100
parents f7b178ae7c08
children e787b52d025f
files Applications/StoneWebViewer/NOTES.txt Applications/StoneWebViewer/WebApplication/app.js
diffstat 2 files changed, 38 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Applications/StoneWebViewer/NOTES.txt	Wed Nov 25 17:54:04 2020 +0100
@@ -0,0 +1,30 @@
+
+
+Differences with Osimis Web viewer
+==================================
+
+- The images are retrieved using DICOMweb.
+
+- The Stone Web viewer uses the DICOM identifiers. The Osimis Web
+  viewer the Orthanc identifiers.
+  https://book.orthanc-server.com/faq/orthanc-ids.html
+
+  In the Stone Web viewer, the studies are indexed by their "Study
+  Instance UID" tag (0020,000d). The series are indexed by their
+  "Series Instance UID" tag (0020,000e). To open a single series,
+  the parent study must be provided.
+
+  To open a single study:
+  http://.../index.html?study=<StudyInstanceUID>
+
+  To open a single series:
+  http://.../index.html?study=<StudyInstanceUID>&series=<SeriesInstanceUID>
+
+- The "pickableStudyIds" parameter in the URL (to specify a list of
+  studies to be displayed) is replaced by the single "study" GET
+  argument, that is allowed to contain a comma-separated list of
+  studies. The "series" parameter is ignored in this case.
+
+  To open a list of studies:
+  http://.../index.html?study=<StudyInstanceUID1>,<StudyInstanceUID2>,...
+  
--- a/Applications/StoneWebViewer/WebApplication/app.js	Wed Nov 25 17:07:47 2020 +0100
+++ b/Applications/StoneWebViewer/WebApplication/app.js	Wed Nov 25 17:54:04 2020 +0100
@@ -729,11 +729,17 @@
   if (study === undefined) {
     alert('No study was provided in the URL!');
   } else {
-    if (series === undefined) {
+    var studies = study.split(',');
+    if (studies.length > 1) {
+      for (var i = 0; i < studies.length; i++) {
+        console.warn('Loading study: ' + studies[i]);
+        stone.FetchStudy(studies[i]);
+      }
+    } else if (series === undefined) {
       console.warn('Loading study: ' + study);
       stone.FetchStudy(study);
     } else {
-      console.warn('Loading series: ' + series + ' from study ' + study);
+      console.warn('Loading series: ' + series + ' from study: ' + study);
       stone.FetchSeries(study, series);
       app.leftMode = 'full';
     }