Skip to content

Commit 8dc0557

Browse files
committed
Update documentation
1 parent 1ec4138 commit 8dc0557

40 files changed

+9762
-2952
lines changed

README.md

Lines changed: 50 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,34 @@
11
[![Build Status](https://travis-ci.com/mghcomputationalpathology/dicom-microscopy-viewer.svg?branch=master)](https://travis-ci.com/mghcomputationalpathology/dicom-microscopy-viewer)
22

33
# DICOM Microscopy Viewer
4-
Vanilla JS library for web-based visualization of [DICOM VL Whole Slide Microscopy Image](http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_A.32.8.html) datasets.
5-
6-
## Motivation and implementation
7-
The library is intended to provide a lightweight and standard-compliant viewer for microscopy images in DICOM format.
8-
The viewer relies on [Openlayers](http://openlayers.org/) for rendering pyramid images and dynamically retrieves pyramid tiles (image frames) via [DICOMweb WADO-RS](https://www.dicomstandard.org/dicomweb/retrieve-wado-rs-and-wado-uri/) using [dicomweb-client](https://github.com/mghcomputationalpathology/dicomweb-client).
9-
However, the viewer API fully abstracts the underlying rendering library and doesn't expose the lower level Openlayers API directly, such that another rendering library could in principle be used in the future if this would be of advantage.
104

11-
## Live demo
12-
13-
Check out the online examples at [microscopy.dcmjs.org](https://microscopy.dcmjs.org/).
5+
Vanilla JS library for web-based visualization of [DICOM VL Whole Slide Microscopy Image](http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_A.32.8.html) datasets.
146

15-
## Installation
7+
The viewer allows visualization of slide microscopy images stored in a [DICOMweb](https://www.dicomstandard.org/dicomweb/) compatible archive.
8+
It leverages the [dicomweb-client](https://github.com/dcmjs-org/dicomweb-client) JavaScript library to retrieve data from the archive.
169

17-
Install the [dicom-microscopy-viewer](https://www.npmjs.com/package/dicom-microscopy-viewer) package using the `npm` package manager:
10+
## Features
1811

19-
```None
20-
npm install dicom-microscopy-viewer
21-
```
12+
* Display of different image types: `VOLUME`, `OVERVIEW`, `LABEL`
13+
* Annotation of regions of interest (ROI) as vector graphics based on 3-dimensional spatial coordinates (SCOORD3D): `POINT`, `MULTIPOINT`, `POLYLINE`, `POLYGON`, `ELLIPSE`, `ELLIPSOID`
14+
* Assembly of concatenations
15+
* Decoding of compressed pixel data, supporting baseline JPEG, JPEG 2000 and JPEG-LS codecs
16+
* Additive blending and coloring of monochromatic images of multiple optical paths (channels), supporting highly-multiplexed immunofluorescence imaging
2217

23-
## Building and testing
18+
## Live demo
2419

25-
Build and test code locally:
20+
Check out the online examples at [microscopy.dcmjs.org](https://microscopy.dcmjs.org/).
2621

27-
```None
28-
git clone https://github.com/mghcomputationalpathology/dicom-microscopy-viewer ~/dicom-microscopy-viewer
29-
cd ~/dicom-microscopy-viewer
30-
npm install
31-
npm run build
32-
npm test
33-
```
22+
## Documentation
3423

35-
We use [rollup](https://rollupjs.org/guide/en) for bundling and [mochify](https://github.com/mantoni/mochify.js) for testing (based on [mocha](https://mochajs.org/) and [chai](http://www.chaijs.com/)).
24+
The online Application Programming Interface (API) documentation is available at [mghcomputationalpathology.github.io/dicom-microscopy-viewer](https://mghcomputationalpathology.github.io/dicom-microscopy-viewer/).
3625

37-
Build the documentation:
26+
## Getting started
3827

39-
```None
40-
npm run generateDocs
41-
```
28+
Take a look at the examples in the `/examples` directory.
29+
They are also available online at [microscopy.dcmjs.org](https://microscopy.dcmjs.org/).
4230

43-
## Usage
31+
### Basic usage
4432

4533
```html
4634
<script type="text/javascript" src="https://unpkg.com/dicom-microscopy-viewer"></script>
@@ -53,7 +41,6 @@ DICOM JSON Model](http://dicom.nema.org/medical/dicom/current/output/chtml/part1
5341

5442
* Call the `render()` method, passing it the HTML element (or the name of the element), which shall contain the viewport.
5543

56-
5744
```js
5845
const url = 'http://localhost:8080/dicomweb';
5946
const client = new DICOMwebClient.api.DICOMwebClient({url});
@@ -73,15 +60,16 @@ client.searchForInstances(searchInstanceOptions).then((instances) => {
7360
sopInstanceUID,
7461
};
7562
const promise = client.retrieveInstanceMetadata(retrieveInstanceOptions).then(metadata => {
76-
const image = DICOMMicroscopyViewer.metadata.formatMetadata(metadata[0]);
77-
if (image.ImageType[2] === "VOLUME") {
63+
const imageType = metadata[0]["00080008"]["Value"];
64+
if (imageType[2] === "VOLUME") {
7865
return(metadata[0]);
7966
}
8067
});
8168
promises.push(promise);
8269
}
8370
return(Promise.all(promises));
8471
}).then(metadata => {
72+
metadata = metadata.filter(m => m);
8573
const viewer = new DICOMMicroscopyViewer.viewer.VolumeViewer({
8674
client,
8775
metadata
@@ -90,27 +78,6 @@ client.searchForInstances(searchInstanceOptions).then((instances) => {
9078
});
9179
```
9280

93-
## Status
94-
95-
**Investigational use only!**
96-
97-
The viewer allows visualization of *VL Whole Slide Microscopy Image* datasets stored in a [DICOMweb](https://www.dicomstandard.org/dicomweb/) compatible archive.
98-
It leverages the [dicomweb-client](https://github.com/dcmjs-org/dicomweb-client) JavaScript library to retrieve data from the archive.
99-
100-
### Features
101-
102-
* Display of different image types: `VOLUME`, `OVERVIEW`, `LABEL`
103-
* Server-side rendering of images with inclusion of ICC profiles for color reproducibility
104-
* Client-side assembly of concatenations
105-
* Vector graphic annotation of regions of interest (ROI) based on 3-dimensional spatial coordinates (SCOORD3D): `POINT`, `MULTIPOINT`, `POLYLINE`, `POLYGON`, `ELLIPSE`, `ELLIPSOID`
106-
107-
### Limitations
108-
109-
Currently, the viewer only supports
110-
111-
* Brightfield illumination (no fluorescence)
112-
* 2D images (no z-stacks)
113-
11481
## Citation
11582

11683
Please cite the following article when using the viewer for scientific studies: [Herrmann et al. J Path Inform. 2018](http://www.jpathinformatics.org/article.asp?issn=2153-3539;year=2018;volume=9;issue=1;spage=37;epage=37;aulast=Herrmann):
@@ -134,27 +101,41 @@ Please cite the following article when using the viewer for scientific studies:
134101
135102
```
136103

137-
## Documentation
104+
## Installation
138105

139-
The online Application Programming Interface (API) documentation is available at [mghcomputationalpathology.github.io/dicom-microscopy-viewer](https://mghcomputationalpathology.github.io/dicom-microscopy-viewer/).
106+
Install the [dicom-microscopy-viewer](https://www.npmjs.com/package/dicom-microscopy-viewer) package using the `npm` package manager:
140107

141-
## Getting started
108+
```None
109+
npm install dicom-microscopy-viewer
110+
```
142111

143-
Take a look at the examples in the `/examples` directory.
144-
They are also available online at [microscopy.dcmjs.org](https://microscopy.dcmjs.org/).
112+
## Building and testing
113+
114+
Build and test code locally:
115+
116+
```None
117+
git clone https://github.com/mghcomputationalpathology/dicom-microscopy-viewer ~/dicom-microscopy-viewer
118+
cd ~/dicom-microscopy-viewer
119+
npm install
120+
npm run build
121+
npm test
122+
```
123+
124+
We use [rollup](https://rollupjs.org/guide/en) for bundling and [mochify](https://github.com/mantoni/mochify.js) for testing (based on [mocha](https://mochajs.org/) and [chai](http://www.chaijs.com/)).
125+
126+
Build the documentation:
127+
128+
```None
129+
npm run generateDocs
130+
```
145131

146132
## Support
147133

148134
The developers gratefully acknowledge their reseach support:
149-
* Open Health Imaging Foundation ([OHIF](http://ohif.org))
150-
* Quantitative Image Informatics for Cancer Research ([QIICR](http://qiicr.org))
135+
* [Open Health Imaging Foundation (OHIF)](http://ohif.org)
136+
* [Quantitative Image Informatics for Cancer Research (QIICR)](http://qiicr.org)
151137
* [Radiomics](http://radiomics.io)
152-
* The [Neuroimage Analysis Center](http://nac.spl.harvard.edu)
153-
* The [National Center for Image Guided Therapy](http://ncigt.org)
154-
* The [MGH & BWH Center for Clinical Data Science](https://www.ccds.io/)
155-
156-
## Troubleshooting
157-
### Overview map not responsive:
158-
Some interactions could cause side effects on the viewer's instance of OverviewMap since it also uses the same interactions in the map.
159-
If you enable the 'draw' interaction, the overview map will lost its ability to instantly update
160-
the map when changed.
138+
* [Imaging Data Commons (IDC)](https://datacommons.cancer.gov/repository/imaging-data-commons)
139+
* [Neuroimage Analysis Center](http://nac.spl.harvard.edu)
140+
* [National Center for Image Guided Therapy](http://ncigt.org)
141+
* [MGH & BWH Center for Clinical Data Science (CCDS)](https://www.ccds.io/)

0 commit comments

Comments
 (0)