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 相关文章推荐
JavaScript Event学习第二章 Event浏览器兼容性
Feb 07 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
Dec 28 Javascript
jQuery动画效果animate和scrollTop结合使用实例
Apr 02 Javascript
jquery.mousewheel实现整屏翻屏效果
Aug 30 Javascript
关于javascript中dataset的问题小结
Nov 16 Javascript
浅谈Angular中ngModel的$render
Oct 24 Javascript
详解jQuery停止动画——stop()方法的使用
Dec 14 Javascript
10道典型的JavaScript面试题
Mar 22 Javascript
Vue路由模块化配置的完整步骤
Aug 14 Javascript
JavaScript浅层克隆与深度克隆示例详解
Sep 01 Javascript
JS实现手风琴特效
Nov 08 Javascript
原生JS运动实现轮播图
Jan 02 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连接mssql数据库的几种方法
2013/02/21 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
2014/09/10 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
2016/10/18 PHP
js类中的公有变量和私有变量
2008/07/24 Javascript
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
浅析JS异步加载进度条
2016/05/05 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
浅谈vue.js中v-for循环渲染
2017/07/26 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
JavaScript中将值转换为字符串的五种方法总结
2019/06/06 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
微信小程序canvas实现签名功能
2021/01/19 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
深入理解Python中各种方法的运作原理
2015/06/15 Python
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
python实现拼图小游戏
2020/02/22 Python
python里反向传播算法详解
2020/11/22 Python
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
CSS3.0实现霓虹灯按钮动画特效的示例代码
2021/01/12 HTML / CSS
Wojas罗马尼亚网站:波兰皮鞋品牌
2018/11/01 全球购物
中专三年学习的个人自我评价
2013/12/12 职场文书
个人简历中自我评价
2014/02/11 职场文书
人事任命书格式
2014/06/05 职场文书
企业管理标语
2014/06/10 职场文书
学习雷锋标语
2014/06/25 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
深入浅析python3 依赖倒置原则(示例代码)
2021/07/09 Python
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS