docs(readme): Start adding documentation for React version
This commit is contained in:
1 parent
ec51cb7a6c
commit
6658623f1f
365 files changed
+52155
-15
No files matched your search
@@ -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)).
|
||||
@@ -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`.
|
||||
@@ -0,0 +1,3 @@
|
||||
# Getting Started
|
||||
|
||||
...
|
||||
@@ -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.
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in new issue
Block a user