OHIF with Cornerstone3D 2.0 (#4347)
No files matched your search
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"label": "I Want to ...",
|
||||
"position": 8
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
# Add a Logo to the Viewer
|
||||
|
||||
The OHIF Framework provides [**ohif-header**](https://github.com/OHIF/Viewers/tree/master/Packages/ohif-header) package to add a header into application layout. **ohif-header** package is designed as a [custom block helper](http://blazejs.org/api/spacebars.html#Custom-Block-Helpers) named **header** to define your own header context.
|
||||
|
||||
If you would like to add SVG logo to header please follow these steps.
|
||||
|
||||
1. Add your SVG logo into public folder.
|
||||
|
||||
2. Add **header** content block which will be located on the top of the application layout into your application's main template. You can also pass some parameters to **header** content block to customize the header.
|
||||
|
||||
* headerClasses: the list of classes which will be applied to header element
|
||||
* brandHref: the url of the logo to link
|
||||
|
||||
|
||||
``` html
|
||||
{{#header headerClasses="header-big bg-blue" brandHref="your logo link"}}
|
||||
...
|
||||
{{/header}}
|
||||
```
|
||||
|
||||
|
||||
1. Create a section called as **brand** in **header** content block and add your logo content which is displayed on the left side of the header as default into section **brand**.
|
||||
|
||||
|
||||
``` html
|
||||
{{#header}}
|
||||
{{#section "brand"}}
|
||||
<!-- Add logo image -->
|
||||
<svg>
|
||||
<use xlink:href="/yourLogo.svg"}}></use>
|
||||
</svg>
|
||||
|
||||
<!-- Add logo text -->
|
||||
<div>Logo Text</div>
|
||||
{{/section}}
|
||||
{{/header}}
|
||||
```
|
||||
|
||||
|
||||
For example, see how it works in [OHIF Viewer](https://github.com/OHIF/Viewers/blob/master/OHIFViewer/client/components/ohifViewer/ohifViewer.html#L2)
|
||||
@@ -1,22 +0,0 @@
|
||||
# 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,61 +0,0 @@
|
||||
# OHIF Standalone Installation Instructions For Windows Server 2016:
|
||||
|
||||
**Note: Turn-Off Windows Defender Realtime protection during this process**
|
||||
|
||||
1. Install Chocolatey
|
||||
|
||||
a. Go to this URL for instructions:
|
||||
|
||||
https://chocolatey.org/install#install-with-cmdexe
|
||||
|
||||
b. Execute this command in the cmd line as Admin:
|
||||
```
|
||||
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
|
||||
```
|
||||
|
||||
c. Type `choco -?` to ensure the installation is OK.
|
||||
2. Install Meteor
|
||||
|
||||
a. Type the command: `choco install meteor`
|
||||
3. Install node.js
|
||||
|
||||
a. Download MSI from: https://nodejs.org/en/download/
|
||||
4. Install MongoDB
|
||||
|
||||
a. Download MSI from:
|
||||
https://www.mongodb.com/download-center/community
|
||||
5. Install Git
|
||||
|
||||
a. https://git-scm.com/download/win
|
||||
6. Download the OHIF Viewer repository from GitHub, or use Git to clone it (recommended)
|
||||
|
||||
a. GitHub Repo: https://github.com/OHIF/Viewers
|
||||
|
||||
b. GIT Clone command: `git clone https://github.com/OHIF/Viewers`
|
||||
7. Set the Meteor Packages folder environment variable
|
||||
|
||||
a. Go to Advanced System Settings
|
||||
|
||||
b. Under Advanced, click on the "Environment Variables..." button
|
||||
|
||||
c. Under System Variables, click "New..."
|
||||
|
||||
d. Set the following:
|
||||
|
||||
i. Variable name: METEOR_PACKAGE_DIRS
|
||||
|
||||
ii. Variable Value:
|
||||
example: C:\OHIF\Viewers\Packages
|
||||
8. Using the command line, navigate/cs to the standalone viewer folder, example: `cd C:\OHIF\Viewers\StandaloneViewer\StandaloneViewer`
|
||||
9. run the command: `meteor npm install`
|
||||
10. Run the command: `meteor`
|
||||
|
||||
a. if you get this error "Error: EPERM: operation not permitted, unlink" Or,
|
||||
|
||||
b. You feel the build is stale for a very long time > 10min with no visual indication, restart the cmd prompt and repeat this step (`meteor`)
|
||||
|
||||
# Troubleshooting:
|
||||
|
||||
1. If you get an error: Error: EPERM: operation not permitted, unlink `c:\xxxxx`
|
||||
|
||||
a. https://github.com/phoenixframework/phoenix/issues/2464
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"label": "Extras",
|
||||
"position": 13
|
||||
}
|
||||
@@ -1,345 +0,0 @@
|
||||
---
|
||||
title: Development Environment Installation
|
||||
---
|
||||
|
||||
**Development Environment Installation (Ubuntu)**
|
||||
|
||||
**CONFIDENTIAL DOCUMENT**
|
||||
|
||||
This is a confidential document and property of Radical Imaging LLC. It shall not be transmitted, copied or sent to anyone without prior authorization.
|
||||
|
||||
**Index**
|
||||
|
||||
[[TOC]]
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>Acronyms and definitions</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Acronym/Definition</td>
|
||||
<td>Meaning</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>N/A</td>
|
||||
<td>N/A</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>Referenced Documents</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Doc No</td>
|
||||
<td>Doc Title</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>DOC00001</td>
|
||||
<td>Radical Imaging Official Documents Template</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
# PURPOSE AND OBJECTIVES
|
||||
|
||||
The purpose of this document is to describe the development environment installation of OHIF viewer/Lesion Tracker on Linux Ubuntu.
|
||||
|
||||
# DEVELOPMENT ENVIRONMENT INSTALLATION
|
||||
|
||||
## Docker
|
||||
|
||||
Docker is an open source software platform to create, deploy and manage virtualized application containers on common operating systems, with several allied tools.
|
||||
|
||||
To install Docker, follow the instructions below:
|
||||
|
||||
1. Open a terminal, and update the apt package index, by running the following command:
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
2. Install packages to allow apt to use a repository over HTTPS, by running the following command:
|
||||
|
||||
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
3. Add Docker’s official GPG key, by running the following command:
|
||||
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
4. Verify that you now have the key with the fingerprint **9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88**, by searching for the last 8 characters of the fingerprint after running the following command:
|
||||
|
||||
sudo apt-key fingerprint 0EBFCD88
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
5. Use the following command to set up the stable repository.
|
||||
|
||||
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
6. Install the latest version of Docker CE, by running the following command:
|
||||
|
||||
sudo apt-get install docker-ce
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
7. Verify that Docker CE is installed correctly by running the hello-world image:
|
||||
|
||||
sudo docker run hello-world
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
**Note**: Additional information about Docker installation on Linux Ubuntu OS can be foud at [https://docs.docker.com/install/linux/docker-ce/ubuntu/](https://docs.docker.com/install/linux/docker-ce/ubuntu/).
|
||||
|
||||
## DCM4CHE
|
||||
|
||||
Dcm4che ([https://www.dcm4che.org/](https://www.dcm4che.org/)) is a collection of open source applications and utilities for healthcare.
|
||||
|
||||
To install Dcm4che, follow the instructions below:
|
||||
|
||||
1. Before start, you need to create the following folders on your *Home *directory:
|
||||
|
||||
* DCM4CHEE
|
||||
|
||||
* dcm4chee-arc
|
||||
|
||||
* db
|
||||
|
||||
* ldap
|
||||
|
||||
* slapd.d
|
||||
|
||||
* storage
|
||||
|
||||
* wildfly
|
||||
|
||||
|
||||
|
||||
2. Create the following files on the DCM4CHEE folder, with the correspondent contents:
|
||||
|
||||
docker-compose.env
|
||||
|
||||
```
|
||||
STORAGE_DIR=/storage/fs1
|
||||
POSTGRES_DB=pacsdb
|
||||
POSTGRES_USER=pacs
|
||||
POSTGRES_PASSWORD=pacs
|
||||
```
|
||||
|
||||
|
||||
docker-compose.yml
|
||||
|
||||
```
|
||||
version: "3"
|
||||
services:
|
||||
ldap:
|
||||
image: dcm4che/slapd-dcm4chee:2.4.44-14.1
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
ports:
|
||||
- "389:389"
|
||||
env_file: docker-compose.env
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- ~/dcm4chee-arc/ldap:/var/lib/ldap
|
||||
- ~/dcm4chee-arc/slapd.d:/etc/ldap/slapd.d
|
||||
db:
|
||||
image: dcm4che/postgres-dcm4chee:10.4-14
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
ports:
|
||||
- "5432:5432"
|
||||
env_file: docker-compose.env
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- ~/dcm4chee-arc/db:/var/lib/postgresql/data
|
||||
arc:
|
||||
image: dcm4che/dcm4chee-arc-psql:5.14.1
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8443:8443"
|
||||
- "9990:9990"
|
||||
- "11112:11112"
|
||||
- "2575:2575"
|
||||
env_file: docker-compose.env
|
||||
environment:
|
||||
WILDFLY_CHOWN: /opt/wildfly/standalone /storage
|
||||
WILDFLY_WAIT_FOR: ldap:389 db:5432
|
||||
depends_on:
|
||||
- ldap
|
||||
- db
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- ~/dcm4chee-arc/wildfly:/opt/wildfly/standalone
|
||||
- ~/dcm4chee-arc/storage:/storage</td>
|
||||
```
|
||||
|
||||
Files/Folder will become like the image above:
|
||||
|
||||
<!--  -->
|
||||
|
||||
1. Open a terminal inside DCM4CHE folder, and run the following command:
|
||||
|
||||
sudo snap install docker
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
4. Still inside the DCM4CHE folder, run the following command:
|
||||
|
||||
sudo docker-compose -p dcm4chee up -d
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
1. The following commands can be used to control DCM4CHE:
|
||||
|
||||
Stop all 3 containers: docker-compose -p dcm4chee stop
|
||||
|
||||
Start all 3 containers again: docker-compose -p dcm4chee start
|
||||
|
||||
Stop and delete all 3 containers: docker-compose -p dcm4chee down
|
||||
|
||||
2. Now it is necessary to import some DICOM studies to DCM4CHE. Before importing these studies, you will need to download them. To do so, access the address [http://34.224.187.57:3000/studylist](http://34.224.187.57:3000/studylist), right click one or more studies, and select the option Export:
|
||||
|
||||
<!--  -->
|
||||
|
||||
3. Confirm the study export on the modal window that will appear:
|
||||
|
||||
<!--  -->
|
||||
|
||||
4. The study(ies) export will begin. You can follow the exporting progress:
|
||||
|
||||
<!--  -->
|
||||
|
||||
5. After the exporting progress, the study(ies) will be downloaded in a file called "studies.zip". Create a folder named “Studies” on your Home folder, and extract this and any other studies you download in this folder:
|
||||
|
||||
<!--  -->
|
||||
|
||||
6. Open the terminal, go to the DCM4CHE folder, and run the following command in order to send the studies to DCM4CHE:
|
||||
|
||||
docker run -v ~/Studies/:/tmp --rm --network=dcm4chee_default dcm4che/dcm4che-tools:5.14.0 storescu -cDCM4CHEE@arc:11112 /tmp
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
7. Now, go to your browser and access the URL [http://localhost:8080/dcm4chee-arc/ui2/](http://localhost:8080/dcm4chee-arc/ui2/). Once opened, click on the refresh icon on the most right:
|
||||
|
||||
<!--  -->
|
||||
|
||||
8. The studies received by DCM4CHE will be shown:
|
||||
|
||||
<!--  -->
|
||||
|
||||
9. Open the terminal, go to your Home folder, and run the following command in order to clone viewers repository to your local:
|
||||
|
||||
git clone https://github.com/OHIF/Viewers.git
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
10. Then, enter the Viewers folder, and run the following command in order to make sure that you are in master branch:
|
||||
|
||||
git checkout master
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
11. Now go to OHIFViewer folder and run the following command:
|
||||
|
||||
meteor npm install
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
12. Still on the OHIFViewer folder, run the following command:
|
||||
|
||||
./bin/dcm4cheeDICOMWeb.sh
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
13. Now, go to your browser and access the URL [http://localhost:3000](http://localhost:3000). Once opened, change the Study Date filter to start on the year 2000:
|
||||
|
||||
<!--  -->
|
||||
|
||||
14. The imported studies will be show. Double click a study to open it:
|
||||
|
||||
<!--  -->
|
||||
|
||||
## Meteor
|
||||
|
||||
Meteor is a JavaScript web framework that allows for rapid prototyping and produces cross-platform code.
|
||||
|
||||
To install Meteor, follow the instructions below:
|
||||
|
||||
**_Remark_***: This guide covers the Linux Ubuntu version. Installation instructions can be different on other operating systems.*
|
||||
|
||||
1. Open a terminal, and run the following command:
|
||||
|
||||
curl https://install.meteor.com/ | sh
|
||||
|
||||
Expected result:
|
||||
|
||||
<!--  -->
|
||||
|
||||
## Starting OHIF Viewer after system restart
|
||||
|
||||
These are the steps to run OHIFVIewer after system restart:.
|
||||
|
||||
1. Open terminal
|
||||
|
||||
2. Access the DCM4CHEE folder, on your Home folder
|
||||
|
||||
3. Run the following command in order to start docker containers:
|
||||
|
||||
docker-compose -p dcm4chee start
|
||||
|
||||
4. Access the Viewers/OHIFViewer folder, on your Home folder
|
||||
|
||||
5. Run the following command in order to run OHIF Viewer:
|
||||
|
||||
./bin/dcm4cheeDICOMWeb.sh
|
||||
|
||||
6. Access the address [http://localhost:3000](http://localhost:3000)
|
||||
@@ -1,96 +0,0 @@
|
||||
---
|
||||
title: Standalone Viewer
|
||||
---
|
||||
|
||||
# Standalone Viewer
|
||||
|
||||
## Quick Start
|
||||
|
||||
Install dependencies:
|
||||
|
||||
```bash
|
||||
meteor npm install
|
||||
```
|
||||
|
||||
Run the application:
|
||||
|
||||
```bash
|
||||
METEOR_PACKAGE_DIRS="../../Packages" ROOT_URL=http://localhost:3000 meteor
|
||||
```
|
||||
|
||||
Open your web browser and navigate to one of the following URLs to test the standalone viewer application:
|
||||
|
||||
```bash
|
||||
http://localhost:3000/testId
|
||||
```
|
||||
|
||||
Or, to load DICOMs:
|
||||
```bash
|
||||
http://localhost:3000/testDICOMs
|
||||
```
|
||||
|
||||
### To Build for the Client
|
||||
|
||||
It is possible to build this standalone viewer to run as a client-only bundle of HTML, JavaScript, and CSS.
|
||||
|
||||
1. First, install [meteor-build-client-fixed2](https://www.npmjs.com/package/meteor-build-client-fixed2).
|
||||
|
||||
````bash
|
||||
sudo npm install -g meteor-build-client-fixed2
|
||||
````
|
||||
|
||||
2. Next, build the client bundle into an output folder ("myOutputFolder") with a base URL ("localhost:3000"). In production, this would be the URL where the Viewer is available.
|
||||
|
||||
````
|
||||
METEOR_PACKAGE_DIRS="../../Packages" meteor-build-client-fixed2 ../myOutputFolder -u localhost:3000 --legacy
|
||||
````
|
||||
|
||||
3. Test the bundled client-side package locally.
|
||||
|
||||
Note: You will need to have Python installed to run the test server for this case. It is not a typical simple HTTP server. The bundled script redirects all URLs following the base URL to index.html. It will then use the routes defined in your application to handle the URL parameters.
|
||||
|
||||
In our case, this means it will request a JSON file at baseURL/api/[id parameter].
|
||||
|
||||
So if you navigate to http://localhost:3000/sampleJPEG.json the application will retrieve the JSON from http://localhost:3000/api/sampleJPEG.json and use it to populate the viewer. If something appears to be broken, make sure you retrieve a JSON file at the /api URL.
|
||||
|
||||
Create the api folder for your data
|
||||
|
||||
````bash
|
||||
cd myOutputFolder
|
||||
mkdir api
|
||||
````
|
||||
|
||||
Copy your data into the folder
|
||||
|
||||
````bash
|
||||
cp ../etc/sample* api/
|
||||
````
|
||||
|
||||
Run the server
|
||||
|
||||
```` bash
|
||||
python ../etc/redirectingSimpleServer.py
|
||||
````
|
||||
|
||||
Open your web browser and navigate to http://localhost:3000/sampleJPEG.json or http://localhost:3000/sampleDICOM.json
|
||||
|
||||
## Authorization Header
|
||||
|
||||
A ```token``` fragment parameter can be specified. If present this value will be used for http bearer authorization when making requests for the above JSON, and when retrieving images using the Cornerstone Image Loaders.
|
||||
|
||||
Example :
|
||||
|
||||
```
|
||||
http://localhost:3000/sampleDICOM.json#token=1a2b3c4d
|
||||
```
|
||||
|
||||
|
||||
### Testing the Sample client-only build
|
||||
For the sake of simplicity we have also included a pre-built client-only version of the standalone viewer, which can be found in the SampleClientOnlyBuild folder.
|
||||
|
||||
You can test this with:
|
||||
|
||||
```` bash
|
||||
cd SampleClientOnlyBuild
|
||||
python ../etc/redirectingSimpleServer.py
|
||||
````
|
||||
@@ -1,51 +0,0 @@
|
||||
---
|
||||
id: Introduction
|
||||
slug: /
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
##### Looking for your Deploy Preview? - <a onClick="function redirect() { window.location.href='/demo/'; } redirect();">Deploy Preview for Viewer</a>
|
||||
|
||||
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](https://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).
|
||||
|
Before Width: | Height: | Size: 585 KiB |
|
Before Width: | Height: | Size: 227 KiB |
|
Before Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 311 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 733 KiB |
|
Before Width: | Height: | Size: 517 KiB |
|
Before Width: | Height: | Size: 424 KiB |
|
Before Width: | Height: | Size: 457 KiB |
|
Before Width: | Height: | Size: 257 KiB |
|
Before Width: | Height: | Size: 318 KiB |
|
Before Width: | Height: | Size: 305 KiB |
|
Before Width: | Height: | Size: 315 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 595 KiB |
|
Before Width: | Height: | Size: 576 KiB |
|
Before Width: | Height: | Size: 411 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 320 KiB |
|
Before Width: | Height: | Size: 521 KiB |
|
Before Width: | Height: | Size: 180 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 303 KiB |
|
Before Width: | Height: | Size: 292 KiB |
|
Before Width: | Height: | Size: 306 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 241 KiB |
|
Before Width: | Height: | Size: 314 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 135 KiB |
|
Before Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 117 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 402 KiB |
|
Before Width: | Height: | Size: 292 KiB |
|
Before Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 414 KiB |
|
Before Width: | Height: | Size: 329 KiB |
|
Before Width: | Height: | Size: 329 KiB |
|
Before Width: | Height: | Size: 311 KiB |
|
Before Width: | Height: | Size: 311 KiB |
|
Before Width: | Height: | Size: 485 KiB |
|
Before Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 319 KiB |
|
Before Width: | Height: | Size: 787 KiB |
|
Before Width: | Height: | Size: 424 KiB |
|
Before Width: | Height: | Size: 501 KiB |
|
Before Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 313 KiB |
|
Before Width: | Height: | Size: 292 KiB |
|
Before Width: | Height: | Size: 457 KiB |
|
Before Width: | Height: | Size: 292 KiB |
|
Before Width: | Height: | Size: 457 KiB |
|
Before Width: | Height: | Size: 289 KiB |
|
Before Width: | Height: | Size: 312 KiB |
|
Before Width: | Height: | Size: 336 KiB |
|
Before Width: | Height: | Size: 454 KiB |
|
Before Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 440 KiB |
|
Before Width: | Height: | Size: 444 KiB |
|
Before Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 493 KiB |
|
Before Width: | Height: | Size: 440 KiB |
|
Before Width: | Height: | Size: 662 KiB |
|
Before Width: | Height: | Size: 104 KiB |
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"label": "Connecting to ImageArchives",
|
||||
"position": 3
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
# 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`
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
# 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.
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
sidebar_position: 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.
|
||||
@@ -1,90 +0,0 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
---
|
||||
# Google Cloud Healthcare
|
||||
|
||||
> The [Google Cloud Healthcare API](https://cloud.google.com/healthcare/) is a powerful option for storing medical imaging data in the cloud.
|
||||
|
||||
An alternative to deploying your own PACS is to use a software-as-a-service provider such as Google Cloud. The Cloud Healthcare API promises to be a scalable, secure, cost effective image storage solution for those willing to store their data in the cloud. It offers an [almost-entirely complete DICOMWeb API](https://cloud.google.com/healthcare/docs/dicom) which requires tokens generated via the [OAuth 2.0 Sign In flow](https://developers.google.com/identity/sign-in/web/sign-in). Images can even be transcoded on the fly if this is desired. The Cloud Healthcare API is a very attractive option because it allows us to avoid deploying the Meteor server entirely. We can just deploy OHIF as a client-only static site application.
|
||||
|
||||
## Setup a Google Cloud Healthcare Project
|
||||
|
||||
1. Create a Google Cloud account
|
||||
1. Create a project in Google Cloud
|
||||
1. Enable the [Cloud Healthcare API](https://cloud.google.com/healthcare/) for your project.
|
||||
1. (Optional): Create a Dataset and Data Store for storing your DICOM data
|
||||
1. Enable the [Cloud Resource Manager API](https://cloud.google.com/resource-manager/) for your project.
|
||||
|
||||
*Note:* If you are having trouble finding the APIs, use the search box at the top of the Cloud console.
|
||||
|
||||
1. Go to APIs & Services > Credentials to create an OAuth Consent screen and fill in your application details.
|
||||
|
||||
- Under Scopes for Google APIs, click "manually paste scopes".
|
||||
- Add the following scopes:
|
||||
- https://www.googleapis.com/auth/cloudplatformprojects.readonly
|
||||
- https://www.googleapis.com/auth/cloud-healthcare
|
||||
|
||||
1. Go to APIs & Services > Credentials to create a new set of credentials:
|
||||
- Choose the "Web Application" type
|
||||
- Set up an [OAuth 2.0 Client ID](https://support.google.com/cloud/answer/6158849?hl=en)
|
||||
|
||||
- Add your domain (e.g. ```http://localhost:3000```) to Authorized JavaScript origins.
|
||||
- Add your domain, plus `_oauth/google` (e.g. ```http://localhost:3000/_oauth/google```) to Authorized Redirect URIs.
|
||||
- Save your Client ID for later.
|
||||
1. (Optional): Enable Public Datasets that are being hosted by Google: https://cloud.google.com/healthcare/docs/resources/public-datasets/
|
||||
|
||||
## Run the viewer with your OAuth Client ID
|
||||
|
||||
1. Open the `config/oidc-googleCloud.json` file and change `YOURCLIENTID` to your Client ID value.
|
||||
1. Run the OHIF Viewer using the oidc-googleCloud.json configuration file
|
||||
|
||||
````bash
|
||||
cd OHIFViewer
|
||||
METEOR_PACKAGE_DIRS="../Packages" meteor npm install
|
||||
METEOR_PACKAGE_DIRS="../Packages" meteor --settings ../config/oidc-googleCloud.json
|
||||
````
|
||||
|
||||
## Running via Docker
|
||||
|
||||
OHIF is also providing a Docker container which can connect to Google Cloud Healthcare with a Client ID which is provided at runtime. This is a very simple method to get up and running. Internally, the container is running [Nginx](https://nginx.org/) to serve the [Standalone Viewer](../OHIF-Viewer/usage.md).
|
||||
|
||||
1. Install Docker (https://www.docker.com/)
|
||||
1. Run the Docker container, providing a Client ID as an environment variable. Client IDs look like `xyz.apps.googleusercontent.com`.
|
||||
|
||||
````bash
|
||||
docker run --env CLIENT_ID=$CLIENT_ID --publish 3000:80 ohif/viewer-google-cloud:latest
|
||||
````
|
||||
|
||||
## Building the ohif/viewer-google-cloud Docker Image
|
||||
|
||||
The [ohif/viewer-google-cloud](https://cloud.docker.com/u/ohif/repository/docker/ohif/viewer-google-cloud) Docker image is built as follows. The Dockerfile and nginx.conf are in the `/dockersupport/viewer-google-cloud` folder.
|
||||
|
||||
1. [Install Meteor](https://www.meteor.com/install)
|
||||
1. Clone the repository
|
||||
```bash
|
||||
git clone https://github.com/OHIF/Viewers.git
|
||||
cd Viewers
|
||||
```
|
||||
|
||||
1. Install meteor-build-client-fixed2 so you can build the Standalone Viewer
|
||||
```bash
|
||||
npm install -g meteor-build-client-fixed2
|
||||
```
|
||||
|
||||
1. Build the Standalone client-only OHIF Viewer
|
||||
```bash
|
||||
cd OHIFViewer/
|
||||
METEOR_PACKAGE_DIRS="../Packages" meteor npm install
|
||||
METEOR_PACKAGE_DIRS="../Packages" meteor-build-client-fixed2 ../dockersupport/viewer-google-cloud/build -s ../config/oidc.json
|
||||
```
|
||||
|
||||
1. Build the Docker image
|
||||
```bash
|
||||
cd ../dockersupport/viewer-google-cloud
|
||||
docker build -t ohif/viewer-google-cloud .
|
||||
```
|
||||
|
||||
1. Run the Docker image using an OAuth Client ID
|
||||
```bash
|
||||
docker run --env CLIENT_ID={$someID}.apps.googleusercontent.com --publish 3000:80 ohif/viewer-google-cloud
|
||||
```
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
# 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).
|
||||
@@ -1,36 +0,0 @@
|
||||
---
|
||||
sidebar_position: 5
|
||||
---
|
||||
# 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
|
||||
@@ -1,55 +0,0 @@
|
||||
---
|
||||
id: contributing
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# 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.
|
||||
|
||||
### Testing contribution pull requests
|
||||
|
||||
OHIF uses [netlify](https://netlify.com) so that pull requests are autogenerated
|
||||
and available for testing.
|
||||
|
||||
For example,
|
||||
[this url](https://deploy-preview-237--ohif.netlify.com/viewer/?url=https://s3.eu-central-1.amazonaws.com/ohif-viewer/sampleDICOM.json)
|
||||
allows you to test
|
||||
[pull request 237, the request that created this FAQ entry,](https://github.com/OHIF/Viewers/pull/237)
|
||||
using data pulled from Amazon S3.
|
||||
|
||||
Replacing the number 237 in the link below with your pull request number should
|
||||
let you test it as well and you can use this link for discussions on github
|
||||
without requiring reviewers to download and build your branch.
|
||||
|
||||
```
|
||||
https://deploy-preview-237--ohif.netlify.com/viewer/?url=https://s3.eu-central-1.amazonaws.com/ohif-viewer/sampleDICOM.json
|
||||
```
|
||||
|
||||
If you have made a documentation change, a link like this will let you preview
|
||||
the gitbook generated by the pull request:
|
||||
|
||||
```
|
||||
https://deploy-preview-237--ohif.netlify.com/contributing.html
|
||||
```
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"label": "Data Organization",
|
||||
"position": 4
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
# Data Hierarchy
|
||||
|
||||
## Studies, Series, Instances, Frames
|
||||
|
||||
## Display Sets
|
||||
@@ -1,5 +0,0 @@
|
||||
# Image Viewport
|
||||
|
||||
### Main Viewport Component
|
||||
|
||||
The [imageViewerViewport](https://github.com/OHIF/Viewers/tree/master/Packages/ohif-viewerbase/client/components/viewer/imageViewerViewport) component
|
||||