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 相关文章推荐
jQuery :first选择器使用介绍
Aug 09 Javascript
使用jQuery避免鼠标双击的解决方案
Aug 21 Javascript
使用delegate方法为一个tr标签加一个链接
Jun 27 Javascript
jquery设置表单元素为不可用的简单代码
Jul 04 Javascript
vue.js指令v-model实现方法
Dec 05 Javascript
js 获取图像缩放后的实际宽高,位置等信息
Mar 07 Javascript
微信小程序教程系列之视图层的条件渲染(10)
Apr 19 Javascript
详解Node.js 命令行程序开发教程
Jun 07 Javascript
纯js实现的积木(div层)拖动功能示例
Jul 19 Javascript
JavaScript事件委托原理与用法实例分析
Jun 07 Javascript
vue-cli3.X快速创建项目的方法步骤
Nov 14 Javascript
Vue.Draggable实现交换位置
Apr 07 Vue.js
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入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
PHP levenshtein()函数用法讲解
2019/03/08 PHP
js实现页面转发功能示例代码
2013/08/05 Javascript
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
Vue.js每天必学之过渡与动画
2016/09/06 Javascript
javascript简易画板开发
2020/04/12 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
2017/02/22 Javascript
基于AngularJS实现的工资计算器实例
2017/06/16 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
Vuex 入门教程
2018/01/10 Javascript
jQuery创建折叠式菜单
2019/06/15 jQuery
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
python自然语言编码转换模块codecs介绍
2015/04/08 Python
在Python的web框架中配置app的教程
2015/04/30 Python
Python实现统计单词出现的个数
2015/05/28 Python
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
用Python实现数据的透视表的方法
2018/11/16 Python
Django 对IP访问频率进行限制的例子
2019/08/30 Python
python如果快速判断数字奇数偶数
2019/11/13 Python
为什么黑客都用python(123个黑客必备的Python工具)
2020/01/31 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
Python tkinter制作单机五子棋游戏
2020/09/14 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
两道JAVA笔试题
2016/09/14 面试题
预备党员思想汇报范文
2013/12/29 职场文书
剪枝的学问教学反思
2014/02/07 职场文书
村级个人对照检查材料
2014/08/22 职场文书
学习十八大的心得体会
2014/09/01 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书