cornerstoneWADOImageLoader-加载DICOM文件

使用文档

介绍

官方是这样子介绍简单概括的:用于通过HTTP请求WADO-URI或WADO-RS文件

WADO-URI与WADO-RS都是基于HTTP(或者HTTPS)协议之上的一种实现方式,WADO-URI采用的是HTTP的GET方法,通过URL配置参数的方式来完成DICOM数据的交互;WADO-RS同样采用HTTP的GET方法(当然后续扩展的数据上传采用的是HTTP的POST,这个后续会单独介绍);WADO-WS采用的是HTTP的POST方法,通过SOAP协议的方式来完成DICOM数据的交互操作。

主要特征

  • DICOM Part 10 images
  • 支持 WADO-URI 和 WADO-RS 文件
  • 支持多帧 DICOM 实例
  • 支持从 File 对象读取 DICOM 文件

示列

  1. git项目实例地址:cornerstoneWADOImageLoader/master/examples

  2. 与connerstone结合的示例地址:https://github.com/chafey/cornerstoneDemo

安装

有两种引入方式,可结合自己的实际情况引入即可。

  1. 静态资源引入,可根据自己的需要选择性引入即可。
  2. npm安装
  npm i cornerstone-wado-image-loader
  import cornerstoneWADOImageLoader
  from 'cornerstone-wado-image-loader/dist/cornerstoneWADOImageLoaderNoWebWorkers.bundle.min'

用法

注意:cornerstoneWADOImageLoader依赖以下外部库,这些库应该在它之前加载:

  • 为基石指定加载器:
  cornerstoneWADOImageLoader.external.cornerstone = cornerstone;
  • 在代码中配置web work 框架

web workers 配置参数

var config = {
  maxWebWorkers: navigator.hardwareConcurrency || 1,
  startWebWorkersOnDemand: true,
};
cornerstoneWADOImageLoader.webWorkerManager.initialize(config);

完整示例代码


import * as  cornerstone from "cornerstone-core";
import dicomParser from 'dicom-parser/dist/dicomParser.min'
import cornerstoneWADOImageLoader
  from 'cornerstone-wado-image-loader/dist/cornerstoneWADOImageLoaderNoWebWorkers.bundle.min'

cornerstoneWADOImageLoader.external.cornerstone = cornerstone;
cornerstoneWADOImageLoader.external.dicomParser = dicomParser;

cornerstoneWADOImageLoader.configure({
  beforeSend: function (xhr) {
    const apiKey = localStorage.getItem('token');
    if (apiKey) {
      xhr.setRequestHeader('token', apiKey);
    }
  }
});

var config = {
  maxWebWorkers: navigator.hardwareConcurrency || 1,//创建web worker的最大数量,默认为1
  startWebWorkersOnDemand: true, //默认情况下在需要时才创建web worker,如果希望在项目初始化时创建可设置为:false
  taskConfiguration: {
    decodeTask: {
      initializeCodecsOnStartup: false,//默认情况下web worker 不会在启动时初始化图片解码器,如果希望开启设置为:true
    }
  },
};
cornerstoneWADOImageLoader.webWorkerManager.initialize(config);

export default {
  name: "WADO-index",
  mounted() {
    const element = this.$refs.WADO_wrap
    cornerstone.enable(element);
    cornerstone.loadAndCacheImage('wadouri:https://assets.qiesou.com/data/DownloadImage.dcm').then(image => {
      const viewport = cornerstone.getDefaultViewportForImage(element, image);
      cornerstone.displayImage(element, image, viewport);
    })
  }
}

欢迎大家对我以上概述不准确地方及时作出指正,谢谢!

每天免费领取外卖卷,点外卖更便宜!WX搜索:“一块吃外卖 ” 或 扫↓↓↓↓↓

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值