docs(readme): Start adding documentation for React version

This commit is contained in:
Erik Ziegler committed 2019-03-04 13:43:39 +01:00
1 parent ec51cb7a6c
commit 6658623f1f
365 files changed
+52155 -15

No files matched your search

+15
View File
@@ -0,0 +1,15 @@
# Architecture
## Meteor
[Meteor](https://www.meteor.com/) is built on top of [Node.js](https://nodejs.org/en/), adding reactive templates ([Blaze](https://guide.meteor.com/blaze.html)), a [publish/subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) mechanism (via [WebSockets](https://en.wikipedia.org/wiki/WebSocket) and the [Distributed Data Protocol](https://blog.meteor.com/introducing-ddp-6b40c6aff27d), and a fully integrated client-server [MongoDB](https://www.mongodb.com/) making it easy to create reactive data elements in the UI.
## Structure of an OHIF Application
The OHIF Framework is built as a set of small Meteor packages which can be included as necessary in the final application. Since the logic and templates are largely pushed into packages, the actual application-specific code for each Viewer is relatively short.
In brief, to create a new Viewer application, you need to:
* Define the existing pages and the routes which will lead to them
* Define the overall application layout
* Include child templates from the OHIF Packages into your application layout
* Specify desired template options as necessary (e.g. which tools should appear in the toolbar)
User interface components for your application can be defined in any View layer supported by Meteor (Officially: [Angular](https://www.meteor.com/tutorials/angular/creating-an-app), [React](https://www.meteor.com/tutorials/react/creating-an-app), [Blaze](https://www.meteor.com/tutorials/blaze/creating-an-app), Unofficially: [Vue](https://github.com/meteor-vue/vue-meteor)).
+11
View File
@@ -0,0 +1,11 @@
# Configurations
There are a few pre-defined settings files that you can find in [config](https://github.com/OHIF/Viewers/tree/master/config) folder. These are Meteor files and all settings can be accessed as showed on [Meteor Website](https://docs.meteor.com/api/core.html#Meteor-settings). UI settings are also available as OHIF.uiSettings. See the [schema](https://github.com/OHIF/Viewers/blob/131d64854cb2eceff056a15ccb12c34b9e2baaa7/Packages/ohif-servers/both/schema/servers.js) for more information.
## Server settings
* `dropCollections (boolean)`: the server will drop all Mongo collections when it's set to `true` as soon as it has finished starting. This is useful for demo and development environments.
## UI Settings
* `studyListDateFilterNumDays (integer)`: define the default date filter (range) on study list. If it's 02/15/2017 and this config is set to 5 then it will search for studies between `02/10/2017` and `02/15/2017`.
+3
View File
@@ -0,0 +1,3 @@
# Getting Started
...
+58
View File
@@ -0,0 +1,58 @@
# Installation
## Getting the Code
Either clone the repository using Git:
````bash
git clone git@github.com:OHIF/Viewers.git
````
or [Download the latest Master as a ZIP File](https://github.com/OHIF/Viewers/archive/master.zip).
## Set up a DICOM server
1. Choose and install an Image Archive
2. Upload some data into your archive (e.g. with DCMTK's [storescu](http://support.dcmtk.org/docs/storescu.html) or your archive's web interface)
3. Keep the server running
#### Open Source DICOM Image Archive Options
Archive | Installation
-------------------------------------------|
[DCM4CHEE Archive 5.x](https://github.com/dcm4che/dcm4chee-arc-light) | [Installation with Docker](https://github.com/dcm4che/dcm4chee-arc-light/wiki/Running-on-Docker)
[Orthanc](https://www.orthanc-server.com/) | [Installation with Docker](http://book.orthanc-server.com/users/docker.html)
[DICOMcloud](https://github.com/DICOMcloud/DICOMcloud) (**DICOM Web only**)| [Installation](https://github.com/DICOMcloud/DICOMcloud#running-the-code)
[OsiriX](http://www.osirix-viewer.com/) (**Mac OSX only**) |
[Horos](https://www.horosproject.org/) (**Mac OSX only**) |
*Feel free to make a Pull Request if you want to add to this list.*
## Set up and test the OHIF Viewer (or LesionTracker) application:
1. [Install Meteor](https://www.meteor.com/install)
2. Open a new terminal tab in one of the Application directories (OHIFViewer or LesionTracker)
3. Instruct Meteor to install all dependent NPM Packages
````bash
METEOR_PACKAGE_DIRS="../Packages" meteor npm install
````
4. Run Meteor using one of the available configuration files.
````bash
METEOR_PACKAGE_DIRS="../Packages" meteor --settings ../config/orthancDICOMWeb.json
````
**Note:** On Windows, you may need to set PACKAGE_DIRS="../Packages" in your Environment Variables in your operating system settings.
5. Launch the OHIF Viewer / Lesion Tracker Study List by visiting [http://localhost:3000/](http://localhost:3000/) in a web browser.
**If everything is working correctly, you should see the Study List from your archive when you visit the Study List.**
6. Double-click on a Study in the Study List to launch it in the Viewer
**If everything is working correctly, you should see your study load into the Viewer.**
#### Troubleshooting
* If you receive a *"No Studies Found"* message and do not see your studies, try changing the Study Date filters to a wider range.
* If you see any errors in your server console, check the [Troubleshooting](../troubleshooting.md) page for more in depth advice.
+60
View File
@@ -0,0 +1,60 @@
# Meteor Packages
### Commands (*ohif-commands*)
### Core (*ohif-core*)
## Cornerstone Package (*ohif-cornerstone*)
This package contains a number of front-end libraries that help us build web-based medical imaging applications.
These are:
- [dicomParser](https://github.com/cornerstonejs/dicomParser):
A lightweight JavaScript library for parsing DICOM P10 byte streams in modern web browsers (IE10+), Node.js, and Meteor.
- [Cornerstone Core](https://github.com/cornerstonejs/cornerstone):
A lightweight JavaScript library for displaying medical images in modern web browsers that support the HTML5 canvas element.
- [Cornerstone Tools](https://github.com/cornerstonejs/cornerstoneTools):
A library built on top of cornerstone that provides a set of common tools needed in medical imaging to work with images and stacks of images
- [Cornerstone Math](https://github.com/cornerstonejs/cornerstoneMath):
Math and computational geometry functionality for Cornerstone
- [Cornerstone WADO Image Loader](https://github.com/cornerstonejs/cornerstoneWADOImageLoader):
A Cornerstone Image Loader for DICOM P10 instances over HTTP. This can be used to integrate cornerstone with WADO-URI servers or any other HTTP based server that returns DICOM P10 instances (e.g. Orthanc or custom servers).
- [Hammer.js](https://github.com/hammerjs/hammer.js):
A JavaScript library for multi-touch gestures
### Design (*ohif-design*)
### DICOM Services (*ohif-dicom-services*)
It contains a number of helper functions for retrieving common value types (e.g. JSON, patient name, image frame) from a DICOM image. This package is for server-side usage.
### Hanging Protocols (*ohif-hanging-protocols*)
### Header (*ohif-header*)
### Hotkeys (*ohif-hotkeys*)
### Lesion Tracker (*ohif-lesiontracker*)
This package stores all of the oncology-specific tools and functions developed for the Lesion Tracker application. Here we store, for example, the Target measurement and Non-target pointer tools that are used to monitor tumour burden over time.
This package also stores Meteor components for the interactive lesion table used in the Lesion Tracker, and dialog boxes for the callbacks attached to the Target and Non-target tools.
### Logging (*ohif-log*)
### Logging (*ohif-measurements*)
### Metadata (*ohif-metadata*)
### Polyfilling Functionality (*ohif-polyfill*)
### Select Tree UI (*ohif-select-tree*)
### Server Settings UI (*ohif-servers*)
### Studies (*ohif-studies*)
### Study List UI (*ohif-study-list*)
### Common Themes (*ohif-themes-common*)
### Theming (*ohif-themes*)
### User Management (*ohif-user-management*)
### User (*ohif-user*)
### Basic Viewer Components (*ohif-viewerbase*)
This is the largest package in the repository. It holds a large number of re-usable Meteor components that are used to build both the OHIF Viewer and Lesion Tracker.
### WADO Proxy (*ohif-wadoproxy*)
Proxy for CORS
+20
View File
@@ -0,0 +1,20 @@
# Troubleshooting
## Common Problems
Problem | Most Common Reasons
--------|--------------------
** Can't retrieve Study List over DICOMWeb** | 1. QIDO root URL is incorrect<br> 2. DICOM Web is not enabled on PACS
** Can't retrieve Study List over DIMSE** | 1. PACS is not configured to allow connections from OHIF Meteor Server
** Can't retrieve images** | 1. WADO Root URL is incorrect<br> 2. DICOM Web is not enabled on PACS<br> 3. HTTP Basic Authentication username and password are incorrect or not provided.
## Debugging Steps
### Can't retrieve Study List over DICOMWeb
1. Check that you can query your PACS using an alternative DICOM Web client (e.g. cURL, or a Web Browser). If you cannot, then your PACS is configured incorrectly. Refer to the documentation of the image archive.
2.
### Can't retrieve Study List over DIMSE
### Can't retrieve images