vue展示dicom文件医疗系统的实现代码


Posted in Javascript onAugust 27, 2018

环境:vue、webpack、constone

资料来源及文件:https://github.com/GleasonBian/CornerstoneVueWADO

需要下载的模块:cornerstone-core、dicom-parser

需要下载的js文件:压缩文件可以忽略

vue展示dicom文件医疗系统的实现代码

显示组件:showDicom.vue

<template>
 <div class="dicom" ref="dicomImage"></div>
</template>
<script>
import * as cornerstone from "cornerstone-core";
import * as dicomParser from "dicom-parser";
// 不建议 npm 安装 cornerstoneWADOImageLoader 如果你做了 会很头疼
let cornerstoneWADOImageLoader = require('../../../static/dist/cornerstoneWADOImageLoader.js')
// import {cornerstoneWADOImageLoader} from "../../../static/dist/cornerstoneWADOImageLoader.js";
//指定要注册加载程序的基石实例
cornerstoneWADOImageLoader.external.cornerstone = cornerstone;
//配置 webWorker (必须配置)
//注意这里的路径问题 如果路径不对 cornerstoneWADOImageLoaderWebWorker 会报错 index.html Uncaught SyntaxError: Unexpected token <
var config = {
 webWorkerPath: "/static/dist/cornerstoneWADOImageLoaderWebWorker.js",
 taskConfiguration: {
 decodeTask: {
  codecsPath: "/static/dist/cornerstoneWADOImageLoaderCodecs.js"
 }
 }
};
cornerstoneWADOImageLoader.webWorkerManager.initialize(config);
export default {
 name: 'previewDicom',
 props: {
  imageId: {
   type: String,
   required: true
  }
 },
 data () {
  return {
  }
 },
 // watch:{
 // imageId(newValue,oldValue){
 //  var url = `wadouri:${this.imageId}`;
 //  this.loadAndViewImage(url);
 // } 
 // },
 mounted() {
  var url = `wadouri:${this.imageId}`;
  this.loadAndViewImage(url);
 },
 methods: {
  loadAndViewImage(imageId) {
   //找到 要放置 Dicom Image 的元素
   // var element = document.getElementById("dicomImage");
   console.log(1334);
   let element = this.$refs.dicomImage
   cornerstone.enable(element)
   // cornerstone.loadAndCacheImage 函数 负责加载图形 需要 图像地址 imageId
   cornerstone.loadAndCacheImage(imageId).then(
    function(image) {
     var viewport = cornerstone.getDefaultViewportForImage(element, image);
     cornerstone.displayImage(element, image, viewport);
    },
    function(err) {
     console.error(err)
    }
   );
  } 
 }
}
</script>
<style scoped>
.dicom{
 height: 100%;
}
</style>

引入组件,注册,使用:

<div class="son" v-for="(item,key) in dicomList" :key="key" @click="imgClcik(item.url)">
 <preview-dicom :imageId="item.url"></preview-dicom>
 </div>
dicomList:[
  {
   url:'http://127.0.0.1/testDICOM/CTStudy/3.719KB.DCM',
  },
  {
   url:'http://127.0.0.1/testDICOM/CTStudy/3.719KB.DCM',
  },
  {
   url:'http://127.0.0.1/testDICOM/CTStudy/test.dcm',
  },
  {
   url:'http://127.0.0.1/testDICOM/CTStudy/1.5191KB.DCM',
  },
  {
   url:'http://127.0.0.1/testDICOM/CTStudy/1.5191KB.DCM',
  },
  {
   url:'http://127.0.0.1/testDICOM/CTStudy/1.5191KB.DCM',
  }
],

显示结果:

vue展示dicom文件医疗系统的实现代码

总结

以上所述是小编给大家介绍的vue展示dicom文件医疗系统的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
从sohu弄下来的flash中展示图片的代码
Apr 27 Javascript
浅谈原生JS实现jQuery的animate()动画示例
Mar 08 Javascript
react开发中如何使用require.ensure加载es6风格的组件
May 09 Javascript
react-router4 嵌套路由的使用方法
Jul 24 Javascript
Vue.js简易安装和快速入门(第二课)
Oct 17 Javascript
layui点击导航栏刷新tab页的示例代码
Aug 14 Javascript
webpack4 SCSS提取和懒加载的示例
Sep 03 Javascript
微信小程序新手教程之页面打开数量限制
Mar 03 Javascript
Node.js 路由的实现方法
Jun 05 Javascript
Vue 中获取当前时间并实时刷新的实现代码
May 12 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
Aug 06 Javascript
区分vue-router的hash和history模式
Oct 03 Javascript
vue中子组件的methods中获取到props中的值方法
Aug 27 #Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
Aug 27 #Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
Aug 27 #Javascript
vue.js中toast用法及使用toast弹框的实例代码
Aug 27 #Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
Aug 27 #Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
Aug 27 #Javascript
vue监听input标签的value值方法
Aug 27 #Javascript
You might like
php文本转图片自动换行的方法
2013/03/13 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
php防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
Laravel推荐使用的十个辅助函数
2019/05/10 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
asp.net中oracle 存储过程(图文)
2015/08/12 Javascript
JSP防止网页刷新重复提交数据的几种方法
2016/11/19 Javascript
详解使用vuex进行菜单管理
2017/12/21 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
2019/04/10 Javascript
微信小程序实现签字功能
2019/12/23 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
[03:22]DOTA2超级联赛专访单车:找到属于自己的英雄
2013/06/08 DOTA
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
[56:13]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第一场 1月10日
2021/03/11 DOTA
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
python中__call__内置函数用法实例
2015/06/04 Python
深入解析Python中的descriptor描述器的作用及用法
2016/06/27 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
2020/04/17 Python
Python基于当前时间批量创建文件
2020/05/07 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
2020/07/09 Python
华润集团网上药店:健一网
2016/09/19 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
小学生环保演讲稿
2014/04/25 职场文书
一篇带你入门Java垃圾回收器
2021/06/16 Java/Android
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers