[![Build Status](https://travis-ci.com/mghcomputationalpathology/dicom-microscopy-viewer.svg?branch=master)](https://travis-ci.com/mghcomputationalpathology/dicom-microscopy-viewer)
# DICOM Microscopy Viewer
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.
## Motivation and implementation
The library is intended to provide a lightweight and standard-compliant viewer for microscopy images in DICOM format.
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).
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.
## Live demo
Check out the online examples at [microscopy.dcmjs.org](https://microscopy.dcmjs.org/).
## Installation
Install the [dicom-microscopy-viewer](https://www.npmjs.com/package/dicom-microscopy-viewer) package using the `npm` package manager:
```None
npm install dicom-microscopy-viewer
```
## Building and testing
Build and test code locally:
```None
git clone https://github.com/mghcomputationalpathology/dicom-microscopy-viewer ~/dicom-microscopy-viewer
cd ~/dicom-microscopy-viewer
npm install
npm run build
npm test
```
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/)).
Build the documentation:
```None
npm run generateDocs
```
## Usage
```html
<script type="text/javascript" src="https://unpkg.com/dicom-microscopy-viewer"></script>
```
The viewer can be embedded in any website, one only needs to
* Create an instance of the `viewer.VolumeViewer`. The constructor requires an instance of `DICOMwebClient` for retrieving frames from the archive as well as the metadata for each DICOM image instance formatted according to the [
DICOM JSON Model](http://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_F.2.html).
* Call the `render()` method, passing it the HTML element (or the name of the element), which shall contain the viewport.
```js
const url = 'http://localhost:8080/dicomweb';
const client = new DICOMwebClient.api.DICOMwebClient({url});
const studyInstanceUID = '1.2.3.4';
const seriesInstanceUID = '1.2.3.5';
const searchInstanceOptions = {
studyInstanceUID,
seriesInstanceUID
};
client.searchForInstances(searchInstanceOptions).then((instances) => {
const promises = []
for (let i = 0; i < instances.length; i++) {
const sopInstanceUID = instances[i]["00080018"]["Value"][0];
const retrieveInstanceOptions = {
studyInstanceUID,
seriesInstanceUID,
sopInstanceUID,
};
const promise = client.retrieveInstanceMetadata(retrieveInstanceOptions).then(metadata => {
const imageType = metadata[0]["00080008"]["Value"];
if (imageType[2] === "VOLUME") {
return(metadata[0]);
}
});
promises.push(promise);
}
return(Promise.all(promises));
}).then(metadata => {
metadata = metadata.filter(m => m);
const viewer = new DICOMMicroscopyViewer.viewer.VolumeViewer({
client,
metadata
});
viewer.render({container: 'viewport'});
});
```
## Status
**Investigational use only!**
The viewer allows visualization of *VL Whole Slide Microscopy Image* datasets stored in a [DICOMweb](https://www.dicomstandard.org/dicomweb/) compatible archive.
It leverages the [dicomweb-client](https://github.com/dcmjs-org/dicomweb-client) JavaScript library to retrieve data from the archive.
### Features
* Display of different image types: `VOLUME`, `OVERVIEW`, `LABEL`
* Server-side rendering of images with inclusion of ICC profiles for color reproducibility
* Client-side assembly of concatenations
* Vector graphic annotation of regions of interest (ROI) based on 3-dimensional spatial coordinates (SCOORD3D): `POINT`, `MULTIPOINT`, `POLYLINE`, `POLYGON`, `ELLIPSE`, `ELLIPSOID`
### Limitations
Currently, the viewer only supports
* Brightfield illumination (no fluorescence)
* 2D images (no z-stacks)
## Citation
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):
```None
@article{jpathinform-2018-9-37,
Author={
Herrmann, M. D. and Clunie, D. A. and Fedorov A. and Doyle, S. W. and Pieper, S. and
Klepeis, V. and Le, L. P. and Mutter, G. L. and Milstone, D. S. and Schultz, T. J. and
Kikinis, R. and Kotecha, G. K. and Hwang, D. H. and Andriole, K, P. and Iafrate, A. J. and
Brink, J. A. and Boland, G. W. and Dreyer, K. J. and Michalski, M. and
Golden, J. A. and Louis, D. N. and Lennerz, J. K.
},
Title={Implementing the {DICOM} standard for digital pathology},
Journal={Journal of Pathology Informatics},
Year={2018},
Number={1},
Volume={9},
Number={37}
}
```
## Documentation
The online Application Programming Interface (API) documentation is available at [mghcomputationalpathology.github.io/dicom-microscopy-viewer](https://mghcomputationalpathology.github.io/dicom-microscopy-viewer/).
## Getting started
Take a look at the examples in the `/examples` directory.
They are also available online at [microscopy.dcmjs.org](https://microscopy.dcmjs.org/).
## Support
The developers gratefully acknowledge their reseach support:
* Open Health Imaging Foundation ([OHIF](http://ohif.org))
* Quantitative Image Informatics for Cancer Research ([QIICR](http://qiicr.org))
* [Radiomics](http://radiomics.io)
* The [Neuroimage Analysis Center](http://nac.spl.harvard.edu)
* The [National Center for Image Guided Therapy](http://ncigt.org)
* The [MGH & BWH Center for Clinical Data Science](https://www.ccds.io/)
没有合适的资源?快使用搜索试试~ 我知道了~
dicom-microscopy-viewer:基于Web的DICOM可见光整个幻灯片显微镜图像查看器
共93个文件
html:37个
js:20个
svg:6个
需积分: 15 3 下载量 178 浏览量
2021-02-03
18:54:59
上传
评论 1
收藏 981KB ZIP 举报
温馨提示
DICOM显微镜查看器 Vanilla JS库,用于基于Web的数据集可视化。 动机与执行 该库旨在为DICOM格式的显微图像提供轻巧且符合标准的查看器。 查看器依靠渲染金字塔图像,并使用通过动态检索金字塔图块(图像帧)。 但是,查看器API完全抽象了基础渲染库,并且没有直接公开较低层的Openlayers API,因此,如果有优势,原则上将来可以使用另一个渲染库。 现场演示 在查看在线示例。 安装 使用npm软件包管理安装软件包: npm install dicom-microscopy-viewer 构建和测试 在本地构建和测试代码: git clone https://github.
资源详情
资源评论
资源推荐
收起资源包目录
dicom-microscopy-viewer-master.zip (93个子文件)
dicom-microscopy-viewer-master
.travis.yml 130B
jsdoc_conf.json 224B
rollup.config.js 882B
docs
roi.ROI.html 7KB
viewer.VolumeImageViewer.html 35KB
roi.html 3KB
viewer.js.html 52KB
dicom-microscopy-viewer.js.html 4KB
viewer.OverviewImageViewer.html 7KB
events.js.html 3KB
api.VLWholeSlideMicroscopyImageViewer.html 27KB
eventPublisher.js.html 3KB
scoord3d.Polyline.html 9KB
scoord3d.Point.html 9KB
fonts
OpenSans-Light-webfont.eot 19KB
OpenSans-LightItalic-webfont.woff 23KB
OpenSans-Regular-webfont.eot 19KB
OpenSans-Light-webfont.svg 115KB
OpenSans-Bold-webfont.woff 22KB
OpenSans-LightItalic-webfont.svg 120KB
OpenSans-LightItalic-webfont.eot 20KB
OpenSans-BoldItalic-webfont.eot 20KB
OpenSans-Bold-webfont.svg 115KB
OpenSans-BoldItalic-webfont.woff 23KB
OpenSans-Italic-webfont.woff 23KB
OpenSans-Regular-webfont.woff 22KB
OpenSans-Regular-webfont.svg 117KB
OpenSans-Light-webfont.woff 22KB
OpenSans-Italic-webfont.svg 120KB
OpenSans-Italic-webfont.eot 20KB
OpenSans-BoldItalic-webfont.svg 118KB
OpenSans-Bold-webfont.eot 19KB
scoord3d.Ellipsoid.html 10KB
dictionary.js.html 346KB
index.html 9KB
events.html 3KB
scoord3d.html 3KB
scoord3d.Polygon.html 9KB
utils.js.html 9KB
viewer.html 3KB
roi.js.html 5KB
metadata.js.html 7KB
scoord3d.Multipoint.html 9KB
metadata.html 5KB
global.html 4KB
api.html 3KB
styles
jsdoc-default.css 6KB
prettify-jsdoc.css 1KB
prettify-tomorrow.css 2KB
viewer.LabelImageViewer.html 7KB
tutorial-index_.html 5KB
metadata.VLWholeSlideMicroscopyImage.html 3KB
scoord3d.Ellipse.html 9KB
utils.html 10KB
scripts
linenumber.js 671B
prettify
prettify.js 13KB
lang-css.js 861B
Apache-License-2.0.txt 11KB
scoord3d.js.html 13KB
api.js.html 43KB
package.json 1KB
test
viewer.spec.js 14KB
test.js 340B
utils.spec.js 7KB
data
testCase1.json 105KB
testCase2.json 105KB
testCase3.json 105KB
mocha.opts 47B
LICENSE 1KB
package-lock.json 516KB
src
metadata.js 6KB
events.js 717B
utils.js 13KB
roi.js 3KB
scoord3d.js 11KB
dicom-microscopy-viewer.js 2KB
eventPublisher.js 877B
viewer.js 50KB
dictionary.js 344KB
.npmignore 39B
examples
simple_viewer
index.html 20KB
styles
main.css 6KB
scripts
metadata.js 3KB
dicomdict.js 845KB
index.html 1KB
structured_report
index.html 11KB
js
jquery.min.map 127KB
jquery.min.js 84KB
FileSaver.min.js 3KB
basic
index.html 3KB
events
index.html 12KB
.gitignore 953B
README.md 6KB
共 93 条
- 1
起名什么的最烦啦
- 粉丝: 14
- 资源: 4640
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0