feat: Add Static WADO display (#2499)
* Rebased to have just the static view changes * Changes based on the PR * Couple more changes for the PR * Removed an extraneous log * Fix the study worklist display when returning to the page * Added some documentation on the static wado data source setup, and a bounds check change on the Queue test which was failing * PR updates - change the undefined study description to '' and remove the aws deploy * Fixed the e2e tests to actually pass/fail correctly on actual results
This commit is contained in:
1 parent
ca900f80e1
commit
2327b4ae12
21 files changed
+483
-41
No files matched your search
@@ -189,3 +189,42 @@ below:
|
||||
https://github.com/OHIF/Viewers/tree/master/platform/viewer/public/html-templates
|
||||
[config-files]:
|
||||
https://github.com/OHIF/Viewers/tree/master/platform/viewer/public/config
|
||||
|
||||
## Static Files
|
||||
|
||||
There is a binay DICOM to static file generator, which provides easily served
|
||||
binary files. The files are all compressed in order to reduce space signifcantly,
|
||||
and are pre-computed for the files required for OHIF, so that the performance
|
||||
of serving the files is just the read from disk/write to http stream time, without
|
||||
any extra processing time.
|
||||
|
||||
The project for the static wado files is located here:
|
||||
[static-wado]: https://github.com/wayfarer3130/static-wado
|
||||
|
||||
It can be compiled with Java and Gradle, and then run against a set of dicom,
|
||||
in the example located in /dicom/study1 outputting to /dicomweb, and then a
|
||||
server run against that data, like this:
|
||||
```
|
||||
git clone https://github.com/wayfarer3130/static-wado.git
|
||||
cd static-wado
|
||||
./gradlew installDist
|
||||
StaticWado/build/install/StaticWado/bin/StaticWado -d /dicomweb /dicom/study1
|
||||
cd /dicomweb
|
||||
npx http-server -p 5000 --cors -g
|
||||
```
|
||||
|
||||
There is then a dev environment in the platform/viewer directory which can be run
|
||||
against those files, like this:
|
||||
```
|
||||
cd platform/viewer
|
||||
yarn dev:static
|
||||
```
|
||||
|
||||
Additional studies can be added to the dicomweb by re-running the StaticWado command.
|
||||
It will create a single studies.gz index file (JSON DICOM file, compressed)
|
||||
containing an index of all studies created. There is then a small extension
|
||||
to OHIF which performs client side indexing.
|
||||
|
||||
The StaticWado command also knows how to deploy a client and dicomweb directory
|
||||
to Amazon s3, which can then server files up directly. There is another
|
||||
build setup build:aws in the viewer package.json to create such a deployment.
|
||||
@@ -76,7 +76,17 @@ function create({
|
||||
You can take a look at `dicomweb` data source implementation to get an idea
|
||||
`extensions/default/src/DicomWebDataSource/index.js`
|
||||
|
||||
## Static WADO Client
|
||||
|
||||
If the configuration for the data source has the value staticWado set, then it
|
||||
is assumed that queries for the studies return a super-set of the studies, as
|
||||
it is assumed to be returning a static list. The StaticWadoClient performs the
|
||||
search functionality manually, by interpretting the query parameters and then
|
||||
applying them to the returned response. This functionality may be useful for
|
||||
other types of DICOMweb back ends, where they are capable of performing queries,
|
||||
but don't allow for querying certain types of fields. However, that only works
|
||||
as long as the size of the studies list isn't too large that client side
|
||||
selectiton isn't too expensive.
|
||||
|
||||
## DicomMetadataStore
|
||||
In `OHIF-v3` we have a central location for the metadata of studies and they are located
|
||||
|
||||
Reference in new issue
Block a user