Update docs for docs.ohif.org
22
docs/I-want-to/add-a-tool-to-the-viewer.md
Normal file
@ -0,0 +1,22 @@
|
||||
# Add a Tool to the Viewer
|
||||
|
||||
To add a tool to the Viewer there are a few steps:
|
||||
|
||||
1. Add the tool itself to the repository.
|
||||
|
||||
If you're using something from Cornerstone Tools you can skip this step.
|
||||
|
||||
Some examples of custom tools can be found in the lesion tracker: https://github.com/OHIF/Viewers/tree/master/Packages/ohif-lesiontracker/client/compatibility
|
||||
|
||||
2. Add the toolbar button itself to the array of tools in the Toolbar:
|
||||
https://github.com/OHIF/Viewers/blob/574a6d02b090b8b2f020430c5919f8377b8316c6/OHIFViewer/client/components/toolbarSection/toolbarSection.js
|
||||
|
||||
3. **A:** Add it to the toolManager (if it's a tool, such as length / angle):
|
||||
|
||||
https://github.com/OHIF/Viewers/blob/574a6d02b090b8b2f020430c5919f8377b8316c6/Packages/lesiontracker/client/tools.js#L2
|
||||
|
||||
** --- OR --- **
|
||||
|
||||
**B:** Add it to the functionList if it's a command (e.g. toggle CINE play, or Invert the current viewport):
|
||||
|
||||
https://github.com/OHIF/Viewers/blob/574a6d02b090b8b2f020430c5919f8377b8316c6/OHIFViewer/client/components/viewer/viewer.js#L12
|
||||
@ -1 +1,26 @@
|
||||
{% include "./SUMMARY.md" %}
|
||||
# Introduction
|
||||
|
||||
The [Open Health Imaging Foundation](https://www.ohif.org) is developing an open source framework for constructing web-based medical imaging applications. The application framework is built using modern HTML / CSS / JavaScript and uses [Cornerstone](https://cornerstonejs.org/) at its core to display and manipulate medical images. It is built with Meteor, a Node.js-based full-stack JavaScript platform.
|
||||
|
||||
This documentation concerns the OHIF framework itself and its three example applications: the OHIF Viewer, Lesion Tracker, and the Standalone Viewer.
|
||||
|
||||
## The **OHIF Viewer**: A general purpose DICOM Viewer ([demo](http://viewer.ohif.org/))
|
||||
|
||||

|
||||
|
||||
The Open Health Imaging Foundation intends to provide a simple general purpose DICOM Viewer which can be easily extended for specific uses. The primary purpose of the OHIF Viewer is to serve as a testing ground for the underlying packages and the [Cornerstone](https://cornerstonejs.org/) family of libraries.
|
||||
|
||||
## **Lesion Tracker**: An oncology-focused imaging application ([demo](http://lesiontracker.ohif.org/))
|
||||
|
||||

|
||||
|
||||
The Lesion Tracker is designed to facilitate quantitative assessments of tumour burden over time. It is similar in scope to the ePAD Imaging Platform (https://epad.stanford.edu/), developed at Stanford Medicine.
|
||||
|
||||
## Study List & DICOM Connectivity
|
||||

|
||||
|
||||
The solution provides a study list and other resources for connecting to PACS and other Image Archives through standard communication approaches (DICOM Web, DICOM Messages).
|
||||
|
||||
## Standalone Viewer ([demo](ohif-viewer.s3-website.eu-central-1.amazonaws.com/?url=https://raw.githubusercontent.com/OHIF/Viewers/master/StandaloneViewer/etc/sampleDICOM.json))
|
||||
|
||||
The Standalone Viewer offers only the client-side portions of the OHIF Viewer with the Study List pages removed. This single-page viewer can be hosted as a static site (e.g. on Amazon S3, Azure Blob Storage, or Github Pages), and easily integrated with existing back-end DICOM storage systems. Alternative [Cornerstone](https://cornerstonejs.org/) Image Loaders can be included to allow your viewer to support non-DICOM objects (e.g. PNG, JPEG).
|
||||
|
||||
@ -1,6 +1,59 @@
|
||||
# OHIF Viewers
|
||||
|
||||
- [Installation](installation.md)
|
||||
- Essentials
|
||||
- [Installation](essentials/installation.md)
|
||||
- [Getting Started](essentials/getting-started.md)
|
||||
- [Architecture](essentials/architecture.md)
|
||||
- [Configuration](essentials/configuration.md)
|
||||
- [Troubleshooting](essentials/troubleshooting.md)
|
||||
- Connecting to Image Archives
|
||||
- [What are my options?](connecting-to-image-archives/options.md)
|
||||
- [DICOM Web](connecting-to-image-archives/dicomweb.md)
|
||||
- [DICOM Message Service Element](connecting-to-image-archives/dimse.md)
|
||||
- Examples
|
||||
- [dcm4chee w/ Docker](connecting-to-image-archives/dcm4chee-with-docker.md)
|
||||
- [Orthanc w/ Docker](connecting-to-image-archives/orthanc-with-docker.md)
|
||||
- [Osirix](connecting-to-image-archives/osirix.md)
|
||||
- Data Organization
|
||||
- [Data Hierarchy](data/data-hierarchy.md)
|
||||
- [Image Viewport](data/image-viewport.md)
|
||||
- Viewport Layout
|
||||
- [Layout Management](layout/layout-management.md)
|
||||
- [Hanging Protocols](layout/hanging-protocols.md)
|
||||
- Packages
|
||||
- [Measurements Package (ohif-measurements)](packages/measurements.md)
|
||||
- Deployment
|
||||
- [Building for Production](deployment/building-for-production.md)
|
||||
- [Security](deployment/security.md)
|
||||
- I Want To...
|
||||
- [Add a Tool to the Viewer](I-want-to/add-a-tool-to-the-viewer.md)
|
||||
----
|
||||
|
||||
- Example Applications
|
||||
- [OHIF Viewer](example-applications/ohif-viewer.md)
|
||||
- [Lesion Tracker](example-applications/lesion-tracker.md)
|
||||
- [Standalone Viewer](example-applications/standalone-viewer.md)
|
||||
|
||||
----
|
||||
- Standalone Viewer Integration
|
||||
- [Usage](standalone-viewer/usage.md)
|
||||
|
||||
----
|
||||
- Lesion Tracker
|
||||
- [User Manual](lesion-tracker/user-manual.md)
|
||||
- [Installation on Windows](lesion-tracker/installation-on-windows.md)
|
||||
- [Manage Studies in Orthanc](lesion-tracker/manage-studies-in-orthanc.md)
|
||||
- [User Accounts](lesion-tracker/user-accounts.md)
|
||||
- [Study and Timepoint Management](lesion-tracker/study-and-timepoint-management.md)
|
||||
- [Using the Viewer](lesion-tracker/using-the-viewer.md)
|
||||
- [User Preferences](lesion-tracker/user-preferences.md)
|
||||
- [Server Management](lesion-tracker/server-management.md)
|
||||
- [Audit Trail](lesion-tracker/audit-trail.md)
|
||||
|
||||
----
|
||||
- FAQ
|
||||
- [General](faq/general.md)
|
||||
- [Technical](faq/technical.md)
|
||||
|
||||
----
|
||||
- [Contributing](contributing.md)
|
||||
|
||||
BIN
docs/assets/img/LesionTracker/LT_Assessment_Progress.png
Normal file
|
After Width: | Height: | Size: 585 KiB |
BIN
docs/assets/img/LesionTracker/LT_Association_Dialog.png
Normal file
|
After Width: | Height: | Size: 227 KiB |
BIN
docs/assets/img/LesionTracker/LT_Audit_Trails.png
Normal file
|
After Width: | Height: | Size: 107 KiB |
BIN
docs/assets/img/LesionTracker/LT_CINE.png
Normal file
|
After Width: | Height: | Size: 311 KiB |
BIN
docs/assets/img/LesionTracker/LT_Change_Password.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
docs/assets/img/LesionTracker/LT_CompareMode.png
Normal file
|
After Width: | Height: | Size: 733 KiB |
BIN
docs/assets/img/LesionTracker/LT_Comparison.png
Normal file
|
After Width: | Height: | Size: 517 KiB |
BIN
docs/assets/img/LesionTracker/LT_Configuration_Menu.png
Normal file
|
After Width: | Height: | Size: 424 KiB |
BIN
docs/assets/img/LesionTracker/LT_Conformance_Check.png
Normal file
|
After Width: | Height: | Size: 457 KiB |
BIN
docs/assets/img/LesionTracker/LT_Download.png
Normal file
|
After Width: | Height: | Size: 257 KiB |
BIN
docs/assets/img/LesionTracker/LT_Ellipse.png
Normal file
|
After Width: | Height: | Size: 318 KiB |
BIN
docs/assets/img/LesionTracker/LT_FlipH.png
Normal file
|
After Width: | Height: | Size: 305 KiB |
BIN
docs/assets/img/LesionTracker/LT_FlipV.png
Normal file
|
After Width: | Height: | Size: 315 KiB |
BIN
docs/assets/img/LesionTracker/LT_Forgot_Password.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
docs/assets/img/LesionTracker/LT_Generate_Report.png
Normal file
|
After Width: | Height: | Size: 595 KiB |
BIN
docs/assets/img/LesionTracker/LT_HUD_Panel.png
Normal file
|
After Width: | Height: | Size: 576 KiB |
BIN
docs/assets/img/LesionTracker/LT_Image_Viewer.png
Normal file
|
After Width: | Height: | Size: 411 KiB |
|
After Width: | Height: | Size: 12 KiB |
BIN
docs/assets/img/LesionTracker/LT_Installer_Desktop_Shortcuts.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
docs/assets/img/LesionTracker/LT_Installer_Final.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
docs/assets/img/LesionTracker/LT_Installer_Finish.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
docs/assets/img/LesionTracker/LT_Installer_Initial.png
Normal file
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 11 KiB |
BIN
docs/assets/img/LesionTracker/LT_Installer_Launch_Uninstall.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
docs/assets/img/LesionTracker/LT_Installer_License_Aggrement.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
docs/assets/img/LesionTracker/LT_Installer_Prerequisites.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
docs/assets/img/LesionTracker/LT_Installer_Select_Location.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
docs/assets/img/LesionTracker/LT_Installer_Services.png
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
docs/assets/img/LesionTracker/LT_Installer_Successful.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
docs/assets/img/LesionTracker/LT_Installer_Uninstall.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
docs/assets/img/LesionTracker/LT_Invert.png
Normal file
|
After Width: | Height: | Size: 320 KiB |
BIN
docs/assets/img/LesionTracker/LT_Key_Timepoints.png
Normal file
|
After Width: | Height: | Size: 521 KiB |
BIN
docs/assets/img/LesionTracker/LT_Keyboard_Shortcuts.png
Normal file
|
After Width: | Height: | Size: 180 KiB |
BIN
docs/assets/img/LesionTracker/LT_Login.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
docs/assets/img/LesionTracker/LT_Logout.png
Normal file
|
After Width: | Height: | Size: 303 KiB |
BIN
docs/assets/img/LesionTracker/LT_Magnify.png
Normal file
|
After Width: | Height: | Size: 292 KiB |
BIN
docs/assets/img/LesionTracker/LT_Measurements.png
Normal file
|
After Width: | Height: | Size: 306 KiB |
BIN
docs/assets/img/LesionTracker/LT_Need_Account.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
docs/assets/img/LesionTracker/LT_NonTarget_Select_Location.png
Normal file
|
After Width: | Height: | Size: 241 KiB |
BIN
docs/assets/img/LesionTracker/LT_NonTarget_Tool.png
Normal file
|
After Width: | Height: | Size: 314 KiB |
|
After Width: | Height: | Size: 34 KiB |
BIN
docs/assets/img/LesionTracker/LT_Orthanc_Delete_Select_Study.png
Normal file
|
After Width: | Height: | Size: 135 KiB |
BIN
docs/assets/img/LesionTracker/LT_Orthanc_Delete_Study.png
Normal file
|
After Width: | Height: | Size: 150 KiB |
BIN
docs/assets/img/LesionTracker/LT_Orthanc_Drag_and_Drop.png
Normal file
|
After Width: | Height: | Size: 117 KiB |
BIN
docs/assets/img/LesionTracker/LT_Orthanc_Start_Upload.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
docs/assets/img/LesionTracker/LT_Orthanc_Upload.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
docs/assets/img/LesionTracker/LT_Orthanc_Upload_Result.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
docs/assets/img/LesionTracker/LT_Pan.png
Normal file
|
After Width: | Height: | Size: 402 KiB |
BIN
docs/assets/img/LesionTracker/LT_Quick_Switch_Tool.png
Normal file
|
After Width: | Height: | Size: 292 KiB |
BIN
docs/assets/img/LesionTracker/LT_Remove_Associate.png
Normal file
|
After Width: | Height: | Size: 118 KiB |
BIN
docs/assets/img/LesionTracker/LT_Report_PDF.png
Normal file
|
After Width: | Height: | Size: 150 KiB |
BIN
docs/assets/img/LesionTracker/LT_Reset.png
Normal file
|
After Width: | Height: | Size: 414 KiB |
BIN
docs/assets/img/LesionTracker/LT_Response_Criteria.png
Normal file
|
After Width: | Height: | Size: 329 KiB |
BIN
docs/assets/img/LesionTracker/LT_Rotate_Right.png
Normal file
|
After Width: | Height: | Size: 328 KiB |
BIN
docs/assets/img/LesionTracker/LT_Save1.png
Normal file
|
After Width: | Height: | Size: 311 KiB |
BIN
docs/assets/img/LesionTracker/LT_Save2.png
Normal file
|
After Width: | Height: | Size: 311 KiB |
BIN
docs/assets/img/LesionTracker/LT_Scroll.png
Normal file
|
After Width: | Height: | Size: 485 KiB |
BIN
docs/assets/img/LesionTracker/LT_Select_Associate.png
Normal file
|
After Width: | Height: | Size: 113 KiB |
BIN
docs/assets/img/LesionTracker/LT_Server_Info.png
Normal file
|
After Width: | Height: | Size: 319 KiB |
BIN
docs/assets/img/LesionTracker/LT_StackScroll_Multiple.png
Normal file
|
After Width: | Height: | Size: 787 KiB |
BIN
docs/assets/img/LesionTracker/LT_StackScroll_Single.png
Normal file
|
After Width: | Height: | Size: 424 KiB |
BIN
docs/assets/img/LesionTracker/LT_Studies_Panel.png
Normal file
|
After Width: | Height: | Size: 501 KiB |
BIN
docs/assets/img/LesionTracker/LT_StudyList.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
docs/assets/img/LesionTracker/LT_Target.png
Normal file
|
After Width: | Height: | Size: 313 KiB |
BIN
docs/assets/img/LesionTracker/LT_Target_CR.png
Normal file
|
After Width: | Height: | Size: 292 KiB |
BIN
docs/assets/img/LesionTracker/LT_Target_Delete.png
Normal file
|
After Width: | Height: | Size: 457 KiB |
BIN
docs/assets/img/LesionTracker/LT_Target_Label.png
Normal file
|
After Width: | Height: | Size: 292 KiB |
BIN
docs/assets/img/LesionTracker/LT_Target_Rename.png
Normal file
|
After Width: | Height: | Size: 457 KiB |
BIN
docs/assets/img/LesionTracker/LT_Target_UN.png
Normal file
|
After Width: | Height: | Size: 290 KiB |
BIN
docs/assets/img/LesionTracker/LT_Temp_Tool.png
Normal file
|
After Width: | Height: | Size: 312 KiB |
BIN
docs/assets/img/LesionTracker/LT_Themes.png
Normal file
|
After Width: | Height: | Size: 336 KiB |
BIN
docs/assets/img/LesionTracker/LT_View_Lesion.png
Normal file
|
After Width: | Height: | Size: 454 KiB |
BIN
docs/assets/img/LesionTracker/LT_View_Series_Details.png
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
docs/assets/img/LesionTracker/LT_View_Study.png
Normal file
|
After Width: | Height: | Size: 144 KiB |
BIN
docs/assets/img/LesionTracker/LT_Viewer.png
Normal file
|
After Width: | Height: | Size: 440 KiB |
BIN
docs/assets/img/LesionTracker/LT_WL.png
Normal file
|
After Width: | Height: | Size: 444 KiB |
BIN
docs/assets/img/LesionTracker/LT_WL_Presets.png
Normal file
|
After Width: | Height: | Size: 154 KiB |
BIN
docs/assets/img/LesionTracker/LT_Zoom.png
Normal file
|
After Width: | Height: | Size: 493 KiB |
BIN
docs/assets/img/lesionTracker.png
Normal file
|
After Width: | Height: | Size: 440 KiB |
BIN
docs/assets/img/viewer.png
Normal file
|
After Width: | Height: | Size: 662 KiB |
BIN
docs/assets/img/worklist.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
41
docs/connecting-to-image-archives/dcm4chee-with-docker.md
Normal file
@ -0,0 +1,41 @@
|
||||
# DCM4CHEE with Docker
|
||||
|
||||
1. Install Docker (https://www.docker.com/)
|
||||
2. Follow the DCM4CHEE Guidelines for Running on Docker.
|
||||
|
||||
The easiest path is to use Docker-Compose which will start and stop multiple containers for you. There are excellent instructions provided by the DCM4CHEE team on the 'light archive' repository:
|
||||
|
||||
https://github.com/dcm4che/dcm4chee-arc-light/wiki/Running-on-Docker#use-docker-compose
|
||||
|
||||
* Create docker-compose.yml and docker-compose.env files
|
||||
* Start the containers:
|
||||
|
||||
```` bash
|
||||
docker-compose start
|
||||
````
|
||||
|
||||
**Note:** If you are running this on Mac OSX you will probably need to change the default docker-compose.yml file slightly. Specifically, the paths that refer to /var/local/ will likely need to be changed to /opt/
|
||||
|
||||
3. Run the OHIF Viewer or Lesion Tracker using the dcm4cheeDIMSE.json configuration file
|
||||
|
||||
````bash
|
||||
cd OHIFViewer
|
||||
PACKAGE_DIRS="../Packages" meteor --settings ../config/dcm4cheeDIMSE.json
|
||||
````
|
||||
|
||||
## Web Service URLs from DCM4CHEE:
|
||||
Original source here: https://github.com/dcm4che/dcm4chee-arc-light/wiki/Running-on-Docker#web-service-urls
|
||||
|
||||
> - Archive UI: <http://localhost:8080/dcm4chee-arc/ui> - if secured, login with
|
||||
|
||||
> Username | Password | Role
|
||||
> --- | --- | ---
|
||||
> `user` | `user` | `user`
|
||||
> `admin` | `admin` | `user` + `admin`
|
||||
> - Keycloak Administration Console: <http://localhost:8080/auth>, login with Username: `admin`, Password: `admin`.
|
||||
> - Wildfly Administration Console: <http://localhost:9990>, login with Username: `admin`, Password: `admin`.
|
||||
> - Kibana UI: <http://localhost:5601>
|
||||
> - DICOM QIDO-RS Base URL: <http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs>
|
||||
> - DICOM STOW-RS Base URL: <http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs>
|
||||
> - DICOM WADO-RS Base URL: <http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs>
|
||||
> - DICOM WADO-URI: <http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/wado>
|
||||
3
docs/connecting-to-image-archives/dicomweb.md
Normal file
@ -0,0 +1,3 @@
|
||||
# DICOM Web
|
||||
|
||||
[DICOMWeb](https://en.wikipedia.org/wiki/DICOMweb) refers to RESTful DICOM Services and is a recently standardized set of guidelines for exchanging medical images and imaging metadata over the internet. Not all archives fully support it yet, but it is gaining wider adoption.
|
||||
3
docs/connecting-to-image-archives/dimse.md
Normal file
@ -0,0 +1,3 @@
|
||||
# DICOM Message Service Element
|
||||
|
||||
DIMSE Stands for [DICOM Message Service Element](http://dicom.nema.org/medical/dicom/current/output/chtml/part07/chapter_7.html) and is the standard method through which DICOM archives communicate. We support this messaging standard for the retrieval of study, series, and instance metadata because it is widely support. For certain PACS systems, it also (currently) provides faster query results than DICOMWeb.
|
||||
3
docs/connecting-to-image-archives/options.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Connecting to Image Archives
|
||||
|
||||
We support DIMSE and DICOMWeb. Which one to use is up to you and depends on your PACS system. DICOMWeb requires no setup on the PACS-side whatsoever, whereas DIMSE may require you to add the 'OHIFDCM' aeTitle to the known DICOM Modalities of your Archive. This is the case for Orthanc, for example (See https://github.com/OHIF/Viewers/wiki/Orthanc-with-DIMSE).
|
||||
33
docs/connecting-to-image-archives/orthanc-with-docker.md
Normal file
@ -0,0 +1,33 @@
|
||||
# Orthanc with Docker
|
||||
|
||||
Depending on whether or not you want uploaded studies to persist in Orthanc after Docker has been closed, there are two different methods for starting the Docker image:
|
||||
|
||||
## Temporary data storage
|
||||
This command will start an instance of the jodogne/orthanc-plugins Docker image. *All data will be removed when the instance is stopped!*
|
||||
|
||||
````
|
||||
docker run --rm -p 4242:4242 -p 8042:8042 jodogne/orthanc-plugins
|
||||
````
|
||||
|
||||
## Persistent data storage
|
||||
In order to allow your data to persist after the instance is stopped, you first need to create an image and attached data volume with Docker. The steps are as follows:
|
||||
|
||||
1. Create a persistent data volume for Orthanc to use
|
||||
|
||||
````
|
||||
docker create --name sampledata -v /sampledata jodogne/orthanc-plugins
|
||||
````
|
||||
|
||||
**Note: On Windows, you need to use an absolute path for the data volume, like so:**
|
||||
|
||||
````
|
||||
docker create --name sampledata -v '//C/Users/erik/sampledata' jodogne/orthanc-plugins
|
||||
````
|
||||
|
||||
2. Run Orthanc from Docker with the data volume attached
|
||||
|
||||
````
|
||||
docker run --volumes-from sampledata -p 4242:4242 -p 8042:8042 jodogne/orthanc-plugins
|
||||
````
|
||||
|
||||
3. Upload your data and it will be persisted
|
||||
3
docs/connecting-to-image-archives/osirix.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Example: Osirix
|
||||
|
||||
...
|
||||
@ -1,3 +1,16 @@
|
||||
# Contributing
|
||||
|
||||
...
|
||||
### I would like to contribute code - how do I do this?
|
||||
|
||||
Fork the repository, make your change and submit a pull request.
|
||||
|
||||
### Any guidance on submitting changes?
|
||||
|
||||
While we do appreciate code contributions, triaging and integrating contributed code changes can be very time consuming. Please consider the following tips when working on your pull requests:
|
||||
|
||||
- Functionality is appropriate for the repository. Consider posting on the forum if you are not sure.
|
||||
- Code quality is acceptable. We don't have coding standards defined, but make sure it passes ESLint and looks like the rest of the code in the repository.
|
||||
- Quality of design is acceptable. This is a bit subjective so you should consider posting on the forum for specific guidance.
|
||||
- The scope of the pull request is not too large. Please consider separate pull requests for each feature as big pull requests are very time consuming to understand.
|
||||
|
||||
We will provide feedback on your pull requests as soon as possible. Following the tips above will help ensure your changes are reviewed.
|
||||
|
||||
5
docs/data/data-hierarchy.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Data Hierarchy
|
||||
|
||||
## Studies, Series, Instances, Frames
|
||||
|
||||
## Display Sets
|
||||
5
docs/data/image-viewport.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Image Viewport
|
||||
|
||||
### Main Viewport Component
|
||||
|
||||
The [imageViewerViewport](https://github.com/OHIF/Viewers/tree/master/Packages/ohif-viewerbase/client/components/viewer/imageViewerViewport) component
|
||||
1
docs/data/measurements-and-annotations.md
Normal file
@ -0,0 +1 @@
|
||||
# Measurements and Annotations
|
||||
1
docs/data/tool-management.md
Normal file
@ -0,0 +1 @@
|
||||
# Tool Management
|
||||
152
docs/deployment/building-for-production.md
Normal file
@ -0,0 +1,152 @@
|
||||
# Building for Production
|
||||
|
||||
**This tutorial considers the current folder as `OHIFViewer/`**.
|
||||
|
||||
### Dependencies
|
||||
|
||||
First, you need to have installed:
|
||||
|
||||
- [Node.js](https://nodejs.org/) and [NPM](https://www.npmjs.com/)
|
||||
- [Meteor](https://www.meteor.com/)
|
||||
- [MongoDB](https://www.mongodb.com/)
|
||||
|
||||
**MongoDB** is actually **not required** if you have a **remote MongoDB**. If your database is **local** then you need to have it running.
|
||||
|
||||
### Check your packages
|
||||
|
||||
Inside of the viewer folder make sure NPM packages are updated for production:
|
||||
|
||||
```bash
|
||||
npm install --production
|
||||
```
|
||||
|
||||
### Building
|
||||
|
||||
There are two ways of building OHIF Viewer for a specific DICOM server: **Automatically** or **Manually**.
|
||||
|
||||
For both, we use the `meteor build` (check it's [docs](https://guide.meteor.com/deployment.html#custom-deployment)) app and **Orthanc Dicom Web Server**.
|
||||
|
||||
For `meteor build` it's necessary to inform an output folder `myOutputFolder`.
|
||||
**Remember to change `myOutputFolder` to your folder location.**
|
||||
|
||||
OHIF Viewer will be built using **Orthanc DICOM Web server** configuration file `../config/orthancDICOMWeb.json` to set `METEOR_SETTINGS` environment var.
|
||||
|
||||
*To run with another server, just point to the corresponding `.json` located in `config` folder or create your own.*
|
||||
|
||||
#### Build automatically
|
||||
|
||||
After this step, go directly to [Prepare to run production build](#prepare-to-run-production-build).
|
||||
|
||||
##### Non-windows users
|
||||
|
||||
```bash
|
||||
METEOR_PACKAGE_DIRS="../Packages" METEOR_SETTINGS=$(cat ../config/orthancDICOMWeb.json) meteor build --directory myOutputFolder
|
||||
```
|
||||
|
||||
##### Windows users
|
||||
|
||||
Since there is no `cat` command in Windows `cmd`, use Windows `PowerShell` (at least version 3.0) instead.
|
||||
|
||||
In `PowerShell`, open a new shell as an `admin`:
|
||||
|
||||
```bash
|
||||
Start-Process powershell -Verb runAs
|
||||
```
|
||||
|
||||
Then:
|
||||
|
||||
**Remember to change `OHIFViewerFolderLocation` to OHIFViewer's folder location.**
|
||||
|
||||
```bash
|
||||
cd OHIFViewerFolderLocation
|
||||
$settings = Get-Content ..\config\orthancDICOMWeb.json -Raw
|
||||
$settings = $settings -replace "`n","" -replace "`r","" -replace " ",""
|
||||
[Environment]::SetEnvironmentVariable("METEOR_SETTINGS", $settings, "Machine")
|
||||
SET METEOR_PACKAGE_DIRS="../Packages"
|
||||
meteor build --directory myOutputFolder
|
||||
```
|
||||
|
||||
#### Build manually
|
||||
|
||||
OHIF Viewer will be built normally, but with no DICOM Server information, which needs to be added when running the build. This is described in [Manually adding DICOM Server to the Viewer](#manually-adding-dicom-server-to-the-viewer).
|
||||
|
||||
##### Non-windows users
|
||||
|
||||
```bash
|
||||
METEOR_PACKAGE_DIRS="../Packages" meteor build --directory myOutputFolder
|
||||
```
|
||||
|
||||
##### Windows users in `cmd`
|
||||
|
||||
```bash
|
||||
SET METEOR_PACKAGE_DIRS="../Packages"
|
||||
meteor build --directory myOutputFolder
|
||||
```
|
||||
|
||||
### Prepare to run production build
|
||||
|
||||
If everything went ok, `meteor build` created a `bundle` folder inside `myOutputFolder`.
|
||||
|
||||
**Remember to change `myOutputFolder` to your folder location.**
|
||||
|
||||
Go to that folder:
|
||||
|
||||
```bash
|
||||
cd myOutputFolder/bundle
|
||||
```
|
||||
|
||||
Now install the **NPM dependencies**:
|
||||
|
||||
```bash
|
||||
cd programs/server
|
||||
npm install
|
||||
```
|
||||
|
||||
### To run production build
|
||||
|
||||
Go back to the `bundle` folder:
|
||||
|
||||
```bash
|
||||
cd ../..
|
||||
```
|
||||
or (**Remember to change `myOutputFolder` to your folder location.**):
|
||||
|
||||
```bash
|
||||
cd myOutputFolder/bundle
|
||||
```
|
||||
|
||||
3 environment variables are set before running Node.js:
|
||||
- `MONGO_URL`: is the url to MongoDB. If it's **local**, you need to have it running
|
||||
- `ROOT_URL`: the hostname where you can access your Viewer in the browser
|
||||
- `PORT`: the port the Viewer will run
|
||||
|
||||
This way, the Viewer can be accessed in `http://localhost:3000`, with MongoDB running locally using 27017 port (it's default).
|
||||
|
||||
##### Non-windows users
|
||||
|
||||
```bash
|
||||
MONGO_URL=mongodb://localhost:27017/myapp ROOT_URL=http://localhost PORT=3000 node main.js
|
||||
```
|
||||
|
||||
##### Windows users in `cmd`
|
||||
|
||||
```bash
|
||||
SET MONGO_URL=mongodb://localhost:27017/myapp
|
||||
SET ROOT_URL=http://localhost
|
||||
SET PORT=3000
|
||||
node main.js
|
||||
```
|
||||
|
||||
### Manually adding DICOM Server to the Viewer
|
||||
|
||||
If DICOM Server was configured automatically during the building process, skip this step.
|
||||
|
||||
Access the viewer `http://localhost:3000` and toggle the **Options** menu, located at top right corner. Select **Server Information** option.
|
||||
|
||||
In **Server Information** dialog click on **Add a new server** button and fill the fields accordingly to the DICOM Server to be added.
|
||||
|
||||
In case of doubts about any field in this dialog, use `config/orthancDICOMWeb.json` as reference.
|
||||
|
||||
After filling the form, click on the **Save** button and the new server will be listed. Make sure to activate it by clicking on the left most button (a checkbox button) in the **Actions** column.
|
||||
|
||||
Refresh the page and Viewer will be connected to the DICOM Server.
|
||||
1
docs/deployment/security.md
Normal file
@ -0,0 +1 @@
|
||||
# Security
|
||||
15
docs/essentials/architecture.md
Normal 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
docs/essentials/configuration.md
Normal 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`.
|
||||
58
docs/essentials/installation.md
Normal 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.
|
||||