java wado_巫瑜/cornerstoneWADOImageLoader

cornerstone WADO Image Loader

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)

Troubleshooting

Having problems viewing your images with cornerstonWADOImageLoader? Check out the

troubleshooting guide.

Live Examples

You can also see it in action with the

cornerstoneDemo application.

Install

Get a packaged source file:

or from bower:

bower install cornerstoneWADOImageLoader

Usage

The cornerstoneWADOImageLoader depends on the following external libraries:

For JPEG 2000 support, you must load one of the following codecs (see below for more information):

For JPEG-LS support, you must load the following codec:

All of these libraries should be loaded before the cornerstoneWADOImageLoader.js. See the source code

for the examples for how

these codecs are loaded.

The image loader prefix is 'wadouri' (note that the prefix dicomweb is also supported but is deprecated and will eventually

be removed). Here are some example imageId's:

absolute url:

wadouri:http://cornerstonetech.org/images/ClearCanvas/USEcho/IM00001

relative url:

wadouri:/images/ClearCanvas/USEcho/IM00001

WADO-URI url:

wadouri:http://localhost:3333/wado?requestType=WADO&studyUID=1.3.6.1.4.1.25403.166563008443.5076.20120418075541.1&seriesUID=1.3.6.1.4.1.25403.166563008443.5076.20120418075541.2&objectUID=1.3.6.1.4.1.25403.166563008443.5076.20120418075557.1&contentType=application%2Fdicom&transferSyntax=1.2.840.10008.1.2.1

Orthanc file endpoint URL:

wadouri:http://localhost:8042/instances/8cce70aa-576ad738-b76cb63f-caedb3c7-2b213aae/file

Note that the web server must support Cross origin resource sharing

or the image will fail to load. If you are unable to get CORS enabled on the web server that you are loading DICOM P10

instances from, you can use a reverse proxy. Here is a

simple Node.js based http-proxy that adds CORS headers

that you might find useful.

JPEG 2000 Support

CornerstoneWADOImageLoader supports JPEG2000 via one of two codecs each of which have different levels of performance

and support for JPEG2000:

OpenJPEG

This is the recommended codec as it is based on the OpenJPEG

project which is fairly complete and actively maintained. If you have problems decoding a JPEG2000 file, you should

seek out support from the OpenJPEG community. Special thanks to @jpambrun for creating the EMSCRIPTEN build.

PDF.js based

This codec is based on the pdf.js project with fixes/enhancements

made by @jpambrun specific to medical imaging. It generally runs faster than the OpenJPEG codec, but

there are several known issues that may never be fixed.

Performance Comparison

iMac Retina 5k Late 2014 4GHz Intel Core i7 Chrome 50.0.2661.102 (64 bit)

Image

OpenJPEG

PDF.js

NM1_J2KR

233 ms

103 ms

CT1_J2KR

424 ms

147 ms

RG1_J2KR

6058 ms

2311 ms

MG1_J2KR

19312 ms

7380 ms

iMac Retina 5k Late 2014 4GHz Intel Core i7 FireFox 46.0.1

Image

OpenJPEG

PDF.js

NM1_J2KR

240 ms

102 ms

CT1_J2KR

185 ms

91 ms

RG1_J2KR

3445 ms

1594 ms

MG1_J2KR

10295 ms

14207 ms

iMac Retina 5k Late 2014 4GHz Intel Core i7 Safari 9.1.1

Image

OpenJPEG

PDF.js

NM1_J2KR

64 ms

56 ms

CT1_J2KR

115 ms

94 ms

RG1_J2KR

2367 ms

1567 ms

MG1_J2KR

6496 ms

18547 ms

Key Features

Implements a cornerstone ImageLoader for DICOM P10 Instances via a HTTP get request.

Can be used with a WADO server

Can be used with Orthanc's file endpoint

Can be used with any server that returns DICOM P10 instances via HTTP GET

Supports many popular transfer syntaxes and photometric interpretations see full list

Build System

This project uses grunt to build the software.

Pre-requisites:

grunt-cli

npm install -g grunt-cli

bower

npm install -g bower

Common Tasks

Update dependencies (after each pull):

npm install

bower install

Running the build:

grunt

Automatically running the build and unit tests after each source change:

grunt watch

Backlog

Support images with Pixel Padding?

Mask out burned in overlays?

Acknowledgements

gSquared for the JPEG lossy decoder, RLE and PALETTE_COLOR support

jpambrun and pdf.js for the JPEG 2000 decoder

jpambrun and OpenJPEG for another JPEG 2000 decoder

CharLS for JPEG-LS

FAQ

Why is this a separate library from cornerstone?

Mainly to avoid adding a dependency to cornerstone for the DICOM parsing library. While cornerstone is

intended to be used to display medical images that are stored in DICOM, cornerstone aims to simplify

the use of medical imaging and therefore tries to hide some of the complexity that exists within

DICOM. It is also desirable to support display of non DICOM images so a DICOM independent image model

makes sense.

Copyright

Copyright 2016 Chris Hafey chafey@gmail.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值